Grundlegendes zu UNIX-Berechtigungen und Dateitypen

68

Ich habe mich chmodbis heute noch nie so richtig aufgeregt . Ich folgte einem Tutorial, das mir eine große Sache erklärte.

Ich habe zum Beispiel gelesen, dass Sie drei verschiedene Berechtigungsgruppen haben:

  • Besitzer ( u)
  • group ( g)
  • jeder ( o)

Aufgrund dieser drei Gruppen weiß ich jetzt, dass:

  • Wenn die Datei dem Benutzer gehört, bestimmen die Benutzerberechtigungen den Zugriff.
  • Wenn die Gruppe der Datei mit der Gruppe des Benutzers identisch ist, bestimmt die Gruppenberechtigung den Zugriff.
  • Wenn der Benutzer nicht der Dateieigentümer und nicht in der Gruppe ist, wird die andere Berechtigung verwendet.

Ich habe auch erfahren, dass Sie die folgenden Berechtigungen haben:

  • read ( r)
  • schreibe ( w)
  • execute ( x)

Ich habe ein Verzeichnis erstellt, um mein neu erworbenes Wissen zu testen:

mkdir test

Dann habe ich ein paar Tests gemacht:

chmod u+rwx test/
# drwx------
chmod g+rx test/
# drwxr-x---
chmod u-x test/
# drw-r-x---

Nach einigem Herumalbern habe ich endlich den Dreh raus chmodund die Art und Weise, wie Sie die Berechtigung mit diesem Befehl festlegen.


Aber...

Ich habe noch ein paar Fragen:

  • Wofür steht der dam Start?
  • Wie lautet der Name und die Verwendung des enthaltenden Slots und welche anderen Werte können darin enthalten sein?
  • Wie kann ich es ein- und ausschalten?
  • Was ist der Wert dafür d? (Da Sie nur 7 = 4 + 2 + 1 7 = 4 + 2 + 1 7 = 4 + 2 + 1 haben)
  • Warum verwenden Benutzer manchmal, 0777anstatt 777ihre Berechtigungen festzulegen?

Da ich aber nicht mehrere Fragen stellen sollte, werde ich versuchen, es in einer Frage zu stellen.

Wofür steht in einem UNIX-basierten System wie allen Linux-Distributionen in Bezug auf die Berechtigungen der erste Teil ( d) und wozu dient dieser Teil der Berechtigungen?

Peter
quelle
3
Bitte versuchen Sie das nächste Mal, nur eine Frage zu stellen. Mehrere Fragen sind normalerweise schlecht für die Referenzierung und werden fast nie alle gleichzeitig beantwortet.
Kiwy,
1
@ Kiwy Es tut mir leid, ich dachte, ich würde es so machen, weil es das gleiche Thema betrifft. Wenn Sie möchten, können Sie einen besseren Titel für meine Frage vorschlagen, um die Referenz zu verbessern.
Peter
1
Der Wert für das "d" ist übrigens 040000 - er befindet sich in Header-Dateien unter dem Namen S_IFDIR. Sie verwenden es nicht, wenn Sie stat()den Dateimodus einstellen, aber die Funktion gibt tatsächlich den Wert 040750 für zurück drwxr-x---.
Random832
2
@jamesqf Nun, da ich verstehe, wie die Oktalcodes zugeordnet sind, ist es für mich einfacher, darüber nachzudenken.
HalosGhost
4
@ Peter: Es gibt keine dummen Fragen - nur dumme, die nicht lernen, weil sie Angst haben zu fragen.
Margarciaisaia

Antworten:

117

Ich werde Ihre Fragen in drei Teilen beantworten: Dateitypen, Berechtigungen und Anwendungsfälle für die verschiedenen Formen von chmod.

Datentypen

Das erste Zeichen in der ls -lAusgabe steht für den Dateityp. dbedeutet, es ist ein Verzeichnis. Es kann nicht festgelegt oder deaktiviert werden, es hängt davon ab, wie die Datei erstellt wurde. Die vollständige Liste der Dateitypen finden Sie in der ls-Dokumentation . Diejenigen, denen Sie wahrscheinlich begegnen, sind

  • -: "Normale" Datei, erstellt mit jedem Programm, das eine Datei schreiben kann
  • b: Spezielle Datei blockieren, in der Regel Festplatten- oder Partitionsgeräte, mit denen erstellt werden können mknod
  • c: Zeichenspezialdatei, kann auch mit erstellt werden mknod(siehe /devBeispiele)
  • d: Verzeichnis, kann mit erstellt werden mkdir
  • l: symbolischer Link, kann mit erstellt werden ln -s
  • p: named pipe, kann mit erstellt werden mkfifo
  • s: Socket, kann mit erstellt werden nc -U
  • D: door , erstellt von einigen Serverprozessen unter Solaris / openindiana.

