Wie zeigen Sie Dateiberechtigungen an?

79

Ich möchte wissen, wie die Berechtigungen einer bestimmten Datei angezeigt werden. Welchen Befehl soll ich in das Terminal eingeben? Ich möchte es jedoch nicht ändern.

ZENTAUR
quelle
Wenn dies kein Duplikat ist, markieren Sie dies bitte als Geschützt. Dies ist eine wichtige Frage.
EvilMinion

Antworten:

110

Wenn Sie die Berechtigung einer Datei anzeigen möchten, können Sie den ls -l /path/to/fileBefehl verwenden.

Zum Beispiel

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


Was bedeutet das ?

Stellt zunächst -eine reguläre Datei dar. Es gibt Ihnen einen Hinweis auf die Art des Objekts, das es ist. Es kann folgende Werte annehmen.

  • d (Verzeichnis)
  • c (Zeichengerät)
  • l (symlink)
  • p (Named Pipe)
  • s (Buchse)
  • b (Blockgerät)
  • D (Tür)
  • - (reguläre Datei)


rStellt die Leseberechtigung dar.
wStellt eine Schreibberechtigung und
xeine ausführbare Berechtigung dar.

Erste Kombination von rwxstellt die Erlaubnis für den Eigentümer .
Zweite Kombination von rwxrepräsentiert die Berechtigung für die Gruppe .
Dritte Kombination von rwxsteht für die Erlaubnis für den anderen Teil der Datei.


Oktalnotation

Die Dateizulassung kann auch in oktaler Notation dargestellt werden.
In oktaler Notation

Lesen oder rwird durch 4 dargestellt,
Schreiben oder wwird durch 2 dargestellt.
Ausführen xwird durch 1 dargestellt.

Die Summe dieser drei wird verwendet, um die Erlaubnis darzustellen.

stat Befehl kann verwendet werden, um Dateiberechtigungen in oktaler Notation anzuzeigen

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

Zum Beispiel

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

Hier sieht man

Für den Besitzer ist es 4 + 2 + 1 = 7 (111 in binär)
Für die Gruppe ist es 4 + 0 + 1 = 5 (101 in binär) und
für die anderen ist es 4 + 0 + 1 = 5 (101 in binär).

g_p
quelle
18

Sie können entweder lange Auflistung verwenden:

ls -l [filename]

Oder stat:

stat [filename]

Stat ist umfassender; Es zeigt Ihnen die Zugriffs-, Änderungs- und Änderungszeiten sowie die Inode- und Größeninformationen an, die für Sie möglicherweise nützlich sind oder nicht.

Viv Diwakar
quelle
Hinweis: "es kommt darauf an", dass der Befehl Standardberechtigungen anzeigt. Ihr Zugriff kann jedoch auch auf andere Weise eingeschränkt werden. Acl, apparmor und selinux können alle den Zugriff außerhalb der von ls -l angezeigten beschränken.
Panther
7

Unabhängig davon, ob Sie tatsächlich ACL-Berechtigungen verwenden, können Sie mit dem aclinstallierten Paket getfacl <path>eine anständige Aufschlüsselung der Berechtigungen für diese Datei erhalten.

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

Wenn Sie tun ACL - Berechtigungen verwenden, wird es Sie zu Berechtigungen sagen , dass lsund statkann einfach nicht.

$ 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
quelle