LPIC102/107.1 Benutzer- und Gruppenkonten: Unterschied zwischen den Versionen

Aus Foxwiki
Paul (Diskussion | Beiträge)
 
(58 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=='''Benutzer- und Gruppenkonten und dazugehörige Systemdateien verwalten'''==
'''LPIC102/107.1''' - Benutzer- und Gruppenkonten


'''Liste wichtiger Dateien, Verzeichnisse und Anwendungen:'''
== Beschreibung ==
LPIC102/107.1 Benutzer- und Gruppenkonten und dazugehörige Systemdateien verwalten


; Wichtige Dateien, Verzeichnisse und Anwendungen
  /etc/passwd
  /etc/passwd
  /etc/shadow
  /etc/shadow
Zeile 17: Zeile 19:
  usermod
  usermod


 
== passwd, shadow, group, gshadow ==
==passwd, shadow, group, gshadow /etc/passwd==
=== /etc/passwd ===
 
Die wichtigste Datei, die mit der Verwaltung von Benutzerkonten in Zusammenhang steht, ist die Datei /etc/passwd.
Die wichtigste Datei, die mit der Verwaltung von Benutzerkonten in Zusammenhang steht, ist die Datei /etc/passwd.


Beispiel:
; Beispiel
 
  root:x:0:0:root:/root:/bin/bash
  root:x:0:0:root:/root:/bin/bash
  harald:x:1000:100:Harald Maaßen:/home/harald:/bin/bash
  harald:x:1000:100:Harald Maaßen:/home/harald:/bin/bash
Zeile 33: Zeile 33:
#''Die dritte Position 1003 ist die User-ID.Sorgen Sie dafür, dass die Benutzer nach der Neuinstallation dieselben  Benutzer-IDs  bekommen,  die  sie  vor  der  Neuinstallation  hatten. Der Benutzer root bekommt immer die ID 0.''
#''Die dritte Position 1003 ist die User-ID.Sorgen Sie dafür, dass die Benutzer nach der Neuinstallation dieselben  Benutzer-IDs  bekommen,  die  sie  vor  der  Neuinstallation  hatten. Der Benutzer root bekommt immer die ID 0.''
#''Das vierte Feld, hier die 100, enthält die Group-ID. Das ist die initiale Gruppe des Benutzers, die in diesem Fall in der Datei /etc/group auf die Gruppe users zeigt.''
#''Das vierte Feld, hier die 100, enthält die Group-ID. Das ist die initiale Gruppe des Benutzers, die in diesem Fall in der Datei /etc/group auf die Gruppe users zeigt.''
#''Die fünfte Spalte  Willi0173-1234567 ist das sogenannte GECOS-Feld. Es kann Informationen über den Benutzer enthalten,  die z. B. mit dem Programm finger abgefragt werden können. Ein Benutzer kann das GECOS-Feld auch selbst ändern, indem er das Kommando chfn benutzt.''
#''Die fünfte Spalte  Willi0173-1234567 ist das sogenannte GECOS-Feld. Es kann Informationen über den Benutzer enthalten,  die z. B. mit dem Programm finger abgefragt werden können. Ein Benutzer kann das GECOS-Feld auch selbst ändern, indem er das Kommando chfn benutzt.''
#''Das sechste Feld /home/willi enthält den Pfad zum Heimatverzeichnis des Benutzers.''
#''Das sechste Feld /home/willi enthält den Pfad zum Heimatverzeichnis des Benutzers.''
#''Als  Letztes  wird  in  Feld  sieben  /bin/bash  der  Pfad  zur  Login-Shell  des  Benutzers aufgeführt. Wenn  hier  keine  ausführbare Datei angegeben wird, kann sich der Benutzer nicht anmelden. Sollte das gar erwünscht sein, ist es auch möglich, hier/bin/false anzugeben.''
#''Als  Letztes  wird  in  Feld  sieben  /bin/bash  der  Pfad  zur  Login-Shell  des  Benutzers aufgeführt. Wenn  hier  keine  ausführbare Datei angegeben wird, kann sich der Benutzer nicht anmelden. Sollte das gar erwünscht sein, ist es auch möglich, hier/bin/false anzugeben.''


 
=== /etc/shadow ===
==/etc/shadow==
 
#Das erste Feld enthält den Anmeldenamen. Dieser stimmt mit dem ersten Feld der/etc/passwd-Datei überein.''
#Das erste Feld enthält den Anmeldenamen. Dieser stimmt mit dem ersten Feld der/etc/passwd-Datei überein.''
#Das  zweite  Feld  enthält  das  verschlüsselte  Passwort.  Die  Verschlüsselung geschieht,  je  nach  Distribution,  mittels  DES  oder  MD5.  Die  Verschlüsselung mitMD5  ist  nicht  sicherer  als  die  mit  DES,  erlaubt  jedoch  die  Verwendung  längerer Passwörter. Bei der Verwendung von DES ist die Kennwortlänge auf acht Zeichen begrenzt. Längere Passwörter werden praktisch abgeschnitten.
#Das  zweite  Feld  enthält  das  verschlüsselte  Passwort.  Die  Kryptografie geschieht,  je  nach  Distribution,  mittels  DES  oder  MD5.  Die  Kryptografie mitMD5  ist  nicht  sicherer  als  die  mit  DES,  erlaubt  jedoch  die  Verwendung  längerer Passwörter. Bei der Verwendung von DES ist die Kennwortlänge auf acht Zeichen begrenzt. Längere Passwörter werden praktisch abgeschnitten.
#Zeitpunkt  der  letzten  Kennwortänderung. Dieser  Wert  wird  in  ganzen  Tagen  ab dem 1. Januar 1970 angegeben.
#Zeitpunkt  der  letzten  Kennwortänderung. Dieser  Wert  wird  in  ganzen  Tagen  ab dem 1. Januar 1970 angegeben.
#Mindestanzahl von Tagen zwischen Kennwortänderungen
#Mindestanzahl von Tagen zwischen Kennwortänderungen
Zeile 50: Zeile 48:
#reserviert für zukünftige Zwecke
#reserviert für zukünftige Zwecke


 
=== /etc/group ===
==/etc/group==
 
  root:x:0:
  root:x:0:
  bin:x:1:daemon
  bin:x:1:daemon
Zeile 66: Zeile 62:
#Liste der Gruppenmitglieder, die durch ein Komma voneinander getrennt sind
#Liste der Gruppenmitglieder, die durch ein Komma voneinander getrennt sind


==/etc/gshadow==
=== /etc/gshadow ===


Beispiel:
Beispiel:
Zeile 76: Zeile 72:
#Mitglieder  der  Gruppe  –  sie  werden,  wie  gehabt,  durch  Kommata  voneinander getrennt.
#Mitglieder  der  Gruppe  –  sie  werden,  wie  gehabt,  durch  Kommata  voneinander getrennt.


==useradd==
=== useradd ===
 
Mit diesem Befehl wird ein neuer Benutzer erstellt. Als Grundlage für die Voreinstellungen dient hierbei die Datei /etc/default/useradd. Diese Datei kann z. B. so aussehen:
Mit diesem Befehl wird ein neuer Benutzer erstellt. Als Grundlage für die Voreinstellungen dient hierbei die Datei /etc/default/useradd. Diese Datei kann z. B. so aussehen:


  GROUP=100
  GROUP=100
  HOME=/home
  HOME=/home
  INACTIVE=-1
  INACTIVE=-1
  EXPIRE=
  EXPIRE===
  SHELL=/bin/bash
  SHELL=/bin/bash
  SKEL=/etc/skel
  SKEL=/etc/skel
Zeile 96: Zeile 91:
#Der Benutzer gehört, abgesehen von der initialen Gruppe, auch noch den Gruppenvideo und dialout an.
#Der Benutzer gehört, abgesehen von der initialen Gruppe, auch noch den Gruppenvideo und dialout an.


==userdel==
=== userdel ===
 
Mit  diesem  Kommando  wird  ein  Benutzerkonto  vom  System  entfernt.  Es  wird  einfach nur der Anmeldename übergeben.
Mit  diesem  Kommando  wird  ein  Benutzerkonto  vom  System  entfernt.  Es  wird  einfach nur der Anmeldename übergeben.


Häufig verwendete Optionen sind:
Häufig verwendete Optionen sind:
 
-r (remove) löscht gleichzeitig das Heimatverzeichnis des Benutzers.
-r (remove) löscht gleichzeitig das Heimatverzeichnis des Benutzers.
-f (force) löscht das Heimatverzeichnis des Benutzers auch dann, wenn dieses Verzeichnis Dateien anderer Benutzer enthält.
 
-f (force) löscht das Heimatverzeichnis des Benutzers auch dann, wenn dieses Verzeichnis Dateien anderer Benutzer enthält.
 


Beispiel:
Beispiel:
  userdel willi -rf
  userdel willi -rf


löscht  den  Benutzer  Willi  inklusive  seines  Heimatverzeichnisses,  auch  wenn  dieses Daten anderer Benutzer enthält.
löscht  den  Benutzer  Willi  inklusive  seines  Heimatverzeichnisses,  auch  wenn  dieses Daten anderer Benutzer enthält.


=== usermod ===
Der  Befehl usermod  dient  dazu,  ein  existierendes  Benutzerkonto  zu  ändern.  Die  Syntax  bzw.  die  Optionen  zu  usermod  ähneln  größtenteils  denen  von useradd.


==usermod==
=== passwd ===
 
Der  Befehl usermod  dient  dazu,  ein  existierendes  Benutzerkonto  zu  ändern.  Die  Syntax  bzw.  die  Optionen  zu  usermod  ähneln  größtenteils  denen  von useradd.
 
 
==passwd==
 
Das  Kommando passwd  wird  hauptsächlich  dazu  verwendet,  das  Kennwort  eines Benutzers zu ändern. Es können aber auch Änderungen damit durchgeführt werden,die eigentlich usermod machen sollte. Der Grund hierfür wird klar, wenn Sie die bei-den Kommandos miteinander vergleichen:
Das  Kommando passwd  wird  hauptsächlich  dazu  verwendet,  das  Kennwort  eines Benutzers zu ändern. Es können aber auch Änderungen damit durchgeführt werden,die eigentlich usermod machen sollte. Der Grund hierfür wird klar, wenn Sie die bei-den Kommandos miteinander vergleichen:
  -rwsr-xr-x  1 root shadow  66040 Mai 17  2017 passwd
  -rwsr-xr-x  1 root shadow  66040 Mai 17  2017 passwd
  -rwxr-xr-x  1 root root    92000 Mai 17  2017 usermod
  -rwxr-xr-x  1 root root    92000 Mai 17  2017 usermod
Zeile 132: Zeile 117:
Als root ändern Sie das Passwort eines Benutzers, indem Sie den Benutzernamen dem passwd-Kommando übergeben:
Als root ändern Sie das Passwort eines Benutzers, indem Sie den Benutzernamen dem passwd-Kommando übergeben:


  archangel:~ # passwd dominik
  # passwd dominik
  Changing password for dominik.
  Changing password for dominik.
  New password:
  New password:
Zeile 139: Zeile 124:




==chage==
=== chage ===
 
Kennwortänderungen können für jeden Benutzer einzeln mit chage festgelegt werden. Die Standardwerte sind in der Konfigurationsdatei/etc/default/useradd festgelegt.
Kennwortänderungen können für jeden Benutzer einzeln mit chage festgelegt werden. Die Standardwerte sind in der Konfigurationsdatei/etc/default/useradd festgelegt.
 
  # chage -m 2 dominik
Beispiel:
 
  archangel:~ # chage -m 2 dominik
  Aging information changed.
  Aging information changed.


Die Option -m (Minimum) legt den frühesten Zeitpunkt in Tagen fest, nach denen der Benutzer sein Kennwort ändern darf.
Die Option -m (Minimum) legt den frühesten Zeitpunkt in Tagen fest, nach denen der Benutzer sein Kennwort ändern darf.
 
  # chage -M 21 dominik
  archangel:~ # chage -M 21 dominik
  Aging information changed.
  Aging information changed.


Das große -M (Maximum) legt fest, wie lange der Benutzer maximal dasselbe Kennwort verwenden darf. Ein Benutzer kann  nicht zweimal hintereinander dasselbe Kennwort angeben.
Das große -M (Maximum) legt fest, wie lange der Benutzer maximal dasselbe Kennwort verwenden darf. Ein Benutzer kann  nicht zweimal hintereinander dasselbe Kennwort angeben.
 
  # chage -l dominik
  archangel:~ # chage -l dominik
  Minimum:        2
  Minimum:        2
  Maximum:        21
  Maximum:        21
Zeile 167: Zeile 146:
Abschließend werden die vorgenommenen Änderungen mit chage-l (list) überprüft.Sie sehen die erwarteten Modifikationen und  zusätzliche  Informationen, die alle selbst erklärend sein dürften.
Abschließend werden die vorgenommenen Änderungen mit chage-l (list) überprüft.Sie sehen die erwarteten Modifikationen und  zusätzliche  Informationen, die alle selbst erklärend sein dürften.


=== getent ===
Das Programm ''[[getent]]'' kann in diversen lokalen Datenbanken lesen. Sie können z. B. nach der Existenz eines bestimmten Benutzers  fragen  und  damit  ein  entsprechendes Errorlevel erhalten – je nachdem, ob der Benutzer existiert oder nicht.
# getent passwd jonathan
# echo $?
2
Die Abfrage nach dem Benutzer Jonathan ergibt ein Errorlevel von 2. Der Benutzer existiert also offensichtlich  nicht. Wenn der Benutzer existiert, wird der entsprechende Eintrag einfach angezeigt:
# getent passwd harald
harald:x:1000:1000::/home/harald:/bin/bash
=== id ===
Mit dem Kommando id können Sie die Benutzer- und Gruppen-ID des momentanangemeldeten oder eines anderen Users herausfinden:
# id dominik
uid=1002(dominik) gid=1002(dominik) Gruppen=1002(dominik)
Die Anzeige kann auch gefiltert werden, wenn Sie lediglich die Benutzer- oder nur die Gruppen-ID abfragen wollen:
# id dominik -u
1002
== Befehle zur Verwaltung von Gruppen ==
=== groupadd ===
Mit dem Kommando groupadd werden neue Benutzergruppen erstellt. Es können während der Erstellung eine GID und auch ein Gruppenpasswort festgelegt werden. Die Gruppe wird dann in /etc/group erstellt.
# groupadd produktion -g 4711 -p prodp@ssword
erstellt die Gruppe produktion mit der GID 4711 und dem Gruppenkennwort prodp@ssword.
Häufig verwendete Optionen:
-g,--gid legt die GID für die neue Gruppe fest.
-o,--non-unique erlaubt die Verwendung von nicht eindeutigen GIDs.
-p,--password gibt das Passwort an, das zum Wechsel in diese Gruppe notwendig ist. Die Verwendung von Gruppenpasswörtern ist allerdings eher unüblich.


==getent==
=== groupdel ===
Mit dem Kommando groupdel werden nicht mehr benötigte Benutzergruppen gelöscht. Die Übergabe von Parametern ist nicht erforderlich.
# groupdel produktion


Das Programm getent kann in diversen lokalen Datenbanken lesen. Sie können z. B. nach der Existenz eines bestimmten Benutzers  fragen  und  damit  ein  entsprechendes Errorlevel erhalten – je nachdem, ob der Benutzer existiert oder nicht.
entfernt die Gruppe produktion. Das System gibt keine Bestätigung zu dem Löschvorgang aus.


Beispiel:
=== groupmod ===
Mit groupmod werden bestehende Benutzergruppen modifiziert. Die Syntax dieses Kommandos ist stark an die des Kommandos groupadd angelehnt. Eine Besonderheit ist allerdings die Möglichkeit, eine Gruppe mittels groupmod umzubenennen. Die verwendete GID und daraus resultierende Berechtigungen im Dateisystem bleiben hier-bei erhalten.


  root@archangel:~# getent passwd jonathan
  # groupmod mktg -n marketing
root@archangel:~# echo $?
2


Die Abfrage nach dem Benutzer Jonathan ergibt ein Errorlevel von 2. Der Benutzer existiert also offensichtlich  nicht. Wenn der Benutzer existiert, wird der entsprechende Eintrag einfach angezeigt:
nennt die Benutzergruppe mktg in marketing um. Mitglieder in dieser Gruppe undauch die GID bleiben erhalten.


  root@archangel:~# getent passwd harald
Häufig verwendete Optionen
  harald:x:1000:1000::/home/harald:/bin/bash
-A,--add-user fügt Benutzer zur Gruppe hinzu. (veraltet)
  -R,--remove-user entfernt Benutzer aus der angegebenen Gruppe. (veraltet)
  -n,--new-name ändert den Namen der Gruppe unter Beibehaltung der GID und der in der Gruppe enthaltenen Benutzer.


==id==
=== gpasswd ===
Mit diesem Kommando ändern Sie das Kennwort einer Gruppe. Diese Operation ist ausschließlich dem Benutzer root und dem Gruppenadministrator vorbehalten. Mit der Option -r wird ein Gruppenpasswort entfernt.
# gpasswd -r sales
Password removed.


Mit dem Kommando id können Sie die Benutzer- und Gruppen-ID des momentanangemeldeten oder eines anderen Users herausfinden:
=== newgrp ===
Ein  Benutzer führt newgrp aus, um damit seine Gruppenzugehörigkeit zu ändern.
$ newgrp sales
Passwort:
$ pstree
...
login-bash-bash-pstree
...


  root@archangel:~# id dominik
Der relevante Ausschnitt der Ausgabe des pstree-Kommandos zeigt, dass tatsächlich eine Subshell erzeugt wurde. Normalerweise läuft nur eine Instanz der Shell Bash, wenn sich ein Benutzer am System anmeldet.
uid=1002(dominik) gid=1002(dominik) Gruppen=1002(dominik)


Die Anzeige kann auch gefiltert werden, wenn Sie lediglich die Benutzer- oder nur die Gruppen-ID abfragen wollen:
<noinclude>
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Links ====
===== Weblinks =====


root@archangel:~# id dominik -u
[[Kategorie:Linux/LPIC/102]]
1002
[[Kategorie:Linux/Benutzer]]
</noinclude>

Aktuelle Version vom 25. Februar 2024, 09:19 Uhr

LPIC102/107.1 - Benutzer- und Gruppenkonten

Beschreibung

LPIC102/107.1 Benutzer- und Gruppenkonten und dazugehörige Systemdateien verwalten

Wichtige Dateien, Verzeichnisse und Anwendungen
/etc/passwd
/etc/shadow
/etc/group
/etc/skel
chage
getent
groupadd
groupdel
groupmod
passwd
useradd
userdel
usermod

passwd, shadow, group, gshadow

/etc/passwd

Die wichtigste Datei, die mit der Verwaltung von Benutzerkonten in Zusammenhang steht, ist die Datei /etc/passwd.

Beispiel
root:x:0:0:root:/root:/bin/bash
harald:x:1000:100:Harald Maaßen:/home/harald:/bin/bash
dominik:x:1002:100:Dominik Maaßen:/home/dominik:/bin/bash
willi:x:1003:100:Willi 0173-1234567:/home/willi:/bin/bash
  1. Das erste Feld willi ist der Anmeldename des Benutzers. Er wird beim Login verwendet.
  2. Das zweite Feld, hier ein x, enthält das Passwort. Dieses Passwort befindet sich in diesem Fall in der shadow-Datei.
  3. Die dritte Position 1003 ist die User-ID.Sorgen Sie dafür, dass die Benutzer nach der Neuinstallation dieselben Benutzer-IDs bekommen, die sie vor der Neuinstallation hatten. Der Benutzer root bekommt immer die ID 0.
  4. Das vierte Feld, hier die 100, enthält die Group-ID. Das ist die initiale Gruppe des Benutzers, die in diesem Fall in der Datei /etc/group auf die Gruppe users zeigt.
  5. Die fünfte Spalte Willi0173-1234567 ist das sogenannte GECOS-Feld. Es kann Informationen über den Benutzer enthalten, die z. B. mit dem Programm finger abgefragt werden können. Ein Benutzer kann das GECOS-Feld auch selbst ändern, indem er das Kommando chfn benutzt.
  6. Das sechste Feld /home/willi enthält den Pfad zum Heimatverzeichnis des Benutzers.
  7. Als Letztes wird in Feld sieben /bin/bash der Pfad zur Login-Shell des Benutzers aufgeführt. Wenn hier keine ausführbare Datei angegeben wird, kann sich der Benutzer nicht anmelden. Sollte das gar erwünscht sein, ist es auch möglich, hier/bin/false anzugeben.

/etc/shadow

  1. Das erste Feld enthält den Anmeldenamen. Dieser stimmt mit dem ersten Feld der/etc/passwd-Datei überein.
  2. Das zweite Feld enthält das verschlüsselte Passwort. Die Kryptografie geschieht, je nach Distribution, mittels DES oder MD5. Die Kryptografie mitMD5 ist nicht sicherer als die mit DES, erlaubt jedoch die Verwendung längerer Passwörter. Bei der Verwendung von DES ist die Kennwortlänge auf acht Zeichen begrenzt. Längere Passwörter werden praktisch abgeschnitten.
  3. Zeitpunkt der letzten Kennwortänderung. Dieser Wert wird in ganzen Tagen ab dem 1. Januar 1970 angegeben.
  4. Mindestanzahl von Tagen zwischen Kennwortänderungen
  5. maximale Anzahl von Tagen zwischen Kennwortänderungen
  6. Der Benutzer wird vor dem Ablauf seines Kennwortes gewarnt. Dieser Wert zeigt an, wie viele Tage vor dem Ablauf des Kennwortes der Benutzer zur Passwortänderung aufgefordert wird.
  7. Wenn das Kennwort abgelaufen ist, wird das Konto deaktiviert. Dieses Feld enthält die Anzahl der Tage bis zur Deaktivierung des Accounts nach Ablauf des Kennwortes.
  8. Ablaufdatum des Benutzerkontos (falls ablaufend)
  9. reserviert für zukünftige Zwecke

/etc/group

root:x:0:
bin:x:1:daemon
daemon:x:2:
users:x:100:
sales:x:133: dominik,willi

Die verwendeten Felder beinhalten in dieser Reihenfolge:

  1. Name der Gruppe
  2. verschlüsseltes Passwort oder Verweis in die /etc/gshadow-Datei
  3. Gruppen-ID (kurz GID)
  4. Liste der Gruppenmitglieder, die durch ein Komma voneinander getrennt sind

/etc/gshadow

Beispiel: sales:$2a$10$....5nvMAwrW39u1:harald: dominik,willi

  1. Name der Gruppe
  2. Gruppenpasswort (hier gekürzt) – bei Standardgruppen wird auf ein Passwort oftmals auch verzichtet. Es kann ohnehin nur ein Benutzer in diese Gruppe wechseln,der sich am System angemeldet hat und in der Mitgliederliste eingetragen ist. Ein Missbrauch ist also unwahrscheinlich.
  3. Gruppenverwalter – der Gruppenverwalter kann Mitglieder zur Gruppe hinzufügen oder entfernen. Weiterhin hat er als Einziger (außer root natürlich) das Recht,das Passwort für die Gruppe zu ändern.
  4. Mitglieder der Gruppe – sie werden, wie gehabt, durch Kommata voneinander getrennt.

useradd

Mit diesem Befehl wird ein neuer Benutzer erstellt. Als Grundlage für die Voreinstellungen dient hierbei die Datei /etc/default/useradd. Diese Datei kann z. B. so aussehen:

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE===
SHELL=/bin/bash
SKEL=/etc/skel
GROUPS=video,dialout
  1. Die initiale Gruppe des Benutzers ist 100 (also in diesem Fall users).
  2. Sein Heimatverzeichnis wird unterhalb von /home angelegt.
  3. Das Konto ist nicht deaktiviert (INACTIVE=-1).
  4. Das Konto läuft nie ab (EXPIRE=).
  5. Die voreingestellte Shell ist die Bash.
  6. Das Heimatverzeichnis wird aus der Vorlage /etc/skel erstellt.
  7. Der Benutzer gehört, abgesehen von der initialen Gruppe, auch noch den Gruppenvideo und dialout an.

userdel

Mit diesem Kommando wird ein Benutzerkonto vom System entfernt. Es wird einfach nur der Anmeldename übergeben.

Häufig verwendete Optionen sind:

-r (remove) löscht gleichzeitig das Heimatverzeichnis des Benutzers.
-f (force) löscht das Heimatverzeichnis des Benutzers auch dann, wenn dieses Verzeichnis Dateien anderer Benutzer enthält.

Beispiel:

userdel willi -rf

löscht den Benutzer Willi inklusive seines Heimatverzeichnisses, auch wenn dieses Daten anderer Benutzer enthält.

usermod

Der Befehl usermod dient dazu, ein existierendes Benutzerkonto zu ändern. Die Syntax bzw.  die Optionen zu usermod ähneln größtenteils denen von useradd.

passwd

Das Kommando passwd wird hauptsächlich dazu verwendet, das Kennwort eines Benutzers zu ändern. Es können aber auch Änderungen damit durchgeführt werden,die eigentlich usermod machen sollte. Der Grund hierfür wird klar, wenn Sie die bei-den Kommandos miteinander vergleichen:

-rwsr-xr-x  1 root shadow  66040 Mai 17  2017 passwd
-rwxr-xr-x  1 root root    92000 Mai 17  2017 usermod

Wie Sie sehen, ist bei passwd das SUID-Bit gesetzt und bei usermod nicht. Die Folge ist,dass passwd auch dann schreibend auf /etc/passwd und /etc/shadow zugreifen kann, wenn das Programm von einem nicht administrativen Benutzerkonto ausgeführt wird. Sonst könnte ein Benutzer nämlich sein Kennwort nicht selbst ändern.

Beispiele:

Als root ändern Sie das Passwort eines Benutzers, indem Sie den Benutzernamen dem passwd-Kommando übergeben:

# passwd dominik
Changing password for dominik.
New password:
Re-enter new password:
Password changed.


chage

Kennwortänderungen können für jeden Benutzer einzeln mit chage festgelegt werden. Die Standardwerte sind in der Konfigurationsdatei/etc/default/useradd festgelegt.

# chage -m 2 dominik
Aging information changed.

Die Option -m (Minimum) legt den frühesten Zeitpunkt in Tagen fest, nach denen der Benutzer sein Kennwort ändern darf.

# chage -M 21 dominik
Aging information changed.

Das große -M (Maximum) legt fest, wie lange der Benutzer maximal dasselbe Kennwort verwenden darf. Ein Benutzer kann nicht zweimal hintereinander dasselbe Kennwort angeben.

# chage -l dominik
Minimum:        2
Maximum:        21
Warning:        7
Inactive:       -1
Last Change:            Sep 20, 2017
Password Expires:       Oct 11, 2017
Password Inactive:      Never
Account Expires:        Never

Abschließend werden die vorgenommenen Änderungen mit chage-l (list) überprüft.Sie sehen die erwarteten Modifikationen und zusätzliche Informationen, die alle selbst erklärend sein dürften.

getent

Das Programm getent kann in diversen lokalen Datenbanken lesen. Sie können z. B. nach der Existenz eines bestimmten Benutzers fragen und damit ein entsprechendes Errorlevel erhalten – je nachdem, ob der Benutzer existiert oder nicht.

# getent passwd jonathan
# echo $?
2

Die Abfrage nach dem Benutzer Jonathan ergibt ein Errorlevel von 2. Der Benutzer existiert also offensichtlich nicht. Wenn der Benutzer existiert, wird der entsprechende Eintrag einfach angezeigt:

# getent passwd harald
harald:x:1000:1000::/home/harald:/bin/bash

id

Mit dem Kommando id können Sie die Benutzer- und Gruppen-ID des momentanangemeldeten oder eines anderen Users herausfinden:

# id dominik
uid=1002(dominik) gid=1002(dominik) Gruppen=1002(dominik)

Die Anzeige kann auch gefiltert werden, wenn Sie lediglich die Benutzer- oder nur die Gruppen-ID abfragen wollen:

# id dominik -u
1002

Befehle zur Verwaltung von Gruppen

groupadd

Mit dem Kommando groupadd werden neue Benutzergruppen erstellt. Es können während der Erstellung eine GID und auch ein Gruppenpasswort festgelegt werden. Die Gruppe wird dann in /etc/group erstellt.

# groupadd produktion -g 4711 -p prodp@ssword

erstellt die Gruppe produktion mit der GID 4711 und dem Gruppenkennwort prodp@ssword.

Häufig verwendete Optionen:

-g,--gid legt die GID für die neue Gruppe fest.
-o,--non-unique erlaubt die Verwendung von nicht eindeutigen GIDs.
-p,--password gibt das Passwort an, das zum Wechsel in diese Gruppe notwendig ist. Die Verwendung von Gruppenpasswörtern ist allerdings eher unüblich.

groupdel

Mit dem Kommando groupdel werden nicht mehr benötigte Benutzergruppen gelöscht. Die Übergabe von Parametern ist nicht erforderlich.

# groupdel produktion

entfernt die Gruppe produktion. Das System gibt keine Bestätigung zu dem Löschvorgang aus.

groupmod

Mit groupmod werden bestehende Benutzergruppen modifiziert. Die Syntax dieses Kommandos ist stark an die des Kommandos groupadd angelehnt. Eine Besonderheit ist allerdings die Möglichkeit, eine Gruppe mittels groupmod umzubenennen. Die verwendete GID und daraus resultierende Berechtigungen im Dateisystem bleiben hier-bei erhalten.

# groupmod mktg -n marketing

nennt die Benutzergruppe mktg in marketing um. Mitglieder in dieser Gruppe undauch die GID bleiben erhalten.

Häufig verwendete Optionen

-A,--add-user fügt Benutzer zur Gruppe hinzu. (veraltet)
-R,--remove-user entfernt Benutzer aus der angegebenen Gruppe. (veraltet)
-n,--new-name ändert den Namen der Gruppe unter Beibehaltung der GID und der in der Gruppe enthaltenen Benutzer.

gpasswd

Mit diesem Kommando ändern Sie das Kennwort einer Gruppe. Diese Operation ist ausschließlich dem Benutzer root und dem Gruppenadministrator vorbehalten. Mit der Option -r wird ein Gruppenpasswort entfernt.

# gpasswd -r sales
Password removed.

newgrp

Ein Benutzer führt newgrp aus, um damit seine Gruppenzugehörigkeit zu ändern.

$ newgrp sales
Passwort:
$ pstree
...
login-bash-bash-pstree
...

Der relevante Ausschnitt der Ausgabe des pstree-Kommandos zeigt, dass tatsächlich eine Subshell erzeugt wurde. Normalerweise läuft nur eine Instanz der Shell Bash, wenn sich ein Benutzer am System anmeldet.


Anhang

Siehe auch

Links

Weblinks