Berechtigungen

chmod 0777wird verwendet, um alle Berechtigungen in einer chmodAusführung festzulegen, anstatt Änderungen mit u+usw. zu kombinieren . Jede der vier Ziffern ist ein Oktalwert, der eine Reihe von Berechtigungen darstellt:

  • suid, sgidUnd „klebrig“ (siehe unten)
  • Benutzerberechtigungen
  • Gruppenberechtigungen
  • "Andere" Berechtigungen

Der Oktalwert wird als Summe der Berechtigungen berechnet:

  • "Lesen" ist 4
  • "Schreiben" ist 2
  • "Execute" ist 1

Für die erste Ziffer:

  • suidist 4; Binärdateien mit diesem Bit werden (in der Regel root) als Eigentümerbenutzer ausgeführt.
  • sgidist 2; Binärdateien mit diesem Bit-Set werden als Eigentümergruppe ausgeführt (dies wurde für Spiele verwendet, damit Highscores gemeinsam genutzt werden können. In Kombination mit Sicherheitslücken in den Spielen ist dies jedoch häufig ein Sicherheitsrisiko.) Dateien, die in Verzeichnissen mit diesem Bit-Set erstellt wurden, gehören zu den Standardmäßig die Eigentümergruppe des Verzeichnisses (dies ist praktisch, um freigegebene Ordner zu erstellen)
  • "Sticky" (oder "eingeschränktes Löschen") ist 1; Dateien in Verzeichnissen mit diesem Bit können nur von ihrem Eigentümer, dem Eigentümer des Verzeichnisses oder gelöscht werden root(siehe /tmpfür ein allgemeines Beispiel hierfür).

Einzelheiten finden Sie auf der chmodManpage . Beachten Sie, dass ich andere Sicherheitsfunktionen ignoriere, die die Berechtigungen der Benutzer für Dateien ändern können (SELinux, Datei-ACLs ...).

Spezielle Bits werden je nach Dateityp (reguläre Datei oder Verzeichnis) und dem zugrunde liegenden System unterschiedlich behandelt. (Dies wird in der chmodManpage erwähnt.) Auf dem System, das ich zum Testen verwendet habe (mit coreutils8.23 auf einem ext4Dateisystem mit Linux-Kernel 3.16.7-ckt2), ist das Verhalten wie folgt. Bei einer Datei werden die Spezialbits immer gelöscht, es sei denn, dies chmod 0777ist ausdrücklich festgelegt, chmod 777und beide Befehle löschen die Spezialbits und erteilen jedem die vollständigen Berechtigungen für die Datei. Bei einem Verzeichnis werden die Spezialbits mit der vierstelligen numerischen Form niemals vollständig gelöscht, was in Wirklichkeit chmod 0777auch äquivalent zu istchmod 777aber es ist irreführend, da einige der speziellen Bits unverändert bleiben. (Eine frühere Version dieser Antwort bekam das falsch.) So löschen Sie spezielle Bits auf Verzeichnisse , die Sie verwenden müssen u-s, g-sund / oder o-texplizit oder einen negativen numerischen Wert angeben, so chmod -7000wird klar , alle speziellen Bits in einem Verzeichnis.

In ls -lAusgang suid, sgidund „klebrig“ anstelle des erscheinen xEintrag: suidist soder Sanstelle des Benutzers x, sgidist soder Sanstelle der Gruppe x, und „klebrig“ ist toder Tstatt anderer x. Ein Kleinbuchstabe zeigt an, dass sowohl das Spezialbit als auch das ausführbare Bit gesetzt sind. Ein Großbuchstabe zeigt an, dass nur das Spezialbit gesetzt ist.

Die verschiedenen Formen von chmod

Aufgrund des oben beschriebenen Verhaltens kann die Verwendung der vollständigen vier Ziffern chmodverwirrend sein (zumindest stellte sich heraus, dass ich verwirrt war). Dies ist nützlich, wenn Sie sowohl spezielle Bits als auch Berechtigungsbits festlegen möchten. Andernfalls werden die Bits gelöscht, wenn Sie eine Datei bearbeiten, und beibehalten, wenn Sie ein Verzeichnis bearbeiten. So wird chmod 2750sichergestellt, dass Sie mindestens sgidund genau erhalten u=rwx,g=rx,o=; aber chmod 0750nicht unbedingt die speziellen Bits löschen.

