Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:dateirechte

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
admin_grundlagen:dateirechte [2017/01/13 22:47]
ingo_wichmann [Beispiel: Weniger Rechte für Eigentümer und Gruppe]
admin_grundlagen:dateirechte [2021/02/17 09:31]
ingo_wichmann [Übung: Weniger Rechte für Eigentümer und Gruppe]
Zeile 1: Zeile 1:
 ====== Übung: finde die minimal nötigen Berechtigungen ====== ====== Übung: finde die minimal nötigen Berechtigungen ======
  
-  mkdir -m 000 dir1 dir2+  mkdir -m 000 /tmp/dir1 /tmp/dir2
   echo geheim > file1   echo geheim > file1
   chmod 000 file1   chmod 000 file1
  
-Welche Berechtigungen müssen jeweils bei ''​dir1'',​ ''​dir2''​ und ''​file1''​ hinzugefügt werden, damit ''​file1''​ mit +Welche ​(minimalen) ​Berechtigungen müssen jeweils bei ''​/tmp/dir1'',​ ''​/tmp/dir2''​ und ''​file1''​ hinzugefügt werden, damit ''​file1''​ mit 
-  cp file1 dir1/ +  cp file1 /tmp/dir1/file2 
-ins Verzeichnis ''​dir1''​ kopiert werden kann?+ins Verzeichnis ''​/tmp/dir1''​ kopiert werden kann?
  
-Welche Berechtigungen müssen ​danach ​jeweils bei ''​dir1'',​ ''​dir2''​ und ''​file1''​ hinzugefügt werden, damit ''​file1''​ mit +---- 
-  mv dir1/file1 dir2/+ 
 +Welche ​(minimalen) ​Berechtigungen müssen jeweils bei ''​/tmp/dir1'',​ ''​/tmp/dir2''​ und ''​file2''​ hinzugefügt werden, damit ''​file2''​ mit 
 +  mv /tmp/dir1/file2 /tmp/dir2/
 ins Verzeichnis ''​dir2''​ verschoben werden kann? ins Verzeichnis ''​dir2''​ verschoben werden kann?
  
 +
 +====== Übung: mit umask Berechtigung setzen ======
 +
 +Welche ''​umask''​ muss man setzen, damit neu angelegte
 +  * Dateien die Berechtigung ''​%%rw- r-- -w-%%''​ und
 +  * Verzeichnisse die Berechtigung ''​rwx r-x -w-''​
 +bekommen?
 ====== Befehle Dateirechte ====== ====== Befehle Dateirechte ======
-=== Benutzer anlegen === +Dateizugriffsrechte betrachten ​|
-  useradd -m benutzer +
-=== Benutzer löschen === +
-  userdel -r benutzer +
- +
-=== Dateizugriffsrechte betrachten ​===+
   ls -l datei   ls -l datei
-=== Verzeichnisrechte betrachten ​===+
 +^ Dateizugriffsrechte von Dateien im Verzeichnis betrachten | 
 +  ls -l verzeichnis 
 +
 +Verzeichnisrechte betrachten ​(nicht der Einträge im Verzeichnis) |
   ls -ld verzeichnis   ls -ld verzeichnis
- +| 
-=== Besitzer der Datei ändern ​===+Besitzer der Datei ändern ​|
   chown benutzer datei   chown benutzer datei
-=== Gruppe der Datei ändern ​===+
 +Gruppe der Datei ändern ​|
   chown :users datei   chown :users datei
   chgrp users datei   chgrp users datei
- +| 
-=== SUID Recht der Datei ändern === +SUID Recht für die Datei ''/​bin/​cat''​ setzen | Programm ​starten und real bzw. effective UID ansehen:
-  chmod u+s programm +
- +
-programm ​starten und real bzw. effective UID prüfen: +
-  ps -eo cmd,​ruser,​euser +
   chmod u+s /bin/cat   chmod u+s /bin/cat
 +Als Nutzer:
   cat &   cat &
-  ps -eo cmd,​ruser,​euser ​-C cat +  ps -C cat -o cmd,​ruser,​euser 
- +| 
-=== GUID Recht der Datei ändern === +^ Wo darf ich schreiben? | 
-  ​chmod g+s datei +  ​find / /dev -xdev -writable -ls 
- +| 
-=== Gruppen eines Benutzers anzeigen === +Was darf eine Gruppe? ​|
-  id benutzer +
- +
-=== Was darf eine Gruppe? ​===+
   find / /dev -xdev -group users -ls   find / /dev -xdev -group users -ls
- +| 
-=== Alle SUID-root Dateien finden ​===+Alle SUID-root Dateien finden ​|
   find / -xdev -type f -user root -perm /4000 -ls 2>/​dev/​null   find / -xdev -type f -user root -perm /4000 -ls 2>/​dev/​null
   find / -xdev -type f -perm -u=s -ls   find / -xdev -type f -perm -u=s -ls
- +| 
-=== Allen Programmen das Ausführungsrecht nehmen ​=== +Allen Programmen das Ausführungsrecht nehmen ​| 
-  find verzeichnis/​ -type f -perm /0111 -exec chmod a-x {} ++  find verzeichnis/​ -type f -perm /0111 -exec chmod a-x {} \; 
 +  find verzeichnis/​ -type f -perm /0111 -print0 | xargs -0 chmod a-x 
 +|
  
 ====== Beispiel: Schreibrechte im Verzeichnis - mehr als man denkt ====== ====== Beispiel: Schreibrechte im Verzeichnis - mehr als man denkt ======
