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

45

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

    
por CENTAUR 25.09.2014 / 18:42

3 respostas

71

Se você quiser ver a permissão de um arquivo, use o comando ls -l /path/to/file .

Por exemplo

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


O que isso significa?

Primeiro - representa um arquivo regular. Dá-lhe uma sugestão 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 normal)


r representa permissão de leitura.
w representa permissão de gravação e x representa permissão executável.

Primeira combinação de rwx representa permissão para o proprietário .
A segunda combinação de rwx representa permissão para o grupo . A terceira combinação de rwx representa permissão para o outro do arquivo.


Notação Octal

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

Ler ou r é representado por 4,
Escreva ou w é representado por 2
Execute x é representado por 1.

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

O comando

stat pode ser usado para exibir 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 proprietário é 4 + 2 + 1 = 7 (111 em binário)
Para grupo é 4 + 0 + 1 = 5 (101 em binário) e
Para outro é 4 + 0 + 1 = 5 (101 em binário).

    
por g_p 25.09.2014 / 19:17
14

Você pode usar uma listagem longa:

ls -l [filename]

ou stat:

stat [filename]

Stat é mais abrangente; Ele mostra o acesso, modifique e altere os horários, bem como as informações do Inode e do tamanho, que podem ou não ser úteis para você.

    
por Viv Diwakar 25.09.2014 / 18:48
5

Independentemente de você realmente usar as permissões de ACL, se você tiver o pacote acl instalado, poderá usar getfacl <path> para obter um detalhamento decente de permissões nesse arquivo.

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

Se você fizer usar as permissões da ACL, ele informará sobre as permissões que ls e stat simplesmente não podem.

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