Die Verwendung von numerischen Modi anstelle von Textbefehlen ( [ugo][=+-][rwxXst]) ist wahrscheinlich eher eine Gewohnheit und das Ziel des Befehls. Wenn Sie mit numerischen Modi vertraut sind, ist es oft einfacher, den vollständigen Modus auf diese Weise anzugeben. und es ist nützlich, sich Berechtigungen mit numerischen Modi vorstellen zu können, da sie von vielen anderen Befehlen verwendet werden können ( install, mknod...).

Einige Textvarianten können sich als nützlich erweisen: Wenn Sie lediglich sicherstellen möchten, dass eine Datei von jedem ausgeführt werden kann, chmod a+xwird dies unabhängig von den anderen Berechtigungen durchgeführt. Ebenso +Xfügt die Erlaubnis nur ausgeführt , wenn einer der Ausführungsberechtigungen bereits eingestellt ist oder die Datei ist ein Verzeichnis; Dies kann nützlich sein, um Berechtigungen global wiederherzustellen, ohne dass Dateien in Sonderfällen oder Verzeichnisse erforderlich sind. Dies chmod -R ug=rX,u+w,o=entspricht dem Anwenden chmod -R 750auf alle Verzeichnisse und ausführbaren Dateien sowie chmod -R 640auf alle anderen Dateien.

Stephen Kitt
quelle
Obwohl die anderen Antworten ziemlich gut waren, haben Sie wirklich einige Zeit damit verbracht, diese Frage zu beantworten. Vielen Dank.
Peter
Ein * BSD-Verzeichnisse verhalten sich sgidunabhängig von ihrem tatsächlichen Wert so, als ob ihr Bit immer gesetzt wäre. Unter FreeBSD kann das suidBit so konfiguriert werden, dass es sich analog sgidverhält (dh Dateien und Unterverzeichnisse, die innerhalb des Verzeichnisses erstellt wurden, haben denselben Eigentümer wie das Verzeichnis), sofern das zugrunde liegende Dateisystem dies unterstützt und mit der suiddirOption bereitgestellt wird .
lcd047
" +Xfügt die ausführberechtigung nur hinzu, wenn eine der ausführberechtigungen bereits gesetzt ist oder die datei ein verzeichnis ist" danke @ stephen-kitt fehlt die dokumentation "ist bereits gesetzt" hat mich wirklich auf eine schleife geworfen!
Ryan Fisher
39

Berechtigungen in Linux sind also sehr wichtig. Ich werde versuchen, eine kurze Erklärung abzugeben.

Für Teile eines Dateimodus

Jede Unix-Datei verfügt über eine Reihe von Berechtigungen, die festlegen, ob Sie die Datei lesen, schreiben oder ausführen können. Wenn Sie ls -l ausführen, werden die Berechtigungen angezeigt. Hier ist ein Beispiel für eine solche Anzeige:

-rw-r--r-- 1 user somegroup 7041 Mar 26 19:34 somefile

Ich hänge ein Bild von Teilen eines Dateimodus an:

Bildbeschreibung hier eingeben

Typ kann etwas anderes sein. Zum Beispiel:

  • d (Verzeichnis)
  • c (Zeichengerät)
  • l (symlink)
  • p (Named Pipe)
  • s (Buchse)
  • b (Blockgerät)
  • D (Tür, auf Linux-Systemen nicht üblich, wurde aber portiert)

Wenn Sie einige Berechtigungen für alle Verzeichnisse festlegen möchten, können Sie das R-Attribut verwenden, zum Beispiel:

chmod -R 777 /some/directory/

Für chmod 777 vs 0777

Der chmodBefehl erwartet normalerweise, dass die Eingabe eine Oktalzahl ist. Die führende Null bezieht sich auf den Wert des Sticky / Sgid / Suid-Bit-Triplets. In C würde es jedoch einen Unterschied machen, da 777es in 01411(oktal) übersetzt würde , wodurch das Sticky-Bit (siehe chmod(2)Manpage) gesetzt würde, Leseberechtigungen für Eigentümer und ausführbares Bit für Gruppen und andere (was eine ziemlich seltsame Kombination ist). .

EDIT 1

Ich habe ein anderes Bild über Linux-Berechtigungen gefunden und werde es anhängen, um es einfacher zu verstehen: UNIX-Dateiberechtigungen

