Como você vê as permissões de arquivo?

79

Quero saber como ver as permissões de um arquivo específico. Qual comando devo digitar no terminal? No entanto, não quero mudar isso.

CENTAURO
fonte
Se isso não for uma duplicata, marque-a como Protegida. Esta é uma importante questão.
evilMinion 22/07

Respostas:

111

Se você deseja ver a permissão de um arquivo, pode usar o ls -l /path/to/filecomando

Por exemplo

   ls -l acroread 
   -rwxr-xr-x 1 10490 floppy 17242 May  8  2013 acroread


O que isto significa ?

Primeiro -representa um arquivo regular. Ele fornece uma dica do tipo de objeto que é. Pode ter os seguintes valores.

  • d (diretório)
  • c (dispositivo de caractere)
  • l (link simbólico)
  • p (pipe nomeado)
  • s (soquete)
  • b (dispositivo de bloco)
  • D (porta)
  • - (arquivo regular)


rrepresenta permissão de leitura.
wrepresenta permissão de gravação e
xrepresenta permissão executável.

A primeira combinação de rwxrepresenta permissão para o proprietário .
A segunda combinação de rwxrepresenta permissão para o grupo .
A terceira combinação de rwxrepresenta permissão para o outro arquivo.


Notação octal

A permissão do arquivo também pode ser representada em notação octal.
Em notação octal

Ler ou ré representado por 4,
Escrever ou wé representado por 2
Executar xé representado por 1.

A soma desses três é usada para representar a permissão.

stat O comando pode ser usado para visualizar a permissão de arquivo na notação octal

  stat -c "%a %n" /path/of/file

Por exemplo

   stat -c "%a %n" acroread 
   755 acroread

Aqui você pode ver

Para o proprietário , é 4 + 2 + 1 = 7 (111 em binário).
Para o grupo , é 4 + 0 + 1 = 5 (101 em binário) e,
para outros , é 4 + 0 + 1 = 5 (101 em binário).

g_p
fonte
19

Você pode usar uma lista longa:

ls -l [filename]

Ou stat:

stat [filename]

Stat é mais abrangente; mostra o acesso, modifica e altera os tempos, bem como informações de inode e tamanho, que podem ou não ser úteis para você.

Viv Diwakar
fonte
Nota: "depende", esse comando mostrará permissões padrão, no entanto, seu acesso pode ser limitado por outros meios, acl, apparmor e selinux podem limitar o acesso fora do que é mostrado por ls -l.
Pantera
7

Independentemente de você realmente usar permissões ACL, se você tiver o aclpacote instalado, poderá usá getfacl <path>-lo para obter uma análise bastante decente das permissões nesse arquivo.

$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
group::---
other::---

Se você fazer usar permissões de ACL, ele vai dizer-lhe sobre permissões lse statsimplesmente não pode.

$ sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---
Oli
fonte