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 [2017/10/16 14:55] – [Übung: finde die minimal nötigen Berechtigungen] 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 ''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 jeweils bei ''dir1'', ''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?
  
  
 +====== Ü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 ======
 ^ 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 48: 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 90: Zeile 99:
  
 ====== Übung: Weniger Rechte für Eigentümer und Gruppe ====== ====== Übung: Weniger Rechte für Eigentümer und Gruppe ======
-''/tmp/datei356'' : +Erzeuge ein Verzeichnis ''/srv/open'' mit großzügigen Berechtigungen: 
-<file>+  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
 </file> </file>
-  chmod 356 /tmp/datei356+ 
 +Setze die Berechtigungen zu ''356'': 
 +  chmod 356 /srv/open/datei356
  
 Wer darf was? Wer darf was?
Zeile 102: 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 123: Zeile 163:
   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 171: 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.1508165722.txt.gz · Zuletzt geändert: 2017/10/16 14:55 von ingo_wichmann