Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Über die Autoren
Über dieses Buch
Linux vs. BSD
1 Der Kernel
2 Die Grundlagen aus Anwendersicht
3 Die Shell
4 Reguläre Ausdrücke
5 Tools zur Dateibearbeitung
6 Die Editoren
7 Shellskriptprogrammierung
8 Benutzerverwaltung
9 Grundlegende Verwaltungsaufgaben
10 Netzwerk-Grundlagen
11 Anwendersoftware für das Netzwerk
12 Netzwerkdienste
13 Mailserver unter Linux
14 LAMP
15 DNS-Server
16 Secure Shell
17 Die grafische Oberfläche
18 Window-Manager und Desktops
19 X11-Programme
20 Multimedia und Spiele
21 Softwareentwicklung
22 Crashkurs in C und Perl
23 Sicherheit
24 Prozesse und IPC
25 Bootstrap und Shutdown
26 Dateisysteme
27 Virtualisierung und Emulatoren
A Die Installation
B Lösungen zu den einzelnen Aufgaben
C Kommandoreferenz
D X11-InputDevices
E MBR
F Die Buch-DVDs
G Glossar
H Literatur

Download:
- ZIP, ca. 6,3 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Linux von Johannes Plötner, Steffen Wendzel
Das distributionsunabhängige Handbuch
Buch: Linux

Linux
2., aktualisierte und erweiterte Auflage
1119 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1090-4
gp 8 Benutzerverwaltung
  gp 8.1 Benutzer in Unix
    gp 8.1.1 UID und GID
    gp 8.1.2 Die /etc/passwd
    gp 8.1.3 Die Shadowsuite
  gp 8.2 Benutzer anlegen, ändern und löschen
    gp 8.2.1 Benutzer anlegen
    gp 8.2.2 Benutzer ändern
    gp 8.2.3 Benutzer löschen
  gp 8.3 Benutzer und Gruppen
    gp 8.3.1 Gruppen anlegen
    gp 8.3.2 Benutzer zu Gruppen hinzufügen
    gp 8.3.3 Gruppenpasswörter und die /etc/gshadow
    gp 8.3.4 Gruppenadministratoren
    gp 8.3.5 Gruppen löschen
  gp 8.4 Als anderer Benutzer arbeiten
    gp 8.4.1 Der Systemadministrator als User
    gp 8.4.2 su
    gp 8.4.3 sudo
    gp 8.4.4 SetUID/SetGID
  gp 8.5 NIS/NIS+
    gp 8.5.1 Die Funktion
    gp 8.5.2 Konfiguration der NIS-Clients
    gp 8.5.3 Konfiguration des NIS-Servers
    gp 8.5.4 Testen der Konfiguration
    gp 8.5.5 Sicherheit
  gp 8.6 LDAP
    gp 8.6.1 So funktioniert es
    gp 8.6.2 Einen LDAP-Server konfigurieren
    gp 8.6.3 Einträge hinzufügen, verändern und löschen
    gp 8.6.4 Die Benutzerverwaltung mit LDAP
  gp 8.7 Zusammenfassung
  gp 8.8 Aufgaben


Galileo Computing

8.3 Benutzer und Gruppen  downtop

Bisher haben wir die Gruppenzugehörigkeit von Benutzern etwas stiefmütterlich behandelt: Sie wissen, dass ein Benutzer zu mehreren Gruppen gehören kann, aber dass in der /etc/passwd nur die Nummer einer primären Gruppe gespeichert wird – zugegeben nicht ganz konsistent.

/etc/group

Diese Lücke wollen wir nun schließen und Ihnen die /etc/group vorstellen:

… 
video:x:44:jploetner 
staff:x:50: 
games:x:60:jploetner 
users:x:100:jploetner,swendzel 
nogroup:x:65534: 
jploetner:x:1000: 
…

Listing 8.14    Ein Auszug aus der /etc/group

