Linux Rechte
Anwenderarten
Linux kennt 3 Anwender Arten:
- Eigentümer einer Resource: user
- Mitglied einer Gruppe: group
- Alle anderen: other
Berechtigungen
- r– Lesen von Dateien oder Verzeichnissen.
- -w- Dateien oder Verzeichnisse Ändern:
- Anlegen, überschreiben, löschen.
- --x Datei ausführen, im Verzeichnis wechseln.
Für jeder Datei oder Verzeichnis sind die Zugriffsrechte für den Anwender, eine Gruppen und für alle anderen festgelegt.
User mit Home Verzeichnis anlegen
User mit gegebene uid und gid anlegen:
# groupadd -g 6000 anton
# useradd -u 6000 -g 6000 -m anton
# ls -ld /home/anton
drwx------ 3 anton anton 4096 28.02.2023Mit der Option -D wurde das Home Verzeichnis angelegt.
Bei der
zweite Variante wird es die option -m gegeben.
- d besagt, dass es sich um ein Verzeichnis handelt.
- rwx ist nur für USER gesetzt, anderen haben hier nicht zu suchen.
Gruppen Zugehörigkeit und default shell, Passwort vergeben / ändern
# usermod -G wheel -s /bin/ksh # Unter Linux ist die Shell meistens die bash
# passwd test
Geben Sie ein neues Passwort ein:
Unsicheres Passwort: Das Passwort ist kürzer als 8 Zeichen
Geben Sie das neue Passwort erneut ein:
passwd: alle Authentifizierungsmerkmale erfolgreich aktualisiert.Der User darf Verwaltungsaufgaben vornehmen, deswegen wurde ihn die Mitgliedschaft in der Gruppe wheel eingeräumt.
Als User Test einlogen
$ su - test
$ ls -la
insgesamt 40
drwx------ 4 test test 4096 27. Feb 16:08 .
drwxr-xr-x. 4 root root 4096 27. Feb 15:44 ..
-rw------- 1 test test 43 27. Feb 16:01 .bash_history
-rw-r--r-- 1 test test 18 2. Jan 12:43 .bash_logout
-rw-r--r-- 1 test test 141 2. Jan 12:43 .bash_profile
-rw-r--r-- 1 test test 492 2. Jan 12:43 .bashrc
drwx------ 2 test test 4096 27. Feb 16:08 .cache
-rw-r--r-- 1 test test 172 19. Sep 12:42 .kshrc
drwxr-xr-x 4 test test 4096 22. Jul 2022 .mozilla
-rw------- 1 test test 48 27. Feb 16:08 .xauthPPajCu
$ id
uid=1001(test) gid=1001(test) Gruppen=1001(test),10(wheel)Sonder Rechte
--s------Ausführen mit der Eingentümerrechte.-----s---Ausführen mit der Gruppenrechte. Bei Verzeichnisse Vererbung der Gruppe.--------tWenn eine Verzeichnis diesen Flag hat können Dateien nur vom Eigentümer der Datei gelöscht werden.--------tFrüher: ausführbare Datei verbleibt im RAM, schnellere Ladezeit.
Was bedeutet ein großes S oder T bei der Ausgabe von ls -l
Die S-Bits für Owner (SUI) und Group (SGID) sind gesetzt. jedoch nicht das x-bit. das gleiche gilt für das t-bit (Sticky bit).
Beispiel: /tmp Verzeichnis
Beispiel: /usr/bin Verzeichnis
$ cd /usr/bin/; ls -l | egrep '^-..s|^-.....s'
-rwsr-xr-x 1 root root 62336 18. Jan 01:00 at
-rwsr-xr-x 1 root root 74640 6. Mär 01:00 chage
-rws--x--x 1 root root 28696 21. Jan 01:00 chfn
-rws--x--x 1 root root 24552 21. Jan 01:00 chsh
-rwsr-xr-x 1 root root 53768 19. Jan 01:00 crontab
-rwxr-sr-x 1 root mail 24744 19. Jan 01:00 dotlockfile
-rwsr-xr-x 1 root root 49248 21. Jan 01:00 mount
-rwsr-xr-x 1 root root 38192 6. Mär 01:00 newgrp
-rwsr-xr-x 1 root root 32760 19. Jan 01:00 passwd
-rwsr-xr-x 1 root root 32704 30. Mär 02:00 pkexec
-rwxr-sr-x 1 root plocate 323360 20. Jan 01:00 plocate
-rwxr-sr-x 1 root screen 517824 21. Jan 01:00 screen
-rwsr-xr-x 1 root root 58144 21. Jan 01:00 su
---s--x--x 1 root root 202336 1. Mär 01:00 sudo
-rwsr-xr-x 1 root root 36896 21. Jan 01:00 umount
-rwxr-sr-x 1 root tty 24568 21. Jan 01:00 writeCapabilities, besondere Zugriffrechte für Programme
$ cd /usr/bin/; getcap *
arping cap_net_raw=p
clockdiff cap_net_raw=p
newgidmap cap_setgid=ep
newuidmap cap_setuid=epDie Capabilities erlauben es feingranulare Berechtigungen bestimmte Programme zu geben.
Gemeinsamen Ordner mit Guppenrechte
# mkdir /video
# chmod 3770 /video
# chgrp video /video
# ls -lnd /video
drwxrws--T 0 39 2 10. feb 08:00 /videoAnwender, die Mitglied der Gruppe video sind dürfen Dateien und Ordner anlegen, die erzeugte Kinder erben die Gruppe vom übergeordnete Verzeichnis. Das SGID Bit wir auch an Verzeichnisse vererbt.
Das Sticky Bit wird nicht vererbt!
User und Gruppen Administration
- useradd
- usermod
- userdel
- groupadd
- groupmod
- groupdel
Siehe Man Pages!
Rechte beim Anlegen einer Datei
$ umask
0022
$ > u
$ ls -ln u
-rw-r--r-- 1 1000 1000 0 28. Feb 17:02 u
$ umask 0000
$ > u0
$ ls -ln u0
-rw-rw-rw- 1 1000 1000 0 28. Feb 17:07 u0Die “2” verhindern, dass die w bits für group und other gesetzt werden. Dies kann aber geändert werden.
Dateien und Ordner Rechte ändern
$ chmod 777 /tmp/u0
$ ls -ln u0 /tmp/u0
-rwxrwxrwx 1 1000 1000 0 28. Feb 17:07 u0
$ chmod ugo=rw /tmp/u0
$ ls -ln u0 /tmp/u0
-rw-rw-rw- 1 1000 1000 0 28. Feb 17:07 u0
$ chmod u+x /tmp/u0
$ chmod g-w /tmp/u0
ls -ln u0 /tmp/u0
-rwxr--r- 1 1000 1000 0 28. Feb 17:07 u0
$ chmod -R a=rwX /tmp/dir
$ls -ldn
drwxrwxrwx 2 1000 1000 0 28. Feb 18:07 dir
$ ls -ln dir
-rw-rw-rw- 2 1000 1000 0 28. Feb 18:03 fileDas “X” im letzte Befehl besagt setze das “x” bit für Directories, lasse das “x” bit, bei Dateien unverändert.
Eigentum
- chown kann auch Eigentümer und Gruppe gleichzeitig ändern (own user:group).
- chgrp
UID - GID
$ id
uid=1001(test) gid=1001(test) Gruppen=1001(test),10(wheel)
$ newgrp wheel
$ id
uid=1001(test) gid=10(wheel) Gruppen=1001(test),10(wheel)
$ > w
$ ls -ln w
-rw-r--r-- 1 1001 10 0 12. Feb 07:17 wDie Gruppen zugehörigkeit neu angelegte Verzeichnissen oder Dateien wird entsprechend der primäre Gruppe gesetzt, hier die Gruppe wheel.
Rechte bei neue Dateien und Verzeichnissen
- Dateien uid und gid des Anwenders werden entspechend das umask gesetzt, das x Recht wird nicht gesetzt.
- Verzeichnisse wie Dateien, das x Recht wird jedoch gesetzt.
Posix ACL
- verschienene Anwender können auf bestimmte Daten gleichberechtigt zurückgreifen oder unterschieldieliche Rechte erhalten.
- Basieren auf das UNIX Rechtemodel (User, Group, Other mit rwx Rechte).
- Die Berechtigungen der Elternverzeichnis werden vererbt.
- Viel flexibel als das Standard Rechte Model.
ACL Lesen und Setzen
- getfacl
- setfacl
Die Rechte werden entsprechend der Posix ACL vererbt. Dateien und Ordner können mehrere User und / oder Gruppen angehören.
ACL Syntax
- d:user|group|other:Recht
- rechte die vererbt werden.
- Beispiel d:u:anna:rw-,d:u:bernd:r--
<Verzeichnis>
Anna darf Lesen und Schreiben, Bernd nur Lesen.
- user|group|other:Recht
- Rechte für eine bestimmte Datei oder Verzechnis festlegen.
- Beispiel u:bernd:rw- <Datei>
ls und ACL
$ mkdir dir
$ chmod o=rwxt dir
$ ls -ln dir
drwxrwxrwt 2 1000 1000 40 28. Feb 17:20 dir
$ setfacl -m d:u::rwx dir
$ getfacl dir
# file: dir
# owner: me
# group: me
# flags: --t
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx
$ ls -lnd dir
drwxrwxrwt+ 2 1000 1000 40 10. Feb 17:20 dirACL Mask
- Mit der Maske wird für Anwender, Gruppe und Andere die maximale
Rechte auf der Wert der Mask begrenzt.
- Formel: Recht & Mask. Recht = rwx, Mask = r-- ⇒ r--
- Die Maske ist nicht wirklich sinnvoll, sie sollte nicht gesetzt werden
Die Rechte werden entsprechend der Maske eingeschränkt. Hier wird schreiben untersagt. Dies kann zu unschöne Effekte führen.
Baum stuktur mit ACL nachträglich versehen
# ls -ld video
drwxrwx--- 3 root root 4096 Feb 12 12:43 video
# chgrp -R video video # ev. video/* video
# setfacl -R -n -m d:u::rwx,d:g:video:rwx,g:video:rwx video
# # Dateien und Verzeichnis rechte korrigieren mit:
# chmod -R g-x video
# chmod -R g+X videoDie Maske wird nur aud Verzeichnisse angewand, ohne d:m::rwx wären die Dateien mit das Ausführungsrecht für der Gruppe versehen.
ACL Einträge entfernen
Alles:
Ein bestimmten User:
Beispiel Familie Unternehmen ACL: Besitzer und Mitgliedschaften
| Anwender | Gruppen Mitgliedschaft | Rechte $HOME |
|---|---|---|
| vater | vater, eltern | rwx------ |
| mutter | mutter, eltern | rwx------ |
| tochter | tochter, kinder | rwx------ |
| sohn | sohn, kinder | rwx------ |
| Ordner | Gruppe | Rechte |
|---|---|---|
| grusel | eltern | rwx |
| Zeichentrick | eltern kinder |
rwx rx |
Beispiel Familie Unternehmen: ACL der Verzeichnissen setzen
Beispiel reiche Familie
Die Kinder haben ein Betreuer oder betreuerin, diese Person darf die Gruselfilme sehen und Zeichentrickfile einstellen.
$ setfacl -R -m d:g:betreuer:r-x grusel
$ setfacl -R -m d:g:betreuer:rwx zeichentrick
$ getfacl zeichentrick
# file: zeichentrick
...
group:eltern:rwx
group:kinder:r-x
group:betreuer:rwx
...
default:group:eltern:rwx
default:group:kinder:r-x
default:group:betreuer:rwx
...Diese Rechte werden den bereits vorhandenen hinzugefügt.
Sohnemann den Zugriff verweigern/erlauben
Login verweigern
# usermod -L sohn
Login wieder erlauben
# usermod -U sohn
ACL und GUI
Dolphin der KDE Datei-Manager kann auch verwendet werden. Für einige weitere Desktop (MATE, …) kann Eiciel als Plugin installiert werden.
Anwender und Gruppen im Netzwerk
- User und Gruppen sind mit ein 32 Bit Nummer versehen. Bei den heutigen Linux Distributionen ist das Bereich 0 bis 999 für System Accounts und Gruppen reserviert.
- Der erste Anwender erhält üblicherweise die UID 1000.
- Sollen Dienste von verschiedene Anwendern im Netzwerk mittels NFS v3 in Anspruch genommen werden, sollte beim Anlegen der Anwendern eine Netzwerkweite passende UID vorgegeben werden.
Die Sicherheit von NFS v3 ist nicht so gut, der Transfer erfolgt unverschlüsselt. Die Autorisierung erfolgt anhand der UID und GID.
UID und GID einem Anwender nachträglich ändern
Für Dateien außerhalb von $HOME müssen die UID und GID manuell angepasst werden.
NFS v3 - Server
Datei /etc/exports
NFS v3 - Client
Von der Kommando Zeile einbinden:
oder in der Datei /etc/fstab, es wird beim hochfahren automatisch eingebunden
Samba geht auch
Untreuen können auch mit ein Windows System auf die Freigaben zurückgreifen.
Es wäre aber gut die ACL auf den Anwender zu beziehen:
setfacl -R -b *
setfacl -R -m d:u:vater:rwx,d:u:mutter:rwx,u:vater:rwx,u:mutter:rwx,d:o::---,o::--- *
setfacl -R -m d:u:sohn:r-x,d:u:tochter:r-x,u:sohn:r-x,u:tochter:r-x zeichentrick
chmod -R a-x *
chmod -R ug+X *Samba Vorbereitung
Für sämtliche Anwender nachstehendes ausführen:
# smbpasswd -a <USER>
smb.Conf anpassen
Samba Server für Windows sichtbar machen
- wsdd Paket installieren.
- wsdd enablen und starten.
Vor- und Nachteile von SMB und NFSv3
- NFSv3 ist nicht verschlüsselt.
- In eine sichere Umgebung ist es kein gravierenden Nachteil.
- Mittels ein VPN wie Wireguard kann NSFv3 verschlüsselt werden.
- NFSv4 bietet eigene ACL, ist verschlüsselt jedoch komplizierten zu verwalten als NFSv3
- NFS ist für Windows HOME nicht vorhanden.
- Windows Systeme sind Case insensitive, Ordner und ordner sind identisch!
- Windows Share werden nicht im Linux-Dateimanager angezeigt.
- Sie können jedoch eingebunden werden, Eintrag in fstab.
- Im Datei Manager die Adresse smb://<windows-hostname|IP> eintragen, die mögliche getreilten Ordner werden angezeigt.
- Windows kennt zwar die POSIX-ACL, die Gruppen ACL werden jedoch nicht beachtet.
- SMB wird von alle gängigen Betriebssysteme unterstüzt.