Jak przeglądasz uprawnienia do plików?

79

Chcę wiedzieć, jak zobaczyć uprawnienia określonego pliku. Które polecenie powinienem wpisać w terminalu? Nie chcę tego jednak zmieniać.

CENTAUR
źródło
Jeśli nie jest to duplikat, oznacz to jako Chronione. To ważne pytanie.
evilMinion

Odpowiedzi:

110

Jeśli chcesz zobaczyć uprawnienia do pliku, możesz użyć ls -l /path/to/filepolecenia.

Na przykład

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


Co to znaczy ?

Najpierw -reprezentuje zwykły plik. Daje ci wskazówkę co do typu obiektu. Może mieć następujące wartości.

  • d (katalog)
  • c (urządzenie znakowe)
  • l (dowiązanie symboliczne)
  • p (nazwana rura)
  • s (gniazdo)
  • b (urządzenie blokowe)
  • D (drzwi)
  • - (zwykły plik)


rreprezentuje uprawnienie do odczytu.
wreprezentuje uprawnienie do zapisu i
xreprezentuje uprawnienie do pliku wykonywalnego.

Pierwsza kombinacja rwxreprezentuje uprawnienia właściciela .
Druga kombinacja rwxreprezentuje uprawnienia dla grupy .
Trzecia kombinacja rwxreprezentuje uprawnienia dla drugiego pliku.


Notacja ósemkowa

Zezwolenie na plik może być również reprezentowane w notacji ósemkowej.
W notacji ósemkowej

Odczyt lub rjest reprezentowany przez 4,
Zapis lub wjest reprezentowany przez 2
Wykonanie xjest reprezentowane przez 1.

Suma tych trzech wartości służy do reprezentowania pozwolenia.

stat Komendy można użyć do wyświetlenia uprawnień do pliku w notacji ósemkowej

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

Na przykład

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

Tutaj możesz zobaczyć

Dla właściciela jest to 4 + 2 + 1 = 7 (111 w systemie binarnym)
W przypadku grupy jest to 4 + 0 + 1 = 5 (101 w systemie binarnym), a
dla pozostałych 4 + 0 + 1 = 5 (101 w systemie binarnym).

g_p
źródło
18

Możesz użyć długiej listy:

ls -l [filename]

Lub stat:

stat [filename]

Stat jest bardziej wszechstronny; pokazuje czas dostępu, modyfikacji i zmiany, a także informacje i rozmiar i-węzła, które mogą być przydatne dla Ciebie.

Viv Diwakar
źródło
Uwaga: „to zależy”, to polecenie pokaże standardowe uprawnienia, jednak twój dostęp może być ograniczony innymi sposobami, acl, apparmor, a selinux może ograniczyć dostęp poza tym, co pokazuje ls -l.
Panther
7

Bez względu na to, czy faktycznie korzystasz z uprawnień ACL, jeśli masz aclzainstalowany pakiet, możesz użyć go, getfacl <path>aby uzyskać całkiem przyzwoity podział uprawnień do tego pliku.

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

Jeśli zrobić używać uprawnień ACL, to będzie powiedzieć o uprawnieniach, które lsi stattak nie mogę.

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