Diese Datei beinhaltet ähnlich wie die /etc/passwd die Zuordnung von Gruppennamen zur GruppenID sowie natürlich die Mitglieder dieser Gruppe. Doch betrachten wir die einzelnen Felder samt ihren Zusammenhängen etwas näher:

  • Gruppenname
  • Das offensichtlichste Feld beinhaltet den Gruppennamen. Dieser ist wie der Username bei Benutzern nur für die Anzeige durch ls und andere Programme bestimmt, die mit Gruppen arbeiten. Schließlich möchte sich ein menschlicher Benutzer nicht mit GIDs und anderen kryptischen Zahlenfolgen, sondern vielmehr mit aussagekräftigen Namen befassen.
  • Gruppenpasswort
  • /etc/gshadow

  • In der nächsten Spalte steht das Gruppenpasswort beziehungsweise ein x, falls die Information in der Shadow-Datei
  • /etc/gshadow abgelegt ist. Gruppenpasswörter werden selten eingesetzt, <Gruppenpasswörter müssen dann einer Gruppe von Menschen bekannt sein, was eigentlich dem Passwortgedanken widerspricht.>
  • erlauben es aber, Gruppen beizutreten, in denen man normalerweise nicht Mitglied ist.
  • GruppenID
  • Die GruppenID bezeichnet die systemintern zur Repräsentation der Gruppe genutzte Zahl. Damit hat die GID eine ähnliche Aufgabe und Eigenschaft wie die UID.
  • Die Mitglieder
  • Bisher haben wir nur gesehen, dass man die primäre Gruppe eines Benutzers – die normalerweise auch die Gruppenzugehörigkeit neuer Dateien definiert – in der /etc/passwd als GID angeben musste.
  • Soll ein Benutzer darüber hinaus noch in weiteren Gruppen Mitglied sein, so trägt man die entsprechenden Usernamen in das letzte Feld der /etc/group ein.

Ein Benutzer muss im Übrigen nicht mehr seiner in der /etc/passwd bereits festgelegten Standardgruppe hinzugefügt werden.


Galileo Computing

8.3.1 Gruppen anlegen  downtop

Möchte man eine neue Gruppe anlegen, so geht man dazu erst einmal äquivalent zur Erstellung eines neuen Benutzers vor:

Man nutzt nämlich die Programme groupadd beziehungsweise addgroup, die beide mit der Erstellung einer leeren Gruppe denselben Effekt besitzen.

# groupadd test 
# addgroup test2 
Adding group `test2' (1002)... 
Done. 
# grep test /etc/group 
test:x:1001: 
test2:x:1002: 
# grep test /etc/gshadow 
test:!:: 
test2:!::

Listing 8.15    groupadd und addgroup

Wieder ein Frontend

Anzumerken ist jedoch, dass addgroup ein Frontend zu adduser ist, das mit dem Parameter --group aufgerufen wird. Aus diesem Grund ist addgroup auch im Gegensatz zu groupadd über die /etc/adduser.conf konfigurierbar.


Galileo Computing

8.3.2 Benutzer zu Gruppen hinzufügen  downtop

Die wichtigste Arbeit bei der Verwaltung von Benutzergruppen ist sicherlich das Hinzufügen von Benutzern zu den jeweiligen Gruppen. Natürlich kann diese Arbeit wie immer auch durch das Editieren der /etc/group beziehungsweise der /etc/gshadow erfolgen, jedoch kann man das Allround-Frontend adduser mit dem Benutzer und der Gruppe als Argument benutzen:

# adduser jploetner test 
Adding user `jploetner' to group `test'... 
Done. 
# grep test /etc/group 
test:x:1001:jploetner 
# grep test /etc/gshadow 
test:x::jploetner

Listing 8.16    Hinzufügen eines Benutzers zu einer Gruppe mit adduser

Alternativ könnte man auch das Programm gpasswd mit dem -a-Parameter benutzen:

# gpasswd -a jploetner test2 
Adding user jploetner to group test2

Listing 8.17    Einen Benutzer mit gpasswd zu einer Gruppe hinzufügen

Das Ergebnis ist jedoch bei allen Methoden gleich: Der Benutzer wird der Gruppe hinzugefügt und bekommt die Rechte für alle Dateien mit derselben Gruppe.


