linux:linux_setuid_getgid_stickybit
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
linux:linux_setuid_getgid_stickybit [2016/09/20 14:57] – [Sticky Bit] gpipperr | linux:linux_setuid_getgid_stickybit [2016/09/20 14:58] (aktuell) – gpipperr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Besondere Berechtigungen auf Dateien und Verzeichnissen unter Linux - File Permissions (setuid, setgid and Sticky Bit) ===== | ||
+ | |||
+ | Es gibt drei Spezial Berechtigungen für Verzeichnisse und ausführbare Dateien: | ||
+ | * setuid | ||
+ | * setgid | ||
+ | * sticky bit | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===setuid Permission=== | ||
+ | |||
+ | Wenn die " | ||
+ | |||
+ | Auch wird als Eigentümerin der Prozess Liste der ursprüngliche User angezeigt. | ||
+ | |||
+ | Beispiel (Auf die Position des " | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | #als root | ||
+ | ls -la / | ||
+ | -rwsr-xr-x. 1 root root 30768 Feb 22 2012 / | ||
+ | |||
+ | #als oracle anmelden | ||
+ | su - oracle | ||
+ | |||
+ | / | ||
+ | |||
+ | |||
+ | #Parallele Session als root starten und prüfen unter was das jetzt läuft | ||
+ | #Prozess auswerten | ||
+ | ps uafx | head -1 && ps uafx | grep -v grep | grep passwd | ||
+ | |||
+ | USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND | ||
+ | root | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==Setzen und entfernen mit== | ||
+ | <code bash> | ||
+ | #setzen | ||
+ | chmod u+s / | ||
+ | |||
+ | #Oktal Notation mit führender 4 | ||
+ | chmod 4764 / | ||
+ | |||
+ | #entfernen | ||
+ | chmod u-s / | ||
+ | |||
+ | #Oktal Notation mit führender 0 | ||
+ | chmod 0764 / | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==Danach suchen - suid = 4000== | ||
+ | |||
+ | <code bash> | ||
+ | find /opt/oracle -type f -perm /4000 -exec stat -c "%A %a %n" {} \; | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ===setgid Permission=== | ||
+ | |||
+ | Die " | ||
+ | |||
+ | ==Setzen und entfernen mit == | ||
+ | <code bash> | ||
+ | #setzen | ||
+ | chmod g+s / | ||
+ | |||
+ | #Oktal Notation mit führender 2 | ||
+ | chmod 2764 / | ||
+ | |||
+ | #entfernen | ||
+ | chmod g-s / | ||
+ | |||
+ | #Oktal Notation mit führender 0 | ||
+ | chmod 0764 / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==Danach suchen - setgid = 2000== | ||
+ | <code bash> | ||
+ | find /opt/oracle -type f -perm /2000 -exec stat -c "%A %a %n" {} \; | ||
+ | </ | ||
+ | |||
+ | **Nach beiden Suchen = 6000** | ||
+ | <code bash> | ||
+ | find /opt/oracle -type f -perm /6000 -exec stat -c "%A %a %n" {} \; | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===Sticky Bit=== | ||
+ | |||
+ | Mit dem " | ||
+ | |||
+ | Das kann nützlich sein, um zum Beispiel eine Datei unter /var/log zu schützen. | ||
+ | |||
+ | Wird zum Beispiel auf /tmp gesetzt (man achte auf das " | ||
+ | <code bash> | ||
+ | ls -la /tmp | ||
+ | |||
+ | drwxrwxrwt. | ||
+ | |||
+ | </ | ||
+ | |||
+ | Ist an der letzen Stelle ein " | ||
+ | |||
+ | |||
+ | ==Setzen und entfernen mit == | ||
+ | <code bash> | ||
+ | |||
+ | #setzen | ||
+ | chmod +t / | ||
+ | |||
+ | #Oktal Notation mit führender 1 | ||
+ | chmod 1777 / | ||
+ | |||
+ | #Oktal Notation mit führender 0 | ||
+ | chmod 0764 / | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==Danach suchen - Sticky Bit = 1000== | ||
+ | <code bash> | ||
+ | find /opt/oracle -type d -perm /1000 -exec stat -c "%A %a %n" {} \; | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Mehr dazu - Quellen ==== | ||
+ | |||
+ | * Oracle System Administration Guide: Security Services => http:// | ||
+ | * http:// | ||
+ | * http:// | ||
linux/linux_setuid_getgid_stickybit.txt · Zuletzt geändert: 2016/09/20 14:58 von gpipperr