ValeriRangelov
quelle
5
Sie irren sich über die 777 vs 0777. Beide sind oktal (in diesem Fall macht Dezimalstellen sowieso keinen Sinn), aber in vierstelliger Form setzt die erste Ziffer die Spezialbits (Sticky & Setuid).
Orion
3
@orion Gelegentlich ist es tatsächlich wahr, zB in einem C-ähnlichen Code chmod(777)wäre es tatsächlich das Äquivalent zu running chmod 1411(dh der chmodBefehl mit Argument 1411).
Peterph
2
... was im Fall von syscall (oder seinem Wrapper) und der gleichnamigen Binärdatei etwas verwirrend sein kann.
Peterph
3
Python Master - Rennen löste dieses Problem , indem sie rückwärts alle „Zahlen“ zu verbieten , die mit 0 beginnen, zwingt der Benutzer explizit zu sein , wenn sie etwas wollen , dass andere als dezimal, zB hex: 0x1FF, binär: 0b111111111oder Oktal: 0o777. PYTHON POWER
Nick T
Bildquelle?
Rugk
10

dbedeutet, dass es sich um ein Verzeichnis handelt, wenn Sie eine Datei haben, -und wenn es sich um einen Link handelt, finden Sie eine l. Es kann nicht gesetzt / nicht gesetzt werden.

Wenn Sie 0777 als Berechtigung verwenden, geben Sie jedem Benutzer / jeder Gruppe des Systems die volle Kontrolle (Lesen + Schreiben + Ausführen). Es ist eine träge Möglichkeit, Probleme zu lösen, wenn Sie Benutzer / Gruppen haben, die nicht auf Verzeichnisse / Dateien zugreifen können.

Wenn Sie beispielsweise den Inhalt eines Verzeichnisses auflisten und Folgendes abrufen:

-rw-r--r-- 1 root root 42596 jun 7 2012 preloadable_libintl.so

preloadable_libintl.so ist eine Datei, die dem Benutzer root und der Gruppe root gehört. Der Eigentümer hat Lese- und Schreibzugriff, die Gruppe hat nur Lesezugriff und jeder andere Benutzer hat Lesezugriff. Dies kann als 644 übersetzt werden.

Wenn ich es auf 777 ändere, sieht es so aus:

-rwxrwxrwx 1 root root 42596 jun 7 2012 preloadable_libintl.so

jcbermu
quelle
7

Nachdem ich meine Frage hier beantwortet und einige Nachforschungen über das Ergebnis angestellt hatte, fand ich einen Artikel, der alles sehr gut erklärt. Ich möchte einige Teile dieses Artikels hier für zukünftige Referenzen freigeben.

Berechtigungen anzeigen

Um chmoddie Berechtigungen einer Datei oder eines Verzeichnisses ändern zu können, müssen Sie zunächst den aktuellen Zugriffsmodus kennen. Sie können den Inhalt eines Verzeichnisses im Terminal über cddieses Verzeichnis anzeigen und dann Folgendes verwenden:

$ ls -l

Der -lSchalter ist wichtig, da bei Verwendung lsohne nur die Namen der Dateien oder Ordner im Verzeichnis angezeigt werden.

Unten sehen Sie ein Beispiel für die Verwendung ls -lin meinem Home-Verzeichnis:

total 128
drwxr-xr-x 2 peter users  4096 Jul  5 21:03 Desktop
drwxr-xr-x 6 peter users  4096 Jul  5 17:37 Documents
drwxr-xr-x 2 peter users  4096 Jul  5 13:45 Downloads
drwxr-xr-x 2 peter users  4096 Jun 24 03:36 Movies
drwxr-xr-x 2 peter users  4096 Jun 24 03:38 Music
drwxr-xr-x 2 peter users  4096 Jun 26 00:09 Pictures
-rw-r--r-- 1 peter users   354 Jul  6 17:15 chmodtest

Was bedeuten die Spalten?

Die erste Spalte gibt den Typ jeder Datei an:

  • - bezeichnet eine normale Datei.
  • d bezeichnet ein Verzeichnis, dh einen Ordner, der andere Dateien oder Ordner enthält.
  • p bezeichnet eine Named Pipe (auch FIFO genannt).
  • l bezeichnet einen symbolischen Link.

