Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi1:dateirechte

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
lpi1:dateirechte [2014/07/12 08:50]
127.0.0.1 Externe Bearbeitung
lpi1:dateirechte [2018/11/06 13:06] (aktuell)
Zeile 1: Zeile 1:
-====== ​Befehle Dateirechte ​====== +====== ​Übung: finde die minimal nötigen Berechtigungen ​======
-=== Benutzer anlegen === +
-  useradd -m benutzer +
-=== Benutzer löschen === +
-  userdel -r benutzer+
  
-=== Dateizugriffsrechte betrachten ​===+  mkdir -m 000 /tmp/dir1 /tmp/dir2 
 +  echo geheim > file1 
 +  chmod 000 file1 
 + 
 +Welche Berechtigungen müssen jeweils bei ''/​tmp/​dir1'',​ ''/​tmp/​dir2''​ und ''​file1''​ hinzugefügt werden, damit ''​file1''​ mit 
 +  cp file1 /​tmp/​dir1/​ 
 +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 
 +  mv /​tmp/​dir1/​file1 /​tmp/​dir2/​ 
 +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 ====== 
 +^ Dateizugriffsrechte betrachten |
   ls -l datei   ls -l datei
-=== Verzeichnisrechte betrachten ​===+
 +Verzeichnisrechte betrachten ​|
   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 {} + 
-oder schneller +|
-  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 82: Zeile 94:
 </​file>​ </​file>​
  
-====== ​Beispiel: Weniger Rechte für Eigentümer und Gruppe ====== +====== ​Übung: Weniger Rechte für Eigentümer und Gruppe ====== 
-  chmod 246 /verzeichnis/datei+Erzeuge eine Datei ''/​tmp/​datei356''​ mit folgendem Inhalt: 
 +<file txt /​tmp/​datei356>​ 
 +#​!/​bin/​bash 
 +echo executable 
 +</​file>​ 
 + 
 +Setze die Berechtigungen zu ''​356'':​ 
 +  chmod 356 /tmp/datei356 
 + 
 +Wer darf was? 
 + 
 +|  ''​r''​ ''​w''​ ''​x'' ​ ^Mitglied der Gruppe ​ ^nicht Mitglied der Gruppe^ 
 +^             ​Besitzer| ​ ''​_''​ ''​_''​ ''​_'' ​ |  ''​_''​ ''​_''​ ''​_'' ​     | 
 +^       nicht Besitzer| ​ ''​_''​ ''​_''​ ''​_'' ​ |  ''​_''​ ''​_''​ ''​_'' ​     |
  
-====== Beispiel: Gruppenzugehörigkeiten ​leben länger als man denkt ======+Tip: 
 +Das Schreiben von Dateien kann man zerstörungsfrei mit 
 +  >> /​tmp/​datei356 
 +testen.  
 +Das Lesen von Dateien kann man mit 
 +  tail /​tmp/​datei356 
 +testen. 
 +====== 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
Zeile 101: Zeile 133:
   echo test1 >> /tmp/datei   echo test1 >> /tmp/datei
  
-====== Beispiel: ​Ungewollte Reinkarnation unter Linux ======+====== Beispiel: ​Ungewollter Eigentümerwechsel nach dem Löschen eines Nutzers ​======
   useradd -m chef   useradd -m chef
   userdel chef   userdel chef
   useradd -m raumpflege   useradd -m raumpflege
   ls -l /home   ls -l /home
 +
 +====== 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 ======
-  mkdir /mnt/hda2 +  mkdir /mnt/sda2 
-  mount -o ro /dev/hda2 /mnt/hda2 +  mount -o ro /dev/sda2 /mnt/sda2 
-  touch /mnt/hda2/test+  touch /mnt/sda2/test
  
 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 |
 |nosuid | S-BIT wird ignoriert | |nosuid | S-BIT wird ignoriert |
-|noatime|Keine Aktualisierung der atime  | 
-|relatime|atime wird nur aktualisiert,​ wenn ein Schreibzugriff in der inode erfolgt ​ |  
 |ro     | Dateien sind nicht veränderbar | |ro     | Dateien sind nicht veränderbar |
  
 +====== Beispiel: Ungewollter Eigentümerwechsel bei Backup und Restore ======
 +=== Server A ===
 +
 +  useradd -u 2000 nutzer_a
 +  useradd -u 2001 nutzer_b
 +  useradd -u 2002 nutzer_c
 +  useradd -u 2003 nutzer_d
 +
 +=== Server B ===
 +  useradd -u 2000 nutzer_a
 +  useradd -u 2003 nutzer_b
 +  useradd -u 2001 nutzer_e
 +
 +  mkdir /tmp/backup
 +
 +=== Server A ===
 +  mkdir /​tmp/​workdir
  
 +  touch /​tmp/​workdir/​file_{a,​b,​c,​d}
 +  chown nutzer_a /​tmp/​workdir/​file_a
 +  chown nutzer_b /​tmp/​workdir/​file_b
 +  chown nutzer_c /​tmp/​workdir/​file_c
 +  chown nutzer_d /​tmp/​workdir/​file_d
  
-====== Einstellung zum Erzeugen neuer Dateien ====== +  rsync -a /​tmp/​workdir/​file_* server_b:/​tmp/​backup
-  umask 007     z.B. Für Gruppenarbeit +
-  umask 077     z.B. Für Singles, Einzelarbeiter+
  
-  ​/etc/profile ​ Systemweite Einstellen der umask+=== Server B === 
 +  ls -l /tmp/backup
  
 +=== Server A ===
  
- +  mkdir /​tmp/​restore 
 +  rsync -a server_b:/​tmp/​backup/​file_* /​tmp/​restore 
 +  ls -l /​tmp/​restore
  
 ====== Links ====== ====== Links ======
lpi1/dateirechte.1405155033.txt.gz · Zuletzt geändert: 2014/11/26 10:37 (Externe Bearbeitung)