Zeile 95: Zeile 99:
  
 ====== Übung: Weniger Rechte für Eigentümer und Gruppe ====== ====== Übung: Weniger Rechte für Eigentümer und Gruppe ======
-''/​tmp/​datei356''​ : +Erzeuge eine Datei ''/​tmp/​datei356'' ​mit folgendem Inhalt
-<​file>​+<​file ​txt /​tmp/​datei356>
 #!/bin/bash #!/bin/bash
 echo executable echo executable
 </​file>​ </​file>​
 +
 +Setze die Berechtigungen zu ''​356'':​
   chmod 356 /​tmp/​datei356   chmod 356 /​tmp/​datei356
  
Zeile 107: Zeile 113:
 ^             ​Besitzer| ​ ''​_''​ ''​_''​ ''​_'' ​ |  ''​_''​ ''​_''​ ''​_'' ​     | ^             ​Besitzer| ​ ''​_''​ ''​_''​ ''​_'' ​ |  ''​_''​ ''​_''​ ''​_'' ​     |
 ^       nicht Besitzer| ​ ''​_''​ ''​_''​ ''​_'' ​ |  ''​_''​ ''​_''​ ''​_'' ​     | ^       nicht Besitzer| ​ ''​_''​ ''​_''​ ''​_'' ​ |  ''​_''​ ''​_''​ ''​_'' ​     |
 +
 +Tip:
 +Das Lesen (''​r''​) von Dateien kann man mit
 +  head -0 /​tmp/​datei356
 +testen. ((''​head -0''​ zeigt die ersten 0 Zeilen, also nichts, aber öffnet die Datei. Im Fehlerfall erscheint eine Meldung. ))
 +Das Schreiben (''​w''​) von Dateien kann man zerstörungsfrei mit
 +  >> /​tmp/​datei356
 +testen. ​
 +((
 +  sysctl fs.protected_regular
 +<​file>​
 +fs.protected_regular = 2
 +</​file>​
 +
 +https://​www.kernel.org/​doc/​Documentation/​sysctl/​fs.txt:​
 +//This protection is similar to protected_fifos,​ but it
 +avoids writes to an attacker-controlled regular file, where a program expected to create one.
 +
 +When set to "​0",​ writing to regular files is unrestricted.
 +
 +When set to "​1"​ don't allow O_CREAT open on regular files that we don't own in world writable sticky directories,​ unless they are owned by the owner of the directory.
 +
 +When set to "​2"​ it also applies to group writable sticky directories.//​
 +))
 +Das Ausführen (''​x''​) kann man testen, in dem man 
 +  /​tmp/​datei356
 +ausführt.
 ====== Beispiel: Gruppenzugehörigkeiten kleben am Prozess länger als man denkt ====== ====== Beispiel: Gruppenzugehörigkeiten kleben am Prozess länger als man denkt ======
   groupadd projekt   groupadd projekt
   useradd -m -G projekt iw   useradd -m -G projekt iw
   touch /tmp/datei   touch /tmp/datei
-  chown root:​projekt+  chown root:​projekt ​/tmp/datei
   chmod g+w /tmp/datei   chmod g+w /tmp/datei
   su - iw   su - iw
Zeile 128: Zeile 161:
   useradd -m raumpflege   useradd -m raumpflege
   ls -l /home   ls -l /home
 +
 +Daher sollte man vor oder nach dem Löschen einer Benutzerkennung sämtliche Dateien, die diesem Benutzer gehörten, als ''​root''​ übernehmen oder einem anderen, für diesen Zweck erstellten technischen Benutzer übereignen.
 +====== Beispiel: SUID-Bit Dateien finden und SUID-Bit dauerhaft entfernen ======
 +SUID-Bit Dateien finden (als root):
 +
 +  find / /boot -xdev -perm /u+s -type f -user root -ls
 +
 +SUID-Bit dauerhaft entfernen:
 +Ubuntu / Debian: ​
 +  dpkg-statoverride --update --add root root 0755 /bin/ping
  
 ====== Beispiel: Auswirkung von mount-Optionen ====== ====== Beispiel: Auswirkung von mount-Optionen ======
Zeile 135: Zeile 178:
  
 Weitere Mount-Optionen mit Auswirkungen auf Dateirechte: ​ Weitere Mount-Optionen mit Auswirkungen auf Dateirechte: ​
-|Option ​|Bedeutung|+^Option ​^Bedeutung|
 |nodev ​ |Gerätedateien sind nicht erlaubt| |nodev ​ |Gerätedateien sind nicht erlaubt|
 |noexec | Ausführbare Dateien sind nicht erlaubt | |noexec | Ausführbare Dateien sind nicht erlaubt |
Zeile 176: Zeile 219:
   ls -l /​tmp/​restore   ls -l /​tmp/​restore
  
-====== Links ====== +
-  * [[ http://​www.heise.de/​security/​news/​meldung/​69292 | Sind ACLs unter Windows "​besser"?​ ]] +
-  * [[ http://​www.matthiess.de/​freie-software/​linux/​posix-acl-erste-schritte | Erste Schritte mit posix-acls ]] +
-  * [[ http://​www.suse.de/​~agruen/​acl/​linux-acls/​online | Detailierte Beschreibung Linux ACLs ]]+
  
admin_grundlagen/dateirechte.txt · Zuletzt geändert: 2021/02/17 10:55 von ingo_wichmann