Die Buchstaben danach sind die Berechtigungen. Diese erste Spalte ist das, woran wir am meisten interessiert sind. Die zweite ist, wie viele Links sich in einer Datei befinden. Wir können sie ignorieren. Die dritte Spalte enthält zwei Werte / Namen: Der erste (in meinem Beispiel "Peter") ist der Name des Benutzers, dem die Datei gehört. Der zweite Wert ("Benutzer" im Beispiel) ist die Gruppe, zu der der Eigentümer gehört (Weitere Informationen zu Gruppen).

In der nächsten Spalte wird die Größe der Datei oder des Verzeichnisses in Byte angegeben. Anschließend werden Datum und Uhrzeit der letzten Änderung der Datei oder des Verzeichnisses sowie natürlich der Name der Datei oder des Verzeichnisses angegeben.

Was bedeuten die Berechtigungen?

Die ersten drei Buchstaben nach dem ersten -oder dsind die Berechtigungen des Besitzers. Die nächsten drei Buchstaben sind Berechtigungen, die für die Gruppe gelten. Die letzten drei Buchstaben sind die Berechtigungen, die für alle anderen gelten.

Jeder Satz von drei Buchstaben besteht aus r wund x. rbefindet sich immer in der ersten Position, wbefindet sich immer in der zweiten Position und xbefindet sich immer in der dritten Position. rist die Leseberechtigung, wist die Schreibberechtigung und xist die Ausführungsberechtigung. Befindet sich -an der Stelle eines dieser Buchstaben ein Bindestrich ( ), bedeutet dies, dass die Erlaubnis nicht erteilt wurde. Wenn der Buchstabe vorhanden ist, wird er erteilt.

Ordner

Im Falle von Ordnern können die Modusbits wie folgt interpretiert werden:

  • r (read) steht für die Fähigkeit, das Inhaltsverzeichnis des angegebenen Verzeichnisses zu lesen.
  • w(Schreiben) steht für die Fähigkeit, das Inhaltsverzeichnis des angegebenen Verzeichnisses zu schreiben (neue Dateien, Ordner erstellen; vorhandene Dateien, Ordner umbenennen, löschen), wenn und nur wenn das Ausführungsbit gesetzt ist. Ansonsten ist diese Erlaubnis bedeutungslos.
  • x (execute) steht für die Möglichkeit, mit dem Befehl cd in das angegebene Verzeichnis zu gelangen und auf Dateien und Ordner in diesem Verzeichnis zuzugreifen.

Ändern von Berechtigungen mit dem Befehl chmod

chmodist ein Befehl unter Linux und anderen Unix-ähnlichen Betriebssystemen. Hier können Sie die Berechtigungen (oder den Zugriffsmodus) einer Datei oder eines Verzeichnisses ändern.

Sie können Berechtigungen auf zwei verschiedene Arten ändern: - Textbasiert chmod - Zahlenbasiertchmod

Textmethode

Um den Berechtigungs- oder Zugriffsmodus einer Datei zu ändern, verwenden wir den Befehl chmod in einem Terminal. Nachfolgend finden Sie die allgemeine Struktur des Befehls:

chmod who=permissions filename

Wo Wer ist einer aus einer Reihe von Buchstaben und jeder gibt an, wem Sie die Erlaubnis geben werden. Sie sind wie folgt:

u - The user that owns the file.
g - The group the file belongs to.
o - The other users i.e. everyone else.
a - all of the above - use this instead of having to type ugo.

Die Berechtigungen sind die gleichen wie bereits diskutiert ( r, w, und x).

