Bei der Installation wird man nach einen Benutzernamen,
Passwort und einem Administrator Passwort (für root) gefragt.
Dieser erste Benutzer hat meist schon leicht erweiterte Rechte.
Daher verwende ich dafür häufig den Namen "m" - wie Maintenance
oder m wie Leitung der Doppel-Null-Abteilung ;-)
Danach lege ich die Standard-Benutzer an mit den Namen "a1", "b1", etc.
für ein System welches auf der 1. Partition läuft.
Entsprechend sind den Benutzern noch Gruppen "m", "a", "b", etc. zugeordnet.
Den Benutzer "m" stelle ich so ein, dass ich in alle anderen Benutzer gucken kann.
Alle übrigen Benutzer können nicht in die Ordner ihrer jeweils anderen Benutzer gucken.
Ein Benutzer soll das eigene Profil aus einer anderen Installation lesen und schreiben können.
z.B. "a1" darf in "a2" lesen und schreiben und umgekehrt.
Da Linux nicht mit Benutzer-Namen, sondern mit ID's (uid's) arbeitet,
ist es wichtig in jeder Installation die selben ID's zu verwenden.
Analog wird eine Gruppe (gid) behandelt.
Nach der Installation und Einrichtung des Benutzers "m" sieht /home
wie folgt aus.
cd /home ls -la total 28 drwxr-xr-x 4 root root 4096 Mar 19 05:02 . drwxr-xr-x 18 root root 4096 Jun 27 05:20 .. drwx------ 2 root root 16384 Mar 19 04:55 lost+found drwxr-xr-x 9 m m 4096 Jul 17 17:41 m id m uid=1000(m) gid=1000(m) groups=1000(m),24(cdrom),25(floppy),29(audio),30(dip), 44(video),46(plugdev),109(netdev),112(bluetooth),116(scanner),119(lpadmin) cat /etc/group root:x:0: ... m:x:1000:
Das Ergebnis aus /etc/group
sollte niemals direkt editiert werden,
sondern lediglich als Kontrolle ausgegeben werden.
Die Gruppe root:x:0:
sollte stets keine weiteren Benutzer enthalten!
Zum Anfang
Allgemein gibt es verschiedene Befehle mit ähnlicher Wirkung zum Erzeugen, Ändern und Löschen.
Gibt man z.B. man useradd
ein, empfiehlt Debian stattdessen adduser
zu verwenden.
Anbei die wichtigsten Befehle und Parameter...
useradd -g group username group kann die gid oder der Gruppenname sein besser adduser verwenden adduser [opt] user group Allg. Notation: Optionen Benutzername Gruppenname adduser --ingroup group user adduser user erzeugt User und Gruppe adduser --uid ID --ingroup group --gid ID user addgroup [opt] [--gid ID] group groupmod -n newGroup oldGroup usermod [opt] user usermod -aG group1,group2 user Benutzer weiterer Gruppen hinzufügen usermod -l user_neu user_alt Benutzername ändern usermod -d /home/verzeichnis_neu -m user Verzeichnis ändern usermod -L user_locked Benutzer sperren userdel -r username mit löschen des Heimatverzeichnisses deluser c3 löscht User c3 & deren Gruppe deluser c3 c löscht nur den Benutzer c3 aus der Gruppe c
Eine gute Beschreibung findet sich unter cyberciti.biz add user to group
Zum Anfang
Unter Debian 10 fängt die erste Benutzer-ID und Gruppen-ID jeweils mit 1000 an.
Das bedeutet, der nächste Benutzer & Gruppe bekommt die nächst höhere ID.
su addgroup a bis DEB 9 möglich -> gid=1001 groupadd b war genauso möglich -> gid=1002 whereis addgroup Pfad in DEB 10 suchen addgroup: /usr/sbin/addgroup /usr/share/man/man8/addgroup.8.gz /usr/sbin/addgroup a ab DEB 10 Adding group `a' (GID 1001) ... Done. /usr/sbin/addgroup b /usr/sbin/groupadd c erzeugt um es später zu löschen
su usermod -aG gruppe_vboxusers user_neu Benutzer weiterer Gruppe hinzufügen adduser a1 --ingroup a bis DEB 9 möglich adduser b1 --ingroup b /usr/sbin/adduser a1 --ingroup a ab DEB 10 Adding user `a1' ... Adding new user `a1' (1001) with group `a' ... Creating home directory `/home/a1' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for a1 Enter the new value, or press ENTER for the default Full Name []: a1 Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y /usr/sbin/adduser b1 --ingroup b /usr/sbin/adduser c1 --ingroup c erzeugt, um es später zu löschen
Zum Anfang
usermod -l neu_user alt_user Name ändern usermod -d /home/neu_pfad -m neu_user Ordner-Name ändern
usermod -L user_locked Benutzer sperren
su /usr/sbin/deluser c1 löscht nur den Benutzer aus der Gruppe Removing user `c1' ... allg. deluser [options] user group Warning: group `c' has no more members. Done. ls /home Ordner c1 bleibt bestehen... a1 b1 c1 lost+found m cat /etc/group ... Benutzer c1 ist gelöscht, c:x:1003: Gruppe c ist geblieben /usr/sbin/userdel -r c1 löscht c1 & Heimatverzeichnis
Zum Anfang
Um von "m" aus in die anderen Benutzer gucken zu können, ist es erforderlich das der Benutzer "m" der Gruppe "a" und "b" hinzugefügt wird.
su whereis usermod ... /user/sbin usermod -aG a,b m Benutzer m der Gruppen a & b hinzufügen
Zum Anfang
Da die verschiedenen Benutzer nicht fremde Ordner einsehen sollen,
lösche ich "read" und "execute" von "other".
Entsprechend ist vom Befehl chmod
die dritte Ziffer 0.
ls -l ... entspricht drwxr-xr-x 15 a1 a 4096 Aug 2 14:25 a1 755 drwxr-xr-x 2 b1 b 4096 Jul 17 19:12 b1 755 drwxr-xr-x 2 1003 c 4096 Aug 8 20:26 c1 755 c1 wurde gelöscht drwx------ 2 root root 16384 Mar 19 04:55 lost+found 700 su rwx = read write execute cd /home chmod 750 m 7= 4+2+1 5= 4+1 0= --- chmod 750 a1 u= r w x g= r-x o= --- chmod 750 b1 u= user g= group o= others ls -l drwxr-x--- 15 a1 a 4096 Aug 2 14:25 a1 750 ist das gewünschte Ergebnis ...
Weitere Details bzgl. des Befehls chmod sind weiter unten.
Zum Anfang
Wichtig ist zu wissen, dass viele Änderungen erst nach dem nächsten Einloggen übernommen werden.
Um also Überraschungen zu vermeiden, vor den Tests einmal aus- und wieder ein-loggen.
ls -la /home ... drwxr-x--- 3 a1 a 4096 Jul 18 01:42 a1 drwx = 7 drwxr-x--- 2 b1 b 4096 Jul 17 19:12 b1 r-x = 5 drw xr-x--- 9 m m 4096 Jul 18 01:40 m --- = 0 cat /etc/group Ergebnis der Änderung ... m:x:1000: a:x:1001:m Benutzer m gehört zur Gruppe a & b b:x:1002:m cat /etc/passwd root:x:0:0:root:/root:/bin/bash user:x:uid:gid:gecos:home:shell ... m:x:1000:1000:m,,,:/home/m:/bin/bash nur zur Info a1:x:1001:1001:a1,,,:/home/a1:/bin/bash b1:x:1002:1002:b1,,,:/home/b1:/bin/bash cd /home/a1 keine Fehlermeldung mit Benutzer m su a1 gleicher Versuch als Benutzer a1 cd /home/m -bash: cd: /home/m: Permission denied Benutzer a1 hat keine Rechte auf Ordner m
Zum Anfang
Manchmal ist es sinnvoll ganze Datei-Bäume (rekursiv) einem anderen Benutzer zuzuordnen und allen Ordnern bzw. Dateien bestimmte Rechte zu geben.
su chown -Rc a1:a Musik recursiv, c=bei Änd. → verbose find Musik -type f -exec chmod 660 {} + Rechte für alle Folder ändern find Musik -type d -exec chmod 770 {} + Rechte für alle Dateien ändern
Weitere Details bzgl. des Befehls chown sind weiter unten.
Es ist auch möglich die Passwörter von anderen Benutzern zu ändern...
su passwd a1 Passwort von anderen Benutzer ändern, benötigt root
Zum Anfang
Allgemeine Parameter für chown
, wie change owner.
chown [opt] owner:group file -R --recursive -v --verbose -c nur changes anzeigen --exclude vorhanden --from=user_old:group_old nur der gewünschte Benutzer und Gruppe wird geändert
Konkrete Beispiele:
chown -Rc a:a .filezilla alles im unsichtbaren Ordner .filezilla bekommt einen anderen Besitzer chown -Rc m:m * *, aber es fehlen allerdings die unsichtbaren Dateien chown -Rc m:m .* Niemals! da dann auch die Ebenen darüber betroffen sind.
Zum Anfang
Allgemeine Übersicht über chmod
Parameter und weitere Beispiele.
chmod [opt] mode file allg. Format Form: [ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+ -c nur changes anzeigen -v verbose - besonders gesprächig -R recursive
Bezeichnung der Abkürzungen
Konkrete Beispiele
chmod -Rc ug+rw Music u-user & g-group dürfen r-lesen & w-schreiben chmod o-rwx m entfernt alle Rechte für others vgl. 750 Find /home/Musik -type f -exec chmod 660 {} + alle Dateien bekommen 660 Find /home/Musik -type d -exec chmod 770 {} + alle Ordner bekommen 770
Zum Anfang
su rsync wurde von root und nicht a3 gestartet rsync --numeric-ids --progress -ac --exclude=VirtualBox\ VMs/* --exclude=.ssh --exclude=.local/share/Trash/* /home/a /media/a3/702aa5eb-57b3-4c2f-8b38-36bf3675bc2c/ rsync: write failed on ".../part_c.tar.gz": Read-only file system (30) ls -la -rw-r--r-- 1 a3 a 49635593567 Jun 2 2015 part_c.tar.gz nur lesbar reicht nicht chmod 660 part_c.tar.gz ls -la -rw-rw---- 1 a3 a 49635593567 Jun 2 2015 part_c.tar.gz
Zum Anfang
Zum Anfang