Galileo Computing

8.3.3 Gruppenpasswörter und die /etc/gshadow  downtop

Für Gruppen: gpasswd

Doch mit gpasswd kann man noch viel mehr machen. Zum Beispiel wird mit gpasswd, gefolgt vom Gruppennamen, das Passwort der Gruppe gesetzt – ähnlich wie bei passwd, wo, gefolgt von einem Benutzernamen, das Benutzerpasswort, gesetzt wird. Das Passwort der Gruppe wird ebenfalls wie bei der Benutzerverwaltung in einer speziellen Shadow-Datei – der /etc/gshadow – gespeichert.

# ls -l /etc/group /etc/shadow 
-rw-r--r-- 1 root root   735 05-05-08 7:52 /etc/group 
-rw-r----- 1 root shadow 827 05-04-28 7:29 /etc/shadow

Listing 8.18    Eingeschränkte Rechte der Shadow-Datei

Die Rechte dieser Datei sind wie gesagt eingeschränkt: Es darf nicht »jeder« den Inhalt der Datei lesen, sondern nur der Systemadministrator root und alle Benutzer der Gruppe shadow. Das Setzen eines Passworts hat dabei folgende Auswirkungen:

# grep test /etc/gshadow 
test:!:: 
# gpasswd test 
Changing the password for group test 
New Password: 
Re-enter new password: 
 
# grep test /etc/gshadow 
test:yYSiruuynqlK.::

Listing 8.19    Setzen eines Gruppenpassworts

Es wird also ein Feld in der /etc/gshadow gesetzt. An dieser Stelle wollen wir, um den Zusammenhang zu wahren, nun auch noch einmal alle Felder dieser Datei besprechen:

  • Der Gruppenname
  • Dieses Feld referenziert ähnlich wie bei der /etc/shadow das Namensfeld in der /etc/group.
  • Das Gruppenpasswort
  • Standardmäßig wird kein Passwort gesetzt, jedoch haben wir im Beispiel mittels gpasswd eines gesetzt. Welche Möglichkeiten den Benutzern eines Systems damit offenstehen, werden wir im Anschluss behandeln.
  • Gruppenadministratoren
  • Privilegierte Benutzer

  • Im nächsten Feld steht eine Liste von Gruppenadministratoren. Diese Administratoren können zum Beispiel mit gpasswd das Gruppenpasswort ändern oder auch Benutzer zur Gruppe hinzufügen beziehungsweise entfernen.
  • Gruppenmitglieder
  • Hier im letzten Feld sind wie in der /etc/group auch alle Mitglieder der Gruppe aufgeführt.

Gruppen beitreten

Aber was nutzt ein Gruppenpasswort nun? Ganz einfach: Wenn ein Benutzer nicht in einer Gruppe ist, so kann er mit dem Befehl newgrp und der Angabe des Passworts doch Mitglied werden:

jploetner@host:~$ groups 
jploetner cdrom sudo audio video games users ssh 
jploetner@host:~$ newgrp test 
Kennwort: 
jploetner@host:~$ groups 
test cdrom sudo audio video games users ssh jploetner

Listing 8.20    Einer Gruppe beitreten

Ruft man newgrp für eine Gruppe auf, in der man schon über die /etc/group Mitglied ist, so wird man natürlich nicht nach dem Passwort gefragt. Was jedoch geändert wird, sind die GID und EGID der Shell. Die aktuellen Werte kann man mit dem Programm id erfahren:

$ id 
uid=1000(jploetner) gid=1000(jploetner) Gruppen= 
24(cdrom),27(sudo), 29(audio),44(video),60(games), 
100(users),101(ssh),1000(jploetner),1001(test) 
$ newgrp ssh 
$ id 
uid=1000(jploetner) gid=101(ssh) Gruppen= 
24(cdrom),27(sudo),29(audio),44(video),60(games), 
100(users),101(ssh),1000(jploetner),1001(test)

Listing 8.21    Auswirkungen auf die GID

Erstellung neuer Dateien