Mit dem Befehl chmod können Sie Berechtigungen zu einer vorhandenen Menge hinzufügen und von dieser entfernen, indem Sie + oder - anstelle von = verwenden. Dies unterscheidet sich von den oben genannten Befehlen, bei denen die Berechtigungen im Wesentlichen neu geschrieben werden (dh, um eine Berechtigung von r--in zu ändern rw-, müssen Sie sie weiterhin rsowie wnach =dem chmodBefehl in den Befehl einfügen. Wenn Sie dies verpassen, rwird die rBerechtigung als entfernt Sie werden mit den Tasten + und - neu geschrieben. Vermeiden Sie dies, indem Sie die aktuellen Berechtigungen hinzufügen oder entfernen.

Zahlenmethode

chmod Sie können Berechtigungen auch mithilfe von Zahlen festlegen.

Die Verwendung von Zahlen ist eine weitere Methode, mit der Sie die Berechtigungen für alle drei Eigentümer, Gruppen und andere gleichzeitig bearbeiten können. Diese Grundstruktur des Codes lautet:

chmod xxx file/directory

Wobei xxx eine dreistellige Zahl ist, wobei jede Ziffer zwischen 1 und 7 liegen kann. Die erste Ziffer gilt für Berechtigungen für den Eigentümer, die zweite Ziffer für Berechtigungen für die Gruppe und die dritte Ziffer für Berechtigungen für alle anderen.

In dieser Zahlenschreibweise haben die Werte r, w und x einen eigenen Zahlenwert:

r=4
w=2
x=1

Um eine dreistellige Zahl zu erhalten, müssen Sie überlegen, über welche Berechtigungen ein Eigentümer, eine Gruppe und ein Benutzer verfügen sollen, und dann ihre Werte addieren. Angenommen, ich möchte dem Eigentümer eines Verzeichnisses Lese-, Schreib- und Ausführungsberechtigungen erteilen, und ich möchte alle anderen Benutzer gruppieren, um nur Lese- und Ausführungsberechtigungen zu erhalten. Ich würde mit den numerischen Werten wie folgt kommen:

Owner: rwx = 4+2+1=7
Group: r-x = 4+0+1=5 (or just 4+1=5)
Other: r-x = 4+0+1=5 (or just 4+1=5)

Final number = 755

$ chmod 755 filename

Dies entspricht der Verwendung von:

chmod u=rwx filename
chmod go=rx filename

Die meisten Ordner / Verzeichnisse sind auf 755 eingestellt, um das Lesen und Schreiben sowie die Ausführung für den Eigentümer zu ermöglichen, aber das Schreiben für alle anderen zu verweigern, und Dateien sind normalerweise 644, um das Lesen und Schreiben für den Eigentümer zu ermöglichen, beziehen sich jedoch nur auf das Lesen für alle anderen Hinweis zum Fehlen von x-Berechtigungen bei nicht ausführbaren Dateien - hier gilt das Gleiche.

Peter
quelle
Nur Text aus einem anderen Artikel zu kopieren, ist - zumindest - unhöflich. Möglicherweise auch eine Urheberrechtsverletzung. Wenn es nicht nur kopiert wurde oder Sie wirklich kleine Teile verwendet haben (urheberrechtlich geschützt dank fairer Verwendung), fügen Sie bitte mindestens einen Link zu dem Artikel hinzu, auf den Sie verweisen / zitieren.
Rugk
0

Für die d Fragen

Dies sagt Ihnen den Unix-Dateityp. Standardmäßig verfügt Unix nur über drei Dateitypen. Sie sind:

  • - - Regelmäßige Datei
  • d - Verzeichnisdatei
  • Spezialfeile (mit 5 Untertypen):
    • b - Datei blockieren
    • c - Gerätezeichendatei
    • p - Named Pipe-Datei oder nur Pipe-Datei
    • l - Symbolische Linkdatei
    • s - Socket-Datei

Lesen Sie hier mehr: Dateitypen unter Linux / Unix im Detail erklärt

0777 vs 777

Sticky Bit angegeben oder nicht. Wenn das Sticky-Bit eines Verzeichnisses gesetzt ist, behandelt das Dateisystem die Dateien in solchen Verzeichnissen auf besondere Weise, sodass nur der Eigentümer der Datei, der Eigentümer des Verzeichnisses oder der Root-Benutzer die Datei umbenennen oder löschen können. Ohne das Sticky-Bit-Set kann jeder Benutzer mit Schreib- und Ausführungsberechtigungen für das Verzeichnis enthaltene Dateien unabhängig vom Eigentümer der Datei umbenennen oder löschen.

0777 Setzt 777-Dateiberechtigungen und das Sticky-Bit auf 0 - keine besonderen Modi.

777 setzt 777 Dateiberechtigungen, ohne das Sticky-Bit zu ändern.

Weiterlesen: Sticky Bit und Chmod

csny
quelle
2
Besser: aber es bietet immer noch nichts, was die anderen Antworten noch nicht behandelt haben ...
jasonwryan
1
(1) Es gibt drei grundlegende Dateitypen: einfache Dateien, Verzeichnisse und alles andere. Was? Woher nimmst du das? Normalerweise sind einfache Dateien und Verzeichnisse ziemlich ähnlich. Named Pipes und symbolische Links ähneln eher einfachen Dateien und Verzeichnissen als Gerätedateien oder Sockets. (2) Denken Sie, dass chmod 777die setuid-, setgid- und sticky-Bits nicht gelöscht werden? Versuch es.
G-Man
Unix hat 7 Dateitypen, nicht 3.
wjandrea