Como verificar as permissões de um diretório específico?


315

Eu sei que usando ls -l "directory/directory/filename"me diz as permissões de um arquivo. Como faço o mesmo em um diretório?

Obviamente, eu poderia usar ls -lno diretório mais alto da hierarquia e apenas rolar até encontrá-lo, mas é uma dor. Se eu usar ls -lno diretório real, ele fornecerá as permissões / informações dos arquivos dentro dele, e não do diretório real.

Eu tentei isso no terminal do Mac OS X 10.5 e Linux (Ubuntu Gutsy Gibbon), e é o mesmo resultado. Existe algum tipo de sinalizador que devo usar?

Respostas:


418

Aqui está a resposta curta:

$ ls -ld directory

Aqui está o que ele faz:

-d, --directory
    list directory entries instead of contents, and do not dereference symbolic links

Você pode estar interessado em páginas de manual . É daí que todas as pessoas aqui obtêm respostas legais.

consulte as páginas de manual online


24
Eu acho que a página de manual está mal redigida. Vasculhei cinco vezes antes de começar a pesquisar no Google. Eu não quero o diretório 'entradas' (coisa 'inserida' nos diretórios? Como seus arquivos e subdiretórios?) Nem seu 'conteúdo' (eles soam como o mesmo conceito para mim), quero os próprios diretórios .
user151841

2
é terminologia completamente padrão, os diretórios próprios são as entradas de diretório, ou seja, as entradas no sistema de arquivos
alldayremix

33
Pode ser uma terminologia padrão, mas para alguém que provavelmente faria essa pergunta, provavelmente é um jargão confuso.
CatShoes

60

Você também pode usar o statcomando se desejar informações detalhadas em um arquivo / diretório. (Eu preciso disso quando você diz que está aprendendo ^^)


4
status irá mostrar-lhe entre um monte de coisas permissões: (0755 / drwxr-xr-x)
ZZAPPER

2
isso é útil para que você possa ver também o formato das permissões numéricas
desembarcou em

2
"status -c% um diretório" que vai mostrar em forma numérica
Nerius Jok

2
O correspondente no macOS é stat -f %A dir_or_filename.
iled 23/08/19

12

Há também

getfacl /directory/directory/

que inclui ACL

Uma boa introdução ao Linux ACL aqui


10

Em GNU / Linux, tente usar ls, namei, getfacl, stat.

Para Dir

[flying@lempstacker ~]$ ls -ldh /tmp
drwxrwxrwt. 23 root root 4.0K Nov  8 15:41 /tmp
[flying@lempstacker ~]$ namei -l /tmp
f: /tmp
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
[flying@lempstacker ~]$ getfacl /tmp
getfacl: Removing leading '/' from absolute path names
# file: tmp
# owner: root
# group: root
# flags: --t
user::rwx
group::rwx
other::rwx

[flying@lempstacker ~]$ 

ou

[flying@lempstacker ~]$ stat -c "%a" /tmp
1777
[flying@lempstacker ~]$ stat -c "%n %a" /tmp
/tmp 1777
[flying@lempstacker ~]$ stat -c "%A" /tmp
drwxrwxrwt
[flying@lempstacker ~]$ stat -c "%n %A" /tmp
/tmp drwxrwxrwt
[flying@lempstacker ~]$

Para arquivo

[flying@lempstacker ~]$ ls -lh /tmp/anaconda.log
-rw-r--r-- 1 root root 0 Nov  8 08:31 /tmp/anaconda.log
[flying@lempstacker ~]$ namei -l /tmp/anaconda.log
f: /tmp/anaconda.log
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
-rw-r--r-- root root anaconda.log
[flying@lempstacker ~]$ getfacl /tmp/anaconda.log
getfacl: Removing leading '/' from absolute path names
# file: tmp/anaconda.log
# owner: root
# group: root
user::rw-
group::r--
other::r--

[flying@lempstacker ~]$

ou

[flying@lempstacker ~]$ stat -c "%a" /tmp/anaconda.log
644
[flying@lempstacker ~]$ stat -c "%n %a" /tmp/anaconda.log
/tmp/anaconda.log 644
[flying@lempstacker ~]$ stat -c "%A" /tmp/anaconda.log
-rw-r--r--
[flying@lempstacker ~]$ stat -c "%n %A" /tmp/anaconda.log
/tmp/anaconda.log -rw-r--r--
[flying@lempstacker ~]$

10

Diretório $ ls -ld

(ls) indica lista de arquivos e diretório.

(-) indica que o arquivo é regular.

(l) indica listagem longa.

(d) indica que o arquivo é um diretório, que é basicamente um tipo especial de arquivo.



5

Além das postagens acima, gostaria de ressaltar que "man ls" fornecerá um bom manual sobre o comando "ls" (List ".

Além disso, o uso de ls -la myFile listará e mostrará todos os fatos sobre esse arquivo.


5

No OS X você pode usar:

ls -lead

A opção e mostra ACLs. E as ACLs são muito importantes para saber quais são as permissões exatas no seu sistema.


2

ls -lstr

Isso mostra a visualização normal do ls com permissões e user: group também

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.