Für den Zugriff auf Dateien hat diese Änderung allerdings keine Auswirkungen: Man hat Zugriff auf eine Datei, wenn es entweder die Besitzer-, die Gruppen- oder die sonstigen Rechte erlauben. Die Gruppenzugehörigkeit wird dabei jedoch nicht allein von der GID, sondern von allen Gruppen des Benutzers abhängig gemacht. Eine Relevanz hat diese jedoch zum Beispiel bei der Erstellung neuer Dateien. Eine Datei kann nämlich immer nur in einer Gruppe sein. Und diese ist nun mal die GID des erstellenden Benutzers:

$ touch test 
$ ls -l test 
-rw-r--r--  1 jploetner ssh 0 2005-05-08 
  20:41 test

Listing 8.22    Dateien der Gruppe ssh erstellen

Man beachte, dass die Datei der Gruppe ssh und nicht der primären Gruppe des Benutzers zugewiesen wurde.

Ändert man die GID beziehungsweise die EGID nicht, so werden Dateien mit der primären, also in der /etc/passwd angegebenen Gruppe angelegt.


Galileo Computing

8.3.4 Gruppenadministratoren  downtop

So viel zur Anwendung der verschiedenen Gruppenrechte. Im Folgenden wollen wir jedoch noch auf einen anderen Aspekt der Gruppenverwaltung eingehen: auf die Gruppenadministratoren. Gruppenadministratoren werden im 3. Feld der

/etc/gshadow angegeben und können mittels gpasswd folgende Aufgaben übernehmen:

  • Das Gruppenpasswort ändern
  • Nicht nur root kann das Gruppenpasswort mit gpasswd und dem Gruppennamen als Parameter ändern, sondern auch der Gruppenadmin kann diese Aufgabe wahrnehmen.
  • Benutzer zur Gruppe hinzufügen
  • Über den Parameter »-a« kann auch ein Gruppenadministrator neue Benutzer zu einer Gruppe hinzufügen.
  • Die neuen User bekommen somit die Gruppenberechtigungen, ohne dass sie erst newgrp aufrufen und das Gruppenpasswort eingeben müssen.
  • Benutzer löschen
  • Analog zum Hinzufügen neuer Benutzer können bereits einer Gruppe zugewiesene User über den »-d«-Parameter wieder aus dieser Gruppe gelöscht werden.

Einen Gruppenadministrator kann dabei nur der Systemadministrator root über den »-A«-Parameter festlegen:

# grep test /etc/gshadow 
test:!:: 
# gpasswd -A jploetner test 
# grep test /etc/gshadow 
test:!:jploetner:

Listing 8.23    Einen Gruppenadministrator festlegen

Der Passwortgedanke

Damit kann sich nun der Benutzer jploetner um die Gruppe kümmern. Somit konnten administrative Aufgaben verlagert werden, ohne dem betreffenden Benutzer weitergehende administrative Rechte einzuräumen. Zum Abschluss dieser ganzen Ausführungen sollte man sich jedoch immer eines vor Augen halten:

Ein Passwort, das eine ganze Gruppe von Benutzern kennt, ist nicht sicher und widerspricht dem eigentlichen Passwortgedanken.

Das ist auch der Hauptgrund, weswegen Gruppenpasswörter in der Praxis fast nie benutzt werden. Die Festlegung eines Gruppenadministrators ist in der Regel jedoch in größeren Netzwerken etwas, worüber man durchaus nachdenken kann.


Galileo Computing

8.3.5 Gruppen löschen  toptop

Natürlich kann man auch Gruppen wieder löschen: Und wie erwartet erledigen groupdel und delgroup diese Aufgabe:

# delgroup test 
Removing group `test'... 
done. 
#

Listing 8.24    Eine Gruppe löschen

Damit ist die Gruppe »test« aus den Dateien /etc/group und /etc/gshadow gelöscht.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Linux






 Linux
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Einstieg in Linux






 Einstieg in Linux


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Linux-UNIX-Programmierung






 Linux-UNIX-
 Programmierung


Zum Katalog: Praxisbuch Netzwerk-Sicherheit






 Praxisbuch
 Netzwerk-Sicherheit


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de