GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie lösche ich die s-Berechtigung für ein Verzeichnis in Linux?

Lösung 1:

setuid und setgid

setuid und setgid (kurz für Set User ID upon Execution bzw. Set Group ID upon Execution) sind Unix-Flags für Zugriffsrechte, die es Benutzern ermöglichen, eine ausführbare Datei mit den Berechtigungen des Eigentümers oder der Gruppe der ausführbaren Datei auszuführen. Sie werden häufig verwendet, um Benutzern auf einem Computersystem zu ermöglichen, Programme mit vorübergehend erhöhten Rechten auszuführen, um eine bestimmte Aufgabe auszuführen. Obwohl die angenommenen Benutzer-ID- oder Gruppen-ID-Privilegien nicht immer erhöht sind, sind sie zumindest spezifisch.

Um die Setuid- und Setgid-Bits numerisch zu entfernen, müssen Sie dem Bitmuster ein 0 voranstellen (Beispiel:0775 wird zu 00775 ).

Ausführen, um setuid und setgid zu löschen:

chmod 00775 path

oder

chmod a-st path

Lösung 2:

Die s, die Sie an der Position „Ausführen“ in der Benutzer- und Gruppenspalte sehen, sind die Bits SetUID (Setze Benutzer-ID bei Ausführung) und SetGID (Setze Gruppen-ID bei Ausführung).

Unix-Dateiberechtigungen sind eigentlich eine 4-stellige Oktalzahl SUGO

  • S steuert die Bits SetUID (4), SetGID (2) und "Sticky" (1)
  • Du steuert Read(4)/Write(2)/Execute(1)-Bits für den Dateieigentümer
  • G steuert die Lese-/Schreib-/Ausführungsbits für die Gruppe der Datei
  • O steuert die Read/Write/Execute-Bits für alle anderen.

Sie können die Setuid-Bits mit chmod ug-s directory aus Ihrem Verzeichnis entfernen , oder chmod 0755 directory

Weitere Informationen finden Sie auf der Manpage für chmod , und diese Wikipedia-Seite über das SetUID-Bit.

Lösung 3:

Zu ooshros Antwort hinzufügen ...

Wenn Sie suid- oder sgid-Berechtigungen für ein Verzeichnis verwenden, haben alle in diesem Verzeichnis erstellten Dateien denselben Besitzer (falls suid) oder dieselbe Gruppe (sgid) wie das betreffende Verzeichnis.

Ich benutze das für meine Heimat-Samba-Freigabe. Das Basisverzeichnis gehört dem Benutzer none und der Gruppe olympia, und die Berechtigungen sind 2770. Sie müssen sich also in der Gruppe olympia befinden, um etwas unterhalb dieses Verzeichnisses lesen oder schreiben zu können, und es wird sicherstellen, dass olympia die Eigentümergruppe von allem darunter ist . Ich habe Samba auch so konfiguriert, dass es eine dirmask von 2770 und eine filemask von 660 verwendet, um die Berechtigungen den ganzen Weg nach unten im Baum korrekt zu halten.


Linux
  1. Wie Linux auf den Mainframe kam

  2. So finden Sie die älteste Datei in einem Verzeichnisbaum in Linux

  3. So löschen Sie den Speichercache in Linux

  4. Linux – Wie kombiniere ich den Baum mit der Verzeichnisgröße?

  5. Wie lösche ich die Schnittstellenstatistiken unter Linux?

So ermitteln Sie die Größe eines Verzeichnisses in Linux

So listen Sie die Mitglieder einer Gruppe in Linux auf

So löschen Sie den Auslagerungsspeicher unter Linux

So ermitteln Sie die Gesamtgröße eines Verzeichnisses in Linux

So kopieren Sie das Verzeichnis unter Linux

So migrieren Sie das HOME-Verzeichnis unter Linux