Jak sprawdzić uprawnienia do określonego katalogu?


315

Wiem, że używanie ls -l "directory/directory/filename"mówi mi o uprawnieniach do pliku. Jak zrobić to samo w katalogu?

Mógłbym oczywiście użyć ls -lkatalogu wyżej w hierarchii, a następnie przewijać, aż go znajdę, ale to taki ból. Jeśli używam ls -lrzeczywistego katalogu, daje on uprawnienia / informacje o plikach w nim zawartych, a nie o rzeczywistym katalogu.

Próbowałem tego w terminalu zarówno Mac OS X 10.5, jak i Linux (Ubuntu Gutsy Gibbon), i to ten sam wynik. Czy powinienem użyć jakiejś flagi?

Odpowiedzi:


418

Oto krótka odpowiedź:

$ ls -ld directory

Oto, co robi:

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

Możesz być zainteresowany stronami . To tutaj wszyscy ludzie tutaj otrzymają swoje miłe odpowiedzi.

odnoszą się do stron podręcznika online


24
Myślę, że strona podręcznika jest źle sformułowana. Przeszukałem go pięć razy, zanim zacząłem googlować. Nie chcę „wpisów” katalogu (rzecz „wpisana” do katalogów? Podobnie jak ich plików i podkatalogów?) Ani ich „zawartości” (brzmią dla mnie jak ta sama koncepcja), chcę same katalogi .
user151841,

2
jest to całkowicie standardowa terminologia, same katalogi są pozycjami katalogu, tj. pozycjami w systemie plików
alldayremix

33
Może to być standardowa terminologia, ale dla kogoś, kto prawdopodobnie zadaje takie pytanie, jest to prawdopodobnie mylący żargon.
CatShoes

60

Możesz także użyć tego statpolecenia, jeśli chcesz uzyskać szczegółowe informacje na temat pliku / katalogu. (Dokładnie to, jak mówisz, uczysz się ^^)


4
statystyki pokażą Ci między innymi uprawnienia: (0755 / drwxr-xr-x)
zzapper

2
to poręczny, dzięki czemu można zobaczyć liczbowy formatu uprawnień, a także - TY
wylądował

2
„stat -c% a directory” pokaże to w sposób numeryczny
Nerius Jok

2
Odpowiedni w systemie macOS to stat -f %A dir_or_filename.
iled

12

Jest również

getfacl /directory/directory/

który obejmuje ACL

Dobre wprowadzenie do Linux ACL tutaj


10

W GNU / Linux, spróbuj użyć ls, namei, getfacl, stat.

Dla reż

[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 ~]$ 

lub

[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 ~]$

Do pliku

[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 ~]$

lub

[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 ~]$

9

Katalog $ ls -ld

(ls) wskazuje listę plików i katalogu.

(-) oznacza, że ​​plik jest zwykłym plikiem.

(l) oznacza długą listę.

(d) wskazuje, że plik jest katalogiem, który jest w zasadzie specjalnym rodzajem pliku.



5

Oprócz powyższych postów chciałbym zaznaczyć, że „man ls” da ci fajny podręcznik na temat polecenia „ls” (List).

Ponadto użycie ls -la myFile wyświetli i wyświetli wszystkie fakty dotyczące tego pliku.


5

W systemie OS X możesz użyć:

ls -lead

Opcja e pokazuje listy ACL. Listy ACL są bardzo ważne, aby wiedzieć, jakie są dokładne uprawnienia w systemie.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.