Unter Unix habe ich vor langer Zeit etwas über chmod gelernt :die traditionelle Art, unter Unix Berechtigungen zu setzen (und Programmen zu erlauben, Privilegien zu erhalten, indem sie setuid, setgid verwenden).
Ich habe kürzlich einige neuere Befehle unter GNU/Linux entdeckt:
setfaclerweitert das traditionelleugo:rwxBits und dastBit vonchmod.setcapgibt mehr feinkörnige Kontrolle alsug:sBits vonchmod.chattrErmöglicht einige andere Steuerungen (ein bisschen wie eine Mischung) der Datei.
Gibt es noch andere?
Akzeptierte Antwort:
chmod :Dateimodus-Bits ändern
Verwendung (oktaler Modus):
chmod <octal-mode> files...
Verwendung (symbolischer Modus):
chmod <references><operator><modes> files..
references ist eine Kombination aus den Buchstaben ugoa , die angeben, welcher Benutzer Zugriff auf die files hat wird geändert:
uder Benutzer, dem es gehörtgandere Benutzer in derfileGruppeoandere Benutzer, die nicht in der Gruppe der Datei sind-
aalle BenutzerWenn das weggelassen wird, werden standardmäßig alle Benutzer verwendet, aber nur Berechtigungen, die von
umaskzugelassen werden geändert werden.operatorist eines der Zeichen+-=:+fügt die angegebenen Dateimodus-Bits zu den vorhandenen Dateimodus-Bits jederfilehinzu-entfernt die angegebenen Dateimodus-Bits zu den vorhandenen Dateimodus-Bits jederfile=fügt die angegebenen Bits hinzu und entfernt nicht angegebene Bits, mit Ausnahme dersetuidundsetgidBits für Verzeichnisse gesetzt, sofern nicht ausdrücklich angegeben.
modebesteht aus einer Kombination der BuchstabenrwxXst, die angeben, welches Berechtigungsbit geändert werden soll:rlesenwschreibenxausführen (oder nach Verzeichnissen suchen)XAusführen/Suchen nur, wenn die Datei ein Verzeichnis ist oder für einen Benutzer bereits ein Ausführungsbit gesetzt istssetuid oder setgid (abhängig von den angegebenenreferences)teingeschränktes Lösch-Flag oder Sticky Bit
Alternativ der
modekann aus einem der Buchstabenugobestehen , in diesem Fall entspricht der Modus den Berechtigungen, die dem Eigentümer derzeit gewährt werden (u), Mitglieder derfile’s-Gruppe (g) oder Berechtigungen von Benutzern in keiner der vorangegangenen Kategorien (o).
Die verschiedenen Bits von chmod erklärt:
- Zugriffskontrolle (siehe auch
setfacl)rwx— Lese- (r), Schreib- (w) und Ausführungs-/Kreuz- (x) Berechtigungen.- Read (r) beeinflusst, ob eine Datei gelesen oder ein Verzeichnis aufgelistet werden kann.
- Write (w) beeinflusst, ob eine Datei geschrieben oder ein Verzeichnis bearbeitet werden kann (Dateien hinzugefügt, gelöscht, umbenannt).
- Execute (x) beeinflusst, ob eine Datei ausgeführt werden kann, verwenden Sie für Skripte (siehe
#!) und andere ausführbare Dateien. - Kreuz (x) beeinflusst, ob ein Verzeichnis durchlaufen werden kann.
sundt— sticky bit (t) und setgid (s) auf Verzeichnissen- Das Sticky-Bit betrifft nur Verzeichnisse. Verhindert, dass jemand außer Dateieigentümer und Root Dateien im Verzeichnis löscht.
- das setgid-Bit auf Verzeichnissen bewirkt, dass bei neuen Dateien und Verzeichnissen die Gruppe auf dieselbe Gruppe gesetzt wird und bei neuen Verzeichnissen das setgid-Bit gesetzt wird (siehe auch Voreinstellungen in setfacl).
s— setuid, setgid, bei ausführbaren Dateien.- Dies kann die Sicherheit beeinträchtigen, wenn Sie nicht wissen, was Sie tun.
- Wenn eine ausführbare Datei ausgeführt wird und eines dieser Bits gesetzt ist, wird der effektive Benutzer/die effektive Gruppe der ausführbaren Datei zu dem der Datei. Somit läuft das Programm als dieser Benutzer. siehe
setcapfür einen moderneren Weg, dies zu tun.
chown chgrp :
chattr :Dateiattribute ändern
Verwendung:
chattr <operator><attribute> files...
operator ist eines der Zeichen +-= :
* + fügt die ausgewählten Attribute zu den bestehenden attributes hinzu der files * - entfernt die ausgewählten attributes * = überschreibt den aktuellen Satz von Attributen, die die Dateien haben, mit den angegebenen attributes .
attribute ist eine Kombination aus den Buchstaben acdeijstuADST , die den Attributen entsprechen:
anur anhängenckomprimiertdkein DumpeExtent-FormatiunveränderlichjDatenprotokollierungsSicheres Löschentkein Tail-Mergingunicht löschbarAkeineatimeAktualisierungenDsynchrone VerzeichnisaktualisierungenSsynchrone UpdatesToben in der Verzeichnishierarchie
setfattr :Erweiterte Dateiattribute ändern
Verwendung (Set-Attribut):
setfattr -n <name> -v <value> files...
Verwendung (entfernen):
setfattr -x <name> files...
name ist der Name des erweiterten Attributs, das gesetzt oder entfernt werden soll
value ist der neue Wert des erweiterten Attributs
setfacl :Dateizugriffskontrolllisten ändern
Verwendung:
setfacl <option> [default:][<target>:][<param>][:<perms>] files...
option muss eines der folgenden enthalten:
--setsetzt die ACL einer Datei oder eines Verzeichnisses und ersetzt die vorherige ACL-m|--modifydie ACL einer Datei oder eines Verzeichnisses ändern-
-x|--removeACL-Einträge einer Datei oder eines Verzeichnisses entfernentargetist einer der Buchstabenugmo(oder die unten gezeigte längere Form): -
u,usersErlaubnis eines benannten Benutzers, der durchparamidentifiziert wird , ist standardmäßig der Dateieigentümeruidfalls weggelassen g,groupErlaubnis einer benannten Gruppe, die durchparamidentifiziert wird , standardmäßig Besitzer der Gruppeuidfalls weggelassenm,maskwirksame Rechtemaske-
o,otherBerechtigungen andererpermsist eine Kombination aus den BuchstabenrwxX, die den Berechtigungen entsprechen: -
rlesen wschreibenxausführen-
Xnur ausführen, wenn die Datei ein Verzeichnis ist oder bereits Ausführungsrechte für einen Benutzer hatAlternativ
permskann eine Oktalziffer sein (–7), die den Satz von Berechtigungen angibt.
setcap :Dateifähigkeiten ändern
Verwendung:
setcap <capability-clause> file
Eine capability-clause besteht aus einer durch Kommas getrennten Liste von Capability-Namen, gefolgt von einer Liste von Operator-Flag-Paaren.
Die verfügbaren Operatoren sind = , + und - . Die verfügbaren Flags sind e , i und p die dem Gültig entsprechen , Vererbbar und Erlaubt Fähigkeitsgruppen.
Der = Der Bediener erhöht die angegebenen Fähigkeitssätze und setzt die anderen zurück. Wenn keine Flags in Verbindung mit = angegeben werden Operator werden alle Capability Sets zurückgesetzt. Das + und - Operatoren erhöhen bzw. verringern die eine oder mehrere angegebene Fähigkeitsgruppen.
chcon :SELinux-Sicherheitskontext der Datei ändern
Verwendung:
chcon [-u <user>] [-r <role>] [-t <type>] files...
Benutzer ist der SELinux-Benutzer, z. B. user_u , system_u oder root .
Rolle ist die SELinux-Rolle (immer object_r für Dateien)
tippen ist der Subjekttyp von SELinux
chsmack :Erweiterte SMACK-Attribute ändern
Verwendung:
chsmack -a <value> file
value ist das SMACK-Label, das für SMACK64 gesetzt werden soll erweitertes Dateiattribut
setrichacl:Rich Access Control List ändern.
Richacls sind eine Funktion, die erweiterte ACLs hinzufügt.
Derzeit in Arbeit, daher kann ich Ihnen nicht viel darüber sagen. Ich habe sie nicht verwendet.