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?

użytkownik42228
źródło

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

Johannes Schaub - litb
źródło
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ę ^^)

Piotr Lesnicki
źródło
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

Taylan
źródło
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 ~]$

źródło
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.

Mehul Jariwala
źródło
7

Wyświetla pliki z uprawnieniami

stat -c '%a - %n' directory/*
Brandon Aguilar
źródło
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.

Filip Ekberg
źródło
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.

Tony Topper
źródło
2

ls -lstr

Pokazuje normalny widok ls z uprawnieniami i user: group

użytkownik2201302
źródło