Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:dateirechte

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:dateirechte [2018/11/06 11:25] – [Beispiel: Ungewollter Eigentümerwechsel nach dem Löschen eines Nutzers] ingo_wichmannadmin_grundlagen:dateirechte [2021/02/17 10:55] (aktuell) – [Übung: Weniger Rechte für Eigentümer und Gruppe] ingo_wichmann
Zeile 5: Zeile 5:
   chmod 000 file1   chmod 000 file1
  
-Welche Berechtigungen müssen jeweils bei ''/tmp/dir1'', ''/tmp/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 /tmp/dir1/+  cp file1 /tmp/dir1/file2
 ins Verzeichnis ''/tmp/dir1'' kopiert werden kann? ins Verzeichnis ''/tmp/dir1'' kopiert werden kann?
  
 ---- ----
  
-Welche Berechtigungen müssen jeweils bei ''/tmp/dir1'', ''/tmp/dir2'' und ''file1'' hinzugefügt werden, damit ''file1'' mit +Welche (minimalen) Berechtigungen müssen jeweils bei ''/tmp/dir1'', ''/tmp/dir2'' und ''file2'' hinzugefügt werden, damit ''file2'' mit 
-  mv /tmp/dir1/file1 /tmp/dir2/+  mv /tmp/dir1/file2 /tmp/dir2/
 ins Verzeichnis ''dir2'' verschoben werden kann? ins Verzeichnis ''dir2'' verschoben werden kann?
  
Zeile 21: Zeile 21:
   * Dateien die Berechtigung ''%%rw- r-- -w-%%'' und   * Dateien die Berechtigung ''%%rw- r-- -w-%%'' und
   * Verzeichnisse die Berechtigung ''rwx r-x -w-''   * Verzeichnisse die Berechtigung ''rwx r-x -w-''
-bekommen. +bekommen?
 ====== Befehle Dateirechte ====== ====== Befehle Dateirechte ======
 ^ Dateizugriffsrechte betrachten | ^ 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
 | |
Zeile 53: Zeile 56:
 | |
 ^ 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
 | |
  
Zeile 95: Zeile 99:
  
 ====== Übung: Weniger Rechte für Eigentümer und Gruppe ====== ====== Übung: Weniger Rechte für Eigentümer und Gruppe ======
-Erzeuge eine Datei ''/tmp/datei356'' mit folgendem Inhalt: +Erzeuge ein Verzeichnis ''/srv/open'' mit großzügigen Berechtigungen: 
-<file txt /tmp/datei356>+  mkdir -m 777 /srv/open 
 +Erzeuge eine Datei ''/srv/open/datei356'' mit folgendem Inhalt: 
 +<file txt /srv/open/datei356>
 #!/bin/bash #!/bin/bash
 echo executable echo executable
Zeile 102: Zeile 108:
  
 Setze die Berechtigungen zu ''356'': Setze die Berechtigungen zu ''356'':
-  chmod 356 /tmp/datei356+  chmod 356 /srv/open/datei356
  
 Wer darf was? Wer darf was?
Zeile 109: Zeile 115:
 ^             Besitzer|  ''_'' ''_'' ''_''  |  ''_'' ''_'' ''_''      | ^             Besitzer|  ''_'' ''_'' ''_''  |  ''_'' ''_'' ''_''      |
 ^       nicht Besitzer|  ''_'' ''_'' ''_''  |  ''_'' ''_'' ''_''      | ^       nicht Besitzer|  ''_'' ''_'' ''_''  |  ''_'' ''_'' ''_''      |
 +
 +Tip:
 +Das Lesen (''r'') von Dateien kann man mit
 +  head -0 /srv/open/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
 +  >> /srv/open/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 
 +  /srv/open/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 131: Zeile 164:
   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 ====== ====== Beispiel: SUID-Bit Dateien finden und SUID-Bit dauerhaft entfernen ======
 SUID-Bit Dateien finden (als root): SUID-Bit Dateien finden (als root):
Zeile 187: Zeile 221:
   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.1541503546.txt.gz · Zuletzt geändert: 2018/11/06 11:25 von ingo_wichmann