Index: head/de_DE.ISO8859-1/books/handbook/Makefile =================================================================== --- head/de_DE.ISO8859-1/books/handbook/Makefile +++ head/de_DE.ISO8859-1/books/handbook/Makefile @@ -1,7 +1,7 @@ # # $FreeBSD$ # $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.67 2011/12/31 12:27:25 bcr Exp $ -# basiert auf: r42118 +# basiert auf: r42953 # # Build the FreeBSD Handbook in its German translation. # @@ -256,7 +256,6 @@ SRCS+= printing/chapter.xml SRCS+= security/chapter.xml SRCS+= serialcomms/chapter.xml -SRCS+= users/chapter.xml SRCS+= virtualization/chapter.xml SRCS+= x11/chapter.xml Index: head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml +++ head/de_DE.ISO8859-1/books/handbook/basics/chapter.xml @@ -5,7 +5,7 @@ $FreeBSD$ $FreeBSDde$ - basiert auf: r42938 + basiert auf: r42953 --> Grundlagen des UNIX Betriebssystems @@ -35,6 +35,10 @@ virtuelle Konsolen, + Erstellung und Verwaltung von Benutzern und Gruppen in + &os;, + + Zugriffsrechte unter &unix; sowie Datei-Flags unter &os;, @@ -287,6 +291,1150 @@ + + + Benutzer und grundlegende Account-Verwaltung + + &os; ermöglicht es mehreren Benutzern, den Computer zur + selben Zeit zu benutzen. Es kann immer nur ein Benutzer + vor der Konsole sitzen, aber es können sich beliebig viele + Benutzer über das Netzwerk am System anmelden. Jeder Benutzer + muss einen Account haben, um das System benutzen zu + können. + + Nachdem Sie dieses Kapitel gelesen haben, werden Sie + + + + die verschiedenen Account-Typen von &os; kennen, + + + + wissen, wie Sie Accounts angelegen, verändern oder + löschen, + + + + wissen, wie Sie Limits für einen Benutzer oder eine + Gruppe setzen, um beispielsweise Ressourcen, wie Speicher + oder CPU-Zeit einzuschränken, + + + + wissen, wie Sie Gruppen erstellen und Benutzer zu + diesen Gruppen hinzufügen. + + + + + Account-Typen + + Jeder Zugriff auf das &os;-System geschieht über Accounts + und alle Prozesse werden von Benutzern gestartet, also sind + Benutzer- und Account-Verwaltung von wesentlicher + Bedeutung. + + Es gibt drei Haupttypen von Accounts: Systembenutzer, + Benutzer-Accounts und der Superuser-Account. + + + Systembenutzer + + + Accounts + System-Accounts + + + Systembenutzer starten Dienste wie DNS, Mail-Server und + Web-Server. Der Grund dafür ist die Sicherheit; wenn die + Programme von dem Superuser gestartet werden, können Sie + ohne Einschränkungen handeln. + + + Accounts + daemon + + + Accounts + operator + + + Beispiele von Systembenutzern sind + daemon, + operator, + bind, + news und + www. + + + Accounts + nobody + + + nobody ist der + generische unprivilegierte Systembenutzer. Bedenken Sie + aber, dass je mehr Dienste nobody benutzen, desto mehr + Dateien und Prozesse diesem Benutzer gehören und dieser + Benutzer damit umso privilegierter wird. + + + + Benutzer-Accounts + + + Accounts + Benutzer-Accounts + + + Benutzer-Accounts sind realen Personen zugeordnet und sind + das primäre Mittel des Zugriffs das System. Jede Person, + die Zugriff auf das System bekommt, sollte einen eindeutigen + Benutzer-Account besitzen. Dies erlaubt es dem + Administrator herauszufinden, wer was macht. + Gleichzeitig werden die Benutzer daran gehindert, die + Einstellungen anderer Benutzer zu zerstören. + + Jeder Benutzer kann die eigene Umgebung anpassen, + bspw. seine voreingestellte Shell, Editor, Tastenbelegungen + und Spracheinstellungen. + + Mit jedem Account eines &os;-Systems sind bestimmte + Informationen verknüpft: + + + + Loginnamen + + + Der Loginname wird am login: + Prompt eingegeben. Es gibt eine Reihe von Regeln für + die Erstellung von gültigen Loginnamen, die in + &man.passwd.5; dokumentiert sind. Es wird aus + Kompatibilitätsgründen empfohlen, Benutzernamen zu + verwenden, die aus Kleinbuchstaben bestehen und bis zu + acht Zeichen lang sind. + + + + + Passwort + + + Jeder Account ist mit einem Passwort + verknüpft. + + + + + User ID (UID) + + + Die User ID (UID) ist eine + Zahl, die verwendet wird, um die Benutzer auf dem + &os;-System eindeutig zu identifizieren. Programme, + die einen Loginnamen akzeptieren, wandeln diesen + zuerst in eine UID um. Es wird + empfohlen, nur UIDs kleiner + 65535 zu verwenden, da höhere Werte + Kompatibilitätsprobleme mit einigen Anwendungen + verursachen können. + + + + + Group ID (GID) + + + Die Group ID (GID) ist eine + Zahl, die verwendet wird, um die primäre Gruppe eines + Benutzers eindeutig zu identifizieren. Gruppen sind + ein Mechanismus zur Steuerung des Zugriffs auf + Ressourcen über die GID eines + Benutzers anstelle der UID. Dies + kann die Größe einiger Konfigurationsdateien + signifikant reduzieren und ermöglicht es Benutzern, + Mitglied mehreren Gruppen zu sein. Es wird empfohlen, + GIDs kleiner 65535 zu verwenden, da + höhere Werte bei einigen Anwendungen große Probleme + verursachen können. + + + + + Login-Klasse + + + Login-Klassen erweitern das Gruppenkonzept. Sie + erhöhen die Flexibilität des Systems in der Handhabung + der verschiedenen Accounts. Login-Klassen werden + auch im + diskutiert. + + + + + Gültigkeit von Passwörtern + + + Ein regelmäßiges Ändern des Passworts wird in + der Voreinstellung von &os; nicht erzwungen. + Allerdings können Passwortwechsel nach einer + gewissen Zeit auf Basis einzelner Accounts mit + &man.pw.8; erzwungen werden. + + + + + Verfallszeit eines Accounts + + + In der Voreinstellung verfallen unter &os; keine + Accounts. Wenn Sie Accounts einrichten, die nur für + eine bestimmte Zeit gültig sein sollen, beispielsweise + Accounts für Teilnehmer eines Praktikums, können Sie + mit &man.pw.8; die Gültigkeitsdauer des Accounts + angeben. Nachdem die angegebene Zeitspanne + verstrichen ist, kann dieser Account nicht mehr zum + Anmelden verwendet werden, obwohl alle Verzeichnisse + und Dateien, die diesem Account gehören, noch + vorhanden sind. + + + + + vollständiger Benutzername + + + &os; identifiziert einen Account eindeutig über + den Loginnamen, der aber keine Ähnlichkeit mit dem + richtigen Namen des Benutzers haben muss. Ähnlich + wie bei einem Kommentar, erlaubt diese Information + Großbuchstaben und mehr als 8 Zeichen. + + + + + Heimatverzeichnis + + + Das Heimatverzeichnis gibt den vollständigen Pfad + zu dem Verzeichnis an, in dem sich der Benutzer nach + erfolgreicher Anmeldung befindet. Es ist üblich, alle + Heimatverzeichnisse unter + /home/Loginname + oder + /usr/home/Loginname + anzulegen. Im Heimatverzeichnis oder in dort + angelegten Verzeichnissen werden die Dateien eines Benutzers + gespeichert. + + + + + Login-Shell + + + Grundsätzlich ist die Shell, von denen es viele + unterschiedliche gibt, eine Schnittstelle zum System. + Die bevorzugte Shell eines Benutzers kann seinem + Account zugeordnet werden. + + + + + + + Der Superuser-Account + + + Accounts + Superuser (root) + + + Der Superuser-Account, normalerweise root genannt, ist + vorkonfiguriert und erleichtert die Systemverwaltung, sollte + aber nicht für alltägliche Aufgaben wie das Verschicken und + Empfangen von Mails, Erforschen des Systems oder + Programmierung benutzt werden. + + Der Superuser kann, im Gegensatz zu normalen + Benutzer-Accounts, ohne Beschränkungen operieren und die + falsche Anwendung des Superuser-Accounts kann in + spektakulären Katastrophen resultieren. Benutzer-Accounts + sind nicht in der Lage, das System versehentlich zu + zerstören, deswegen wird empfohlen, normale + Benutzer-Accounts zu verwenden, solange nicht zusätzliche + Privilegien benötigt werden. + + Kommandos, die Sie als Superuser eingeben, sollten Sie + immer doppelt und dreifach überprüfen, da ein zusätzliches + Leerzeichen oder ein fehlender Buchstabe irreparablen + Datenverlust bedeuten kann. + + Es gibt mehrere Möglichkeiten Superuser-Rechte zu + bekommen. Obwohl man sich direkt als root anmelden kann, wird von + dieser Methode dringend abgeraten. + + Verwenden Sie stattdessen &man.su.1; um zum Superuser zu + werden. Wenn Sie noch ein - eingeben, + wird der Benutzer auch die Umgebung des Root-Benutzers + erben. Der Benutzer, der diesen Befehl ausführt muss + Mitglied der Gruppe wheel sein, oder der + Befehl schlägt fehl. Zudem muss der Benutzer das Kennwort + für den Benutzer-Account root kennen. + + In diesem Besipiel wird der Benutzer nur zum Superuser, + um make install auszuführen, da dieser + Befehl Superuser-Rechte erfordert. Nachdem der Befehl + ausgeführt wurde, kann der Benutzer exit + eingeben, um den Superuser-Account zu verlassen und zu den + Privilegien des Benutzer-Accounts zurückkehren. + + + Ein Programm als Superuser installieren + + &prompt.user; configure +&prompt.user; make +&prompt.user; su - +Password: +&prompt.root; make install +&prompt.root; exit +&prompt.user; + + + Das in &os; enthaltene &man.su.1; funktioniert gut für + einzelne Systeme oder in kleineren Netzwerken, mit nur einem + Administrator. Eine Alternative ist es, das Paket oder den + Port security/sudo zu installieren. + Diese Software bietet eine Protokollierung von Aktivitäten + und ermöglicht es dem Administrator zu bestimmen, welche + Benutzer welche Befehle als Superuser ausführen + dürfen. + + + + + Accounts verändern + + + Accounts + verändern + + + &os; stellt eine Vielzahl an Programmen bereit, um + Accounts zu verändern. Die gebräuchlichsten Kommandos sind in + + gefolgt von einer detaillierten Beschreibung, + zusammengefasst. Weitere Informationen und + Anwendungsbeispiele finden Sie in der Manualpage des + jeweiligen Programms. + + + Programme zur Verwaltung von Benutzer-Accounts + + + + + + + + Programm + Zusammenfassung + + + + + &man.adduser.8; + Das empfohlene Werkzeug, um neue Accounts zu + erstellen. + + + &man.rmuser.8; + Das empfohlene Werkzeug, um Accounts zu + löschen. + + + &man.chpass.1; + Ein flexibles Werkzeug, um Informationen in der + Account-Datenbank zu verändern. + + + &man.passwd.1; + Ein einfaches Werkzeug, um Passwörter von Accounts + zu ändern. + + + &man.pw.8; + Ein mächtiges und flexibles Werkzeug um alle + Informationen über Accounts zu ändern. + + + +
+ + + <command>adduser</command> + + + Accounts + erstellen + + + adduser + + + /usr/share/skel + + + &man.adduser.8; ist ein einfaches Programm zum + Hinzufügen neuer Benutzer. Wenn ein neuer Benutzer + hinzugefügt wird, aktualisiert das Programm automatisch + /etc/passwd und + /etc/group. Es erstellt auch das + Heimatverzeichnis für den Benutzer, kopiert die + Standardkonfigurationsdateien aus + /usr/share/skel und kann optional + eine ,,Willkommen``-Nachricht an den neuen Benutzer + versenden. + + + Einen Benutzer unter &os; anlegen + + &prompt.root; adduser +Username: jru +Full name: J. Random User +Uid (Leave empty for default): +Login group [jru]: +Login group is jru. Invite jru into other groups? []: wheel +Login class [default]: +Shell (sh csh tcsh zsh nologin) [sh]: zsh +Home directory [/home/jru]: +Home directory permissions (Leave empty for default): +Use password-based authentication? [yes]: +Use an empty password? (yes/no) [no]: +Use a random password? (yes/no) [no]: +Enter password: +Enter password again: +Lock out the account after creation? [no]: +Username : jru +Password : **** +Full Name : J. Random User +Uid : 1001 +Class : +Groups : jru wheel +Home : /home/jru +Shell : /usr/local/bin/zsh +Locked : no +OK? (yes/no): yes +adduser: INFO: Successfully added (jru) to the user database. +Add another user? (yes/no): no +Goodbye! +&prompt.root; + + + + Wenn Sie das Passwort eingeben, werden weder Passwort noch + Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort + korrekt eingeben. + + + + + <command>rmuser</command> + + + rmuser + + + Accounts + löschen + + + Benutzen Sie &man.rmuser.8;, um einen Account + vollständig aus dem System zu entfernen. Dieses Programm + führt die folgenden Schritte durch: + + + + Entfernt den &man.crontab.1; Eintrag des Benutzers, + wenn dieser existiert. + + + + Entfernt alle &man.at.1; jobs, die dem Benutzer + gehören. + + + + Schließt alle Prozesse des Benutzers. + + + + Entfernt den Benutzer aus der lokalen Passwort-Datei + des Systems. + + + + Entfernt das Heimatverzeichnis des Benutzers, falls + es dem Benutzer gehört. + + + + Entfernt eingegangene E-Mails des Benutzers + aus /var/mail. + + + + Entfernt alle Dateien des Benutzers aus temporären + Dateispeicherbereichen wie + /tmp. + + + + Entfernt den Loginnamen von allen Gruppen, zu denen + er gehört, aus /etc/group. Wenn + eine Gruppe leer wird und der Gruppenname mit dem + Loginnamen identisch ist, wird die Gruppe entfernt. Das + ergänzt sich mit den einzelnen Benutzer-Gruppen, die von + &man.adduser.8; für jeden neuen Benutzer erstellt + werden. + + + + Der Superuser-Account kann nicht mit &man.rmuser.8; + entfernt werden, da dies in den meisten Fällen das System + unbrauchbar macht. + + Als Vorgabe wird ein interaktiver Modus benutzt. + + + Interaktives Löschen von Accounts mit + <command>rmuser</command> + + &prompt.root; rmuser jru +Matching password entry: +jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh +Is this the entry you wish to remove? y +Remove user's home directory (/home/jru)? y +Updating password file, updating databases, done. +Updating group file: trusted (removing group jru -- personal group is empty) done. +Removing user's incoming mail file /var/mail/jru: done. +Removing files belonging to jru from /tmp: done. +Removing files belonging to jru from /var/tmp: done. +Removing files belonging to jru from /var/tmp/vi.recover: done. +&prompt.root; + + + + + <command>chpass</command> + + + chpass + + + Mit &man.chpass.1; können Informationen der + Benutzerdatenbank, wie Passwörter, Shells und persönliche + Informationen verändert werden. + + Nur der Superuser kann die Informationen und Passwörter + der anderen Benutzer mit &man.chpass.1; verändern. + + Werden neben dem optionalen Loginnamen keine weiteren + Optionen angegeben, zeigt &man.chpass.1; einen Editor mit + Account-Informationen an. Wenn der Benutzer den Editor + verlässt, wird die Account-Datenbank mit den neuen + Informationen aktualisiert. + + + Unter &os; wird nach dem Verlassen des Editors nach + dem Passwort gefragt, es sei denn, man ist als Superuser + angemeldet. + + + + Interaktives <command>chpass</command> des Superusers + + #Changing user database information for jru. +Login: jru +Password: * +Uid [#]: 1001 +Gid [# or name]: 1001 +Change [month day year]: +Expire [month day year]: +Class: +Home directory: /home/jru +Shell: /usr/local/bin/zsh +Full Name: J. Random User +Office Location: +Office Phone: +Home Phone: +Other information: + + + Der normale Benutzer kann nur einen kleinen Teil dieser + Informationen verändern und natürlich nur die Daten des + eigenen Accounts. + + + Interaktives <command>chpass</command> eines normalen + Benutzers + + #Changing user database information for jru. +Shell: /usr/local/bin/tcsh +Full Name: J. Random User +Office Location: +Office Phone: +Home Phone: +Other information: + + + + &man.chfn.1; und &man.chsh.1; sind nur Verweise auf + &man.chpass.1; genauso wie &man.ypchpass.1;, + &man.ypchfn.1; und &man.ypchsh.1;. NIS + wird automatisch unterstützt, deswegen ist es nicht + notwendig das yp vor dem Kommando + einzugeben. NIS wird später im + besprochen. + + + + + <application>passwd</application> + + + passwd + + + Accounts + Passwort wechseln + + + &man.passwd.1; ist der übliche Weg, Ihr eigenes Passwort + als Benutzer zu ändern oder das Passwort eines anderen + Benutzers als Superuser. + + + Um unberechtigte Änderungen zu verhindern, + muss bei einem Passwortwechsel zuerst das ursprüngliche + Passwort eingegeben werden. + + + + Das eigene Passwort wechseln + + &prompt.user; passwd +Changing local password for jru. +Old password: +New password: +Retype new password: +passwd: updating the database... +passwd: done + + + + + Als Superuser das Passwort eines anderen Accounts + verändern + + &prompt.root; passwd jru +Changing local password for jru. +New password: +Retype new password: +passwd: updating the database... +passwd: done + + + + Wie bei &man.chpass.1; ist &man.yppasswd.1; + nur ein Verweis auf &man.passwd.1;. NIS wird von + jedem dieser Kommandos unterstützt. + + + + + <command>pw</command> + + + pw + + + &man.pw.8; ist ein Kommandozeilenprogramm, mit dem man + Accounts und Gruppen erstellen, entfernen, verändern und + anzeigen kann. Dieses Kommando dient als Schnittstelle zu + den Benutzer- und Gruppendateien des Systems. &man.pw.8; + besitzt eine Reihe mächtiger Kommandozeilenschalter, die es + für die Benutzung in Shell-Skripten geeignet machen, doch + finden neue Benutzer die Bedienung des Kommandos + komplizierter, als die der anderen hier vorgestellten + Kommandos. + +
+ + + Benutzer einschränken + + Benutzer einschränken + + Accounts + einschränken + + + &os; bietet dem Systemadministrator mehrere + Möglichkeiten die System-Ressourcen, die ein einzelner + Benutzer verwenden kann, einzuschränken. Diese Limitierungen + sind in zwei Kategorien eingeteilt: Festplattenkontingente und + andere Ressourcenbeschränkungen. + + Quotas + + Benutzer einschränken + Quotas + + Festplatten Quotas + + Festplatten-Kontingente schränken den Plattenplatz, der + einem Benutzer zur Verfügung steht, ein. Sie bieten zudem, + ohne aufwändige Berechnung, einen schnellen Überblick + über den verbrauchten Plattenplatz. Kontingente werden im + diskutiert. + + Die anderen Ressourcenbeschränkungen umfassen die + Begrenzung von CPU, Speicher und weitere Ressourcen, die ein + Benutzer verbrauchen kann. + + + /etc/login.conf + + + Login-Klassen werden in + /etc/login.conf und sind in + &man.login.conf.5; im Detail beschrieben.n. Jeder Benutzer + wird einer Login-Klasse zugewiesen (standardmäßig + default) und jede Login-Klasse ist mit + einem Satz von Login-Fähigkeiten verbunden. Eine + Login-Fähigkeit ist ein + Name=Wert + Paar, in dem Name die Fähigkeit + bezeichnet und Wert ein beliebiger + Text ist, der in Abhänigkeit von + Name entsprechend verarbeitet wird. + Login-Klassen und -Fähigkeiten zu definieren ist ziemlich + einfach und wird auch in &man.login.conf.5; + beschrieben. + + + &os; liest die Konfiguration aus + /etc/login.conf normalerweise nicht + direkt, sondern nur über die Datenbank + /etc/login.conf.db, da diese eine + schnellere Abfrage erlaubt. Wenn + /etc/login.conf verändert wurde, muss + die /etc/login.conf.db mit dem + folgenden Kommando aktualisiert werden: + + &prompt.root; cap_mkdb /etc/login.conf + + + Ressourcenbeschränkungen unterscheiden sich von normalen + Login-Fähigkeiten zweifach. Erstens gibt es für jede + Beschränkung ein aktuelles und ein maximales Limit. Das + aktuelle Limit kann vom Benutzer oder einer Anwendung beliebig + bis zum maximalen Limit verändert werden. Letzteres kann + der Benutzer nur heruntersetzen. Zweitens gelten die meisten + Ressourcenbeschränkungen für jeden vom Benutzer gestarteten + Prozess, nicht für den Benutzer selbst. Beachten Sie jedoch, + dass diese Unterschiede durch das spezifische Einlesen der + Limits und nicht durch das System der Login-Fähigkeiten + entstehen (das heißt, Ressourcenbeschränkungen sind + keine Login-Fähigkeiten). + + Hier befinden sich die am häufigsten benutzten + Ressourcenbeschränkungen. Der Rest kann zusammen mit den + anderen Login-Fähigkeiten in &man.login.conf.5; gefunden + werden: + + + + coredumpsize + + + coredumpsize + + Benutzer einschränken + coredumpsize + + + Das Limit der Größe einer core-Datei, die von einem + Programm generiert wird, unterliegt aus offensichtlichen + Gründen anderen Limits der Festplattenbenutzung, zum + Beispiel filesize oder + Festplattenkontingenten. Es wird aber trotzdem oft als + weniger harte Methode zur Kontrolle des + Festplattenplatz-Verbrauchs verwendet: Da Benutzer die + core-Dateien nicht selbst erstellen und sie oft nicht + löschen, kann sie diese Option davor retten, dass kein + Festplattenspeicher mehr zur Verfügung steht, sollte ein + großes Programm abstürzen. + + + + + cputime + + + cputime + + Benutzer einschränken + cputime + + + Die maximale Rechenzeit, die ein Prozess eines + Benutzers verbrauchen darf. Überschreitet der Prozess + diesen Wert, wird er vom Kernel beendet. + + + Die Rechenzeit wird + limitiert, nicht die prozentuale Prozessorenbenutzung, + wie es in einigen Feldern in &man.top.1; und + &man.ps.1; dargestellt wird. + + + + + + filesize + + + filesize + + Benutzer einschränken + filesize + + + Hiermit lässt sich die maximale Größe einer Datei + bestimmen, die der Benutzer besitzen darf. Im Gegensatz + zu Festplattenkontingenten + ist diese Beschränkung nur für jede einzelne Datei + gültig und nicht für den Platz, den alle Dateien eines + Benutzers verwenden. + + + + + maxproc + + + maxproc + + Benutzer einschränken + maxproc + + + Das ist die maximale Anzahl von Prozessen, die ein + Benutzer starten darf, und beinhaltet sowohl + Vordergrund- als auch Hintergrundprozesse. Natürlich + darf dieser Wert nicht höher sein als das System-Limit, + das in kern.maxproc angegeben ist. + Vergessen Sie auch nicht, dass ein zu kleiner Wert den + Benutzer in seiner Produktivität einschränken könnte; es + ist oft nützlich, mehrfach eingeloggt zu sein, oder + Pipelines + + Pipeline = + Leitung. + Mit Pipes sind + Verbindungen zwischen zwei Sockets in meistens + zwei verschiedenen Prozessen gemeint. + + zu verwenden. Ein paar Aufgaben, wie die Kompilierung + eines großen Programms, starten mehrere Prozesse. + + + + + memorylocked + + + memorylocked + + Benutzer einschränken + memorylocked + + + Dieses Limit gibt an, wie viel virtueller Speicher + von einem Prozess maximal im Arbeitsspeicher festgesetzt + werden kann (siehe auch &man.mlock.2;). Ein paar + systemkritische Programme, wie &man.amd.8;, verhindern + damit einen Systemzusammenbruch, der auftreten könnte, + wenn sie aus dem Speicher genommen werden. + + + + + memoryuse + + + memoryuse + + Benutzer einschränken + memoryuse + + + Bezeichnet den maximalen Speicher, den ein Prozess + benutzen darf und beinhaltet sowohl Arbeitsspeicher-, + als auch Swap- Benutzung. Es ist kein allübergreifendes + Limit für den Speicherverbrauch, aber ein guter + Anfang. + + + + + openfiles + + + openfiles + + Benutzer einschränken + openfiles + + + Mit diesem Limit lässt sich die maximale Anzahl + der von einem Prozess des Benutzers geöffneten Dateien + festlegen. In &os; werden Dateien auch verwendet, um + Sockets und IPC-Kanäle + + IPC steht für + Interprocess + Communication. + + darzustellen. Setzen Sie es deshalb nicht zu niedrig. + Das System-Limit ist im kern.maxfiles + &man.sysctl.8; definiert. + + + + + sbsize + + + sbsize + + Benutzer einschränken + sbsize + + + Dieses Limit beschränkt den Netzwerk-Speicher und + damit die mbufs, die ein Benutzer verbrauchen darf. Es + stammt aus einer Antwort auf einen DoS-Angriff, bei dem + viele Netzwerk-Sockets geöffnet wurden, kann aber + generell dazu benutzt werden Netzwerk-Verbindungen zu + beschränken. + + + + + stacksize + + + Das ist die maximale Größe, auf die der Stack eines + Prozesses heranwachsen darf. Das allein ist natürlich + nicht genug, um den Speicher zu beschränken, den ein + Programm verwenden darf. Es sollte deshalb in + Verbindung mit anderen Limits gesetzt werden. + + + + + Beim Setzen von Ressourcenbeschränkungen sind noch andere + Dinge zu beachten. Nachfolgend ein paar generelle Tipps, + Empfehlungen und verschiedene Kommentare. + + + + Von /etc/rc beim Hochfahren des + Systems gestartete Prozesse werden der + daemon Login-Klasse zugewiesen. + + + + Obwohl das mitgelieferte + /etc/login.conf eine Quelle von + vernünftigen Limits darstellt, können nur Sie, der + Administrator, wissen, was für Ihr System angebracht ist. + Ein Limit zu hoch anzusetzen könnte Ihr System für + Missbrauch öffnen, und ein zu niedriges Limit der + Produktivität einen Riegel vorschieben. + + + + Benutzer des &xorg; sollten + wahrscheinlich mehr Ressourcen zugeteilt bekommen als + andere Benutzer. &xorg; + beansprucht selbst schon eine Menge Ressourcen, verleitet + die Benutzer aber auch, mehrere Programme gleichzeitig + laufen zu lassen. + + + + Bedenken Sie, dass viele Limits für einzelne Prozesse + gelten und nicht für den Benutzer selbst. Setzt man zum + Beispiel openfiles auf 50, kann jeder + Prozess des Benutzers bis zu 50 Dateien öffnen. Dadurch + ist die maximale Anzahl von Dateien, die von einem + Benutzer geöffnet werden können, + openfiles mal + maxproc. Das gilt auch für den + Speicherverbrauch. + + + + Weitere Informationen über Ressourcenbeschränkungen, + Login-Klassen und -Fähigkeiten finden Sie in &man.cap.mkdb.1;, + &man.getrlimit.2; und &man.login.conf.5;. + + + + Gruppen + + Gruppen + + /etc/groups + + + Accounts + Gruppen + + + Eine Gruppe ist einfach eine Zusammenfassung von Accounts. + Gruppen werden durch den Gruppennamen und die + GID identifiziert. Der Kernel von &os; + entscheidet anhand der UID und der + Gruppenmitgliedschaft eines Prozesses, ob er dem Prozess etwas + erlaubt oder nicht. Wenn jemand von der + GID eines Benutzers oder Prozesses spricht, + meint er damit meistens die erste Gruppe der + Gruppenliste. + + Die Zuordnung von Gruppennamen zur GID + steht in /etc/group, einer Textdatei mit + vier durch Doppelpunkte getrennten Feldern. Im ersten Feld + steht der Gruppenname, das zweite enthält ein verschlüsseltes + Passwort, das dritte gibt die GID an und + das vierte besteht aus einer Komma separierten Liste der + Mitglieder der Gruppe. Eine ausführliche Beschreibung der + Syntax dieser Datei finden Sie in &man.group.5;. + + Wenn Sie /etc/group nicht händisch + editieren möchten, können Sie &man.pw.8; zum Editieren + benutzen. Das folgende Beispiel zeigt das Hinzufügen einer + Gruppe mit dem Namen teamtwo: + + + Setzen der Mitgliederliste einer Gruppe mit + &man.pw.8; + + &prompt.root; pw groupadd teamtwo +&prompt.root; pw groupshow teamtwo +teamtwo:*:1100: + + + 1100 ist die GID der + Gruppe teamtwo. + Momentan hat teamtwo noch keine + Mitglieder. Mit dem folgenden Kommando wird der Benutzer + jru in die Gruppe + teamtwo + aufgenommen. + + + Ein Gruppenmitglied mit &man.pw.8; hinzufügen + + &prompt.root; pw groupmod teamtwo -M jru +&prompt.root; pw groupshow teamtwo +teamtwo:*:1100:jru + + + Als Argument von geben Sie eine Komma + separierte Liste von Mitgliedern an, die in die Gruppe + aufgenommen werden sollen. Aus den vorherigen Abschnitten ist + bekannt, dass die Passwort-Datei ebenfalls eine Gruppe für + jeden Benutzer enthält. Das System teilt dem Benutzer + automatisch eine Gruppe zu, die aber vom + Kommando von &man.pw.8; nicht + angezeigt wird. Diese Information wird allerdings von + &man.id.1; und ähnlichen Werkzeugen angezeigt. Das heißt, + dass &man.pw.8; nur /etc/group + manipuliert, es wird nicht versuchen, zusätzliche + Informationen aus /etc/passwd zu + lesen. + + + Hinzufügen eines neuen Gruppenmitglieds mittels + &man.pw.8; + + &prompt.root; pw groupmod teamtwo -m db +&prompt.root; pw groupshow teamtwo +teamtwo:*:1100:jru,db + + + Die Argumente zur Option ist eine + durch Komma getrennte Liste von Benutzern, die der Gruppe + hinzugefügt werden sollen. Anders als im vorherigen Beispiel + werden diese Benutzer in die Gruppe aufgenommen und ersetzen + nicht die Liste der bereits bestehenden Benutzer in der + Gruppe. + + + Mit <command>id</command> die Gruppenzugehörigkeit + bestimmen + + &prompt.user; id jru +uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo) + + + In diesem Beispiel ist jru Mitglied von + jru und + teamtwo. + + Weitere Informationen zu diesem Befehl und dem Format von + /etc/group finden Sie in &man.pw.8; und + &man.group.5;. + +
+ Zugriffsrechte UNIX Index: head/de_DE.ISO8859-1/books/handbook/book.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/book.xml +++ head/de_DE.ISO8859-1/books/handbook/book.xml @@ -7,7 +7,7 @@ $FreeBSD$ $FreeBSDde: de-docproj/books/handbook/book.xml,v 1.91 2012/03/27 19:32:11 bcr Exp $ - basiert auf: r42118 + basiert auf: r42953 --> %chapters; %txtfiles; @@ -246,7 +246,6 @@ &chap.config; &chap.boot; - &chap.users; &chap.security; &chap.jails; &chap.mac; Index: head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml +++ head/de_DE.ISO8859-1/books/handbook/bsdinstall/chapter.xml @@ -5,7 +5,7 @@ $FreeBSD$ $FreeBSDde$ - basiert auf: r42827 + basiert auf: r42953 --> &os; 9.<replaceable>X</replaceable> (und neuer) @@ -2252,7 +2252,8 @@ Benutzern beendet und die Installation fortgesetzt.</para> <para>Für weitere Informationen zum hinzufügen von - Benutzern und deren Verwaltung, lesen Sie <xref linkend="users"/>.</para> + Benutzern und deren Verwaltung, lesen Sie <xref + linkend="users-synopsis"/>.</para> </sect2> <sect2 xml:id="bsdinstall-final-conf"> Index: head/de_DE.ISO8859-1/books/handbook/chapters.ent =================================================================== --- head/de_DE.ISO8859-1/books/handbook/chapters.ent +++ head/de_DE.ISO8859-1/books/handbook/chapters.ent @@ -10,7 +10,7 @@ $FreeBSD$ $FreeBSDde: de-docproj/books/handbook/chapters.ent,v 1.34 2011/10/08 16:47:33 jkois Exp $ - basiert auf: r42118 + basiert auf: r42953 --> <!ENTITY % not.published "INCLUDE"> @@ -36,7 +36,6 @@ <!-- Teil Drei --> <!ENTITY chap.config SYSTEM "config/chapter.xml"> <!ENTITY chap.boot SYSTEM "boot/chapter.xml"> - <!ENTITY chap.users SYSTEM "users/chapter.xml"> <!ENTITY chap.security SYSTEM "security/chapter.xml"> <!ENTITY chap.jails SYSTEM "jails/chapter.xml"> <!ENTITY chap.mac SYSTEM "mac/chapter.xml"> Index: head/de_DE.ISO8859-1/books/handbook/preface/preface.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/preface/preface.xml +++ head/de_DE.ISO8859-1/books/handbook/preface/preface.xml @@ -5,7 +5,7 @@ $FreeBSD$ $FreeBSDde: de-docproj/books/handbook/preface/preface.xml,v 1.36 2011/12/24 13:06:39 bcr Exp $ - basiert auf: r42900 + basiert auf: r42953 --> <preface xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="book-preface"> <title>Vorwort @@ -433,17 +433,6 @@ - , Benutzer und grundlegende - Account-Verwaltung - - Beschreibt, wie Benutzer-Accounts angelegt, verändert - und verwaltet werden. Weiterhin wird beschrieben, wie dem - Benutzer zur Verfügung stehende Ressourcen beschränkt - werden können. - - - - , Sicherheit Beschreibt die Werkzeuge mit denen Sie Ihr &os;-System Index: head/de_DE.ISO8859-1/books/handbook/users/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/users/chapter.xml +++ head/de_DE.ISO8859-1/books/handbook/users/chapter.xml @@ -1,1085 +0,0 @@ - - - - Benutzer und grundlegende Account-Verwaltung - - NeilBlakey-MilnerBeigetragen von - - - - RobertDrehmelÜbersetzt von - - - - - - - - Übersicht - - Einen FreeBSD-Computer können mehrere Benutzer zur selben - Zeit benutzen, allerdings kann immer nur einer vor der Konsole sitzen - - Außer Sie verwenden, wie in besprochen, zusätzliche Terminals - , über das Netzwerk können beliebig viele - Benutzer angemeldet sein. Jeder Benutzer muss einen Account - haben, um das System benutzen zu können. - - Nachdem Sie dieses Kapitel gelesen haben, werden Sie - - - - die verschiedenen Account-Typen von FreeBSD kennen, - - - - wissen, wie Accounts angelegt werden, - - - - wissen, wie Sie Accounts löschen, - - - - wie Sie Attribute eines Accounts, wie den Loginnamen oder - die Login-Shell ändern, - - - - wissen, wie Sie Limits für einen Account setzen, um - beispielsweise Ressourcen, wie Speicher oder CPU-Zeit, - einzuschränken, - - - - wie Sie mit Gruppen die Verwaltung der Accounts - vereinfachen. - - - - Vor dem Lesen dieses Kapitels sollten Sie - - - - die Grundlagen von &unix; und FreeBSD () - verstanden haben. - - - - - - Einführung - - Jeder Zugriff auf das System geschieht über Accounts und alle - Prozesse werden von Benutzern gestartet, also sind Benutzer- und - Account-Verwaltung von wesentlicher Bedeutung in FreeBSD-Systemen. - - Mit jedem Account eines FreeBSD-Systems sind bestimmte Informationen - verknüpft, die diesen Account identifizieren. - - - - Loginnamen - - - Den Loginnamen geben Sie bei der Anmeldung ein, wenn Sie - dazu mit login: aufgefordert werden. - Loginnamen müssen auf dem System eindeutig sein, das - heißt auf einem System kann es nicht zwei Accounts mit - demselben Loginnamen geben. In &man.passwd.5; wird - beschrieben, wie ein gültiger Loginname gebildet wird. - Normalerweise sollten Sie Namen verwenden, die aus - Kleinbuchstaben bestehen und bis zu acht Zeichen lang sind. - - - - - Passwort - - - Mit jedem Account ist ein Passwort verknüpft. Wenn - das Passwort leer ist, wird es bei der Anmeldung nicht - abgefragt. Das ist allerdings nicht zu empfehlen, daher sollte - jeder Account ein Passwort besitzen. - - - - - User ID (UID) - - - Die UID ist üblicherweise eine Zahl zwischen - 0 und 65535 - Für UIDs und GIDs können Zahlen bis - einschließlich 4294967295 verwendet werden. - Allerdings können solche IDs erhebliche - Probleme mit Anwendungen verursachen, die - Annahmen über den Wertebereich der IDs - treffen. - , die einen - Account eindeutig identifiziert. Intern verwendet FreeBSD nur - die UID, Loginnamen werden zuerst in eine UID umgewandelt, - mit der das System dann weiter arbeitet. Das bedeutet, dass - Sie Accounts mit unterschiedlichen Loginnamen aber gleicher - UID einrichten können. Vom Standpunkt des Systems handelt - es sich dabei um denselben Account. In der Praxis werden Sie - diese Eigenschaft des Systems wahrscheinlich nicht - benutzen. - - - - - Group ID (GID) - - - Die GID ist üblicherweise eine Zahl zwischen 0 und - 65536, die eine Gruppe - eindeutig identifiziert. Mit Gruppen kann der Zugriff auf - Ressourcen über die GID anstelle der UID geregelt werden. - Einige Konfigurationsdateien werden durch diesen Mechanismus - deutlich kleiner. Ein Account kann mehreren Gruppen - zugehören. - - - - - Login-Klasse - - - Login-Klassen erweitern das Gruppenkonzept. Sie - erhöhen die Flexibilität des Systems in der Handhabung - der verschiedenen Accounts. - - - - - Gültigkeit von Passwörtern - - - Ein regelmäßiges Ändern des Passworts wird in - der Voreinstellung von FreeBSD nicht erzwungen. Sie - können allerdings einen Passwortwechsel nach einer - gewissen Zeit auf Basis einzelner Accounts erzwingen. - - - - - Verfallszeit eines Accounts - - - In der Voreinstellung verfallen unter FreeBSD keine - Accounts. Wenn Sie Accounts einrichten, die nur für eine - bestimmte Zeit gültig sein sollen, beispielsweise Accounts - für Teilnehmer eines Praktikums, können Sie angeben, - wie lange der Account gültig sein soll. Nachdem die - angegebene Zeitspanne verstrichen ist, kann dieser Account - nicht mehr zum Anmelden verwendet werden, obwohl alle - Verzeichnisse und Dateien, die diesem Account gehören, - noch vorhanden sind. - - - - - vollständiger Benutzername - - - FreeBSD identifiziert einen Account eindeutig über - den Loginnamen, der aber keine Ähnlichkeit mit dem - richtigen Namen des Benutzers haben muss. Der - vollständige Benutzername kann daher beim Einrichten eines - Accounts angegeben werden. - - - - - Heimatverzeichnis - - - Das Heimatverzeichnis gibt den vollständigen Pfad zu - dem Verzeichnis an, in dem sich der Benutzer nach erfolgreicher - Anmeldung befindet. Es ist üblich, alle - Heimatverzeichnisse unter - /home/Loginname - oder - /usr/home/Loginname - anzulegen. Im Heimatverzeichnis oder in dort angelegten - Verzeichnissen werden die Dateien eines Benutzers - gespeichert. - - - - - Login-Shell - - - Grundsätzlich ist die Schnittstelle zum System eine - Shell, von denen es viele unterschiedliche gibt. Die - bevorzugte Shell eines Benutzers kann seinem Account zugeordnet - werden. - - - - - Es gibt drei Haupttypen von Accounts: Der - Superuser, - Systembenutzer und - Benutzer-Accounts. Der - Superuser-Account, normalerweise root genannt, wird - benutzt, um das System ohne Beschränkungen auf Privilegien zu - verwalten. Systembenutzer starten Dienste. Abschließend werden - Benutzer-Accounts von echten Menschen genutzt, die sich einloggen, Mails - lesen und so weiter. - - - - Der Superuser-Account - - - Accounts - Superuser (root) - - - Der Superuser-Account, normalerweise root - genannt, ist vorkonfiguriert und erleichtert die Systemverwaltung, sollte - aber nicht für alltägliche Aufgaben wie das Verschicken und - Empfangen von Mails, Entdecken des Systems oder Programmierung benutzt - werden. - - Das ist so, da der Superuser im Gegensatz zu normalen - Benutzer-Accounts ohne Beschränkungen operiert und falsche - Anwendung des Superuser-Accounts in spektakulären Katastrophen - resultieren kann. Benutzer-Accounts sind nicht in der Lage, das System - versehentlich zu zerstören, deswegen ist es generell am besten - normale Benutzer-Accounts zu verwenden, solange man nicht - hauptsächlich die extra Privilegien benötigt. - - Kommandos, die Sie als Superuser eingeben, sollten Sie immer - doppelt und dreifach überprüfen, da ein - zusätzliches Leerzeichen oder ein fehlender Buchstabe irreparablen - Datenverlust bedeuten kann. - - Das erste, das Sie tun sollten, nachdem Sie dieses Kapitel gelesen - haben, ist einen unprivilegierten Benutzer für Ihre eigene normale - Benutzung zu erstellen, wenn Sie das nicht bereits getan haben. Das - trifft immer zu, egal ob Sie ein Mehrbenutzersystem oder ein System - laufen haben, welches Sie alleine benutzen. Später in diesem - Kapitel besprechen wir, wie man zusätzliche Accounts erstellt und - wie man zwischen dem normalen Benutzer und dem Superuser wechselt. - - - - System-Accounts - - - Accounts - System-Accounts - - - Systembenutzer starten Dienste wie DNS, Mail-Server, Web-Server und so - weiter. Der Grund dafür ist die Sicherheit; wenn die Programme - von dem Superuser gestartet werden, können Sie ohne - Einschränkungen handeln. - - - Accounts - daemon - - - Accounts - operator - - Beispiele von Systembenutzern sind daemon, - operator, bind (für den - Domain Name Service) und news und - www. - - - Accounts - nobody - - nobody ist der generische unprivilegierte - Systembenutzer. Bedenken Sie aber, dass je mehr Dienste - nobody benutzen, desto mehr Dateien und Prozesse - diesem Benutzer gehören und dieser Benutzer damit umso - privilegierter wird. - - - - Benutzer-Accounts - - - Accounts - Benutzer-Accounts - - - Benutzer-Accounts sind das primäre Mittel des Zugriffs für - Menschen auf das System und isolieren Benutzer und Umgebung, - schützen die Benutzer davor, das System oder Daten anderer Benutzer - zu beschädigen und erlauben Benutzern ihre Umgebung selbst - einzurichten, ohne das sich dies auf andere auswirkt. - - Jede Person, die auf Ihr System zugreift, sollte ihren eigenen - Account besitzen. Das erlaubt Ihnen herauszufinden, wer was macht - und hält Leute davon ab, die Einstellungen der anderen zu - verändern oder Mails zu lesen, die nicht für sie bestimmt - waren. - - Jeder Benutzer kann sich eine eigene Umgebung mit alternativen - Shells, Editoren, Tastaturbelegungen und Sprachen einrichten. - - - - Accounts verändern - - - Accounts - verändern - - - Unter &unix; gibt es verschiedene Kommandos, um Accounts zu - verändern. Die gebräuchlichsten Kommandos sind unten, - gefolgt von einer detaillierten Beschreibung, zusammengefasst. - - - - - - Kommando - Zusammenfassung - - - - - &man.adduser.8; - Das empfohlene Werkzeug, um neue Accounts zu - erstellen. - - - &man.rmuser.8; - Das empfohlene Werkzeug, um Accounts zu - löschen. - - - &man.chpass.1; - Ein flexibles Werkzeug, um Informationen in der - Account-Datenbank zu verändern. - - - &man.passwd.1; - Ein einfaches Werkzeug, um Passwörter von Accounts - zu ändern. - - - &man.pw.8; - Ein mächtiges und flexibles Werkzeug um alle - Informationen über Accounts zu ändern. - - - - - - - <command>adduser</command> - - - Accounts - erstellen - - - adduser - - - /usr/share/skel - - &man.adduser.8; ist ein einfaches Programm - um neue Benutzer hinzuzufügen. Es erstellt - passwd und group - Einträge für den - Benutzer, genauso wie ein home Verzeichnis, kopiert ein paar - vorgegebene Dotfiles aus /usr/share/skel und kann - optional dem Benutzer eine ,,Willkommen``-Nachricht zuschicken. - - - Einen Benutzer unter &os; anlegen - - &prompt.root; adduser -Username: jru -Full name: J. Random User -Uid (Leave empty for default): -Login group [jru]: -Login group is jru. Invite jru into other groups? []: wheel -Login class [default]: -Shell (sh csh tcsh zsh nologin) [sh]: zsh -Home directory [/home/jru]: -Home directory permissions (Leave empty for default): -Use password-based authentication? [yes]: -Use an empty password? (yes/no) [no]: -Use a random password? (yes/no) [no]: -Enter password: -Enter password again: -Lock out the account after creation? [no]: -Username : jru -Password : **** -Full Name : J. Random User -Uid : 1001 -Class : -Groups : jru wheel -Home : /home/jru -Shell : /usr/local/bin/zsh -Locked : no -OK? (yes/no): yes -adduser: INFO: Successfully added (jru) to the user database. -Add another user? (yes/no): no -Goodbye! -&prompt.root; - - - - Wenn Sie das Passwort eingeben, werden weder Passwort noch - Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort - korrekt eingeben. - - - - - <command>rmuser</command> - - rmuser - - Accounts - löschen - - - Benutzen Sie &man.rmuser.8;, um einen Account - vollständig aus dem System zu entfernen. - &man.rmuser.8; führt die folgenden Schritte - durch: - - - - Entfernt den &man.crontab.1; Eintrag des Benutzers - (wenn dieser existiert). - - - Entfernt alle &man.at.1; jobs, die dem Benutzer gehören. - - - - Schließt alle Prozesse des Benutzers. - - - Entfernt den Benutzer aus der lokalen Passwort-Datei des - Systems. - - - Entfernt das Heimatverzeichnis des Benutzers (falls es dem - Benutzer gehört). - - - Entfernt eingegangene E-Mails des Benutzers - aus /var/mail. - - - Entfernt alle Dateien des Benutzers aus temporären - Dateispeicherbereichen wie /tmp. - - - Entfernt den Loginnamen von allen Gruppen, zu denen er - gehört, aus /etc/group. - - - Wenn eine Gruppe leer wird und der Gruppenname mit dem - Loginnamen identisch ist, wird die Gruppe entfernt; das - ergänzt sich mit den einzelnen Benutzer-Gruppen, die von - &man.adduser.8; für jeden neuen Benutzer erstellt werden. - - - - - - Der Superuser-Account kann nicht mit &man.rmuser.8; entfernt - werden, da dies in den meisten Fällen das System unbrauchbar - macht. - - Als Vorgabe wird ein interaktiver Modus benutzt, der - sicherzustellen versucht, dass Sie wissen, was Sie tun. - - - Interaktives Löschen von Account mit - <command>rmuser</command> - - &prompt.root; rmuser jru -Matching password entry: -jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh -Is this the entry you wish to remove? y -Remove user's home directory (/home/jru)? y -Updating password file, updating databases, done. -Updating group file: trusted (removing group jru -- personal group is empty) done. -Removing user's incoming mail file /var/mail/jru: done. -Removing files belonging to jru from /tmp: done. -Removing files belonging to jru from /var/tmp: done. -Removing files belonging to jru from /var/tmp/vi.recover: done. -&prompt.root; - - - - - <command>chpass</command> - - chpass - &man.chpass.1; ändert Informationen der - Benutzerdatenbank wie Passwörter, Shells und persönliche - Informationen. - - Nur Systemadministratoren, mit Superuser-Rechten, können die - Informationen und Passwörter der anderen Benutzer mit - &man.chpass.1; verändern. - - Werden keine Optionen neben dem optionalen Loginnamen - angegeben, zeigt &man.chpass.1; einen Editor - mit Account-Informationen an und aktualisiert die - Account-Datenbank, wenn dieser verlassen wird. - - - Unter &os; wird nach dem Verlassen des Editors - nach dem Passwort gefragt, es sei denn, man ist als Superuser - angemeldet. - - - - Interaktives <command>chpass</command> des Superusers - - #Changing user database information for jru. -Login: jru -Password: * -Uid [#]: 1001 -Gid [# or name]: 1001 -Change [month day year]: -Expire [month day year]: -Class: -Home directory: /home/jru -Shell: /usr/local/bin/zsh -Full Name: J. Random User -Office Location: -Office Phone: -Home Phone: -Other information: - - - Der normale Benutzer kann nur einen kleinen Teil dieser - Informationen verändern und natürlich nur die Daten des - eigenen Accounts. - - - Interaktives <command>chpass</command> eines normalen - Benutzers - - #Changing user database information for jru. -Shell: /usr/local/bin/tcsh -Full Name: J. Random User -Office Location: -Office Phone: -Home Phone: -Other information: - - - - &man.chfn.1; und &man.chsh.1; sind - nur Verweise auf &man.chpass.1; genauso wie - &man.ypchpass.1;, &man.ypchfn.1; und - &man.ypchsh.1;. NIS wird automatisch unterstützt, - deswegen ist es nicht notwendig das yp vor dem - Kommando einzugeben. NIS wird später - in besprochen. - - - - <application>passwd</application> - - passwd - - Accounts - Passwort wechseln - - &man.passwd.1; ist der übliche Weg, Ihr - eigenes Passwort als Benutzer zu ändern oder das Passwort eines - anderen Benutzers als Superuser. - - - Um unberechtigte Änderungen zu verhindern, - muss bei einem Passwortwechsel zuerst das ursprüngliche - Passwort eingegeben werden. - - - - Wechseln des Passworts - - &prompt.user; passwd -Changing local password for jru. -Old password: -New password: -Retype new password: -passwd: updating the database... -passwd: done - -&prompt.root; passwd jru -Changing local password for jru. -New password: -Retype new password: -passwd: updating the database... -passwd: done - - - - Als Superuser das Passwort eines anderen Accounts - verändern - - &prompt.root; passwd jru -Changing local password for jru. -New password: -Retype new password: -passwd: updating the database... -passwd: done - - - - Wie bei &man.chpass.1; ist &man.yppasswd.1; - nur ein Verweis auf &man.passwd.1;. NIS wird von - jedem dieser Kommandos unterstützt. - - - - - <command>pw</command> - pw - - &man.pw.8; ist ein Kommandozeilenprogramm, mit - dem man Accounts und Gruppen erstellen, entfernen, verändern - und anzeigen kann. Dieses Kommando dient als Schnittstelle zu den - Benutzer- und Gruppendateien des Systems. &man.pw.8; - besitzt eine Reihe mächtiger Kommandozeilenschalter, die es - für die Benutzung in Shell-Skripten geeignet machen, doch - finden neue Benutzer die Bedienung des Kommandos komplizierter, als - die der anderen hier vorgestellten Kommandos. - - - - - Benutzer einschränken - - Benutzer einschränken - - Accounts - einschränken - - Wenn ein System von mehreren Benutzern verwendet wird, ist es - vielleicht notwendig, den Gebrauch des Systems zu beschränken. - FreeBSD bietet dem Systemadministrator mehrere Möglichkeiten - die System-Ressourcen, die ein einzelner Benutzer verwenden kann, - einzuschränken. Diese Limitierungen sind in zwei Kategorien - eingeteilt: Festplattenkontingente und andere - Ressourcenbeschränkungen. - - Quotas - - Benutzer einschränken - Quotas - - Festplatten Quotas - Festplatten-Kontingente schränken den Plattenplatz, der - einem Benutzer zur Verfügung steht, ein. Sie bieten zudem, - ohne aufwändige Berechnung, einen schnellen Überblick - über den verbrauchten Plattenplatz. - Kontingente werden in diskutiert. - - - /etc/login.conf - - Die Login-Klassen werden in /etc/login.conf - definiert. Auf die präzisen Semantiken gehen wir hier nicht - weiter ein, sie können jedoch in &man.login.conf.5; - nachgelesen werden. Es ist ausreichend zu sagen, dass jeder - Benutzer einer Login-Klasse zugewiesen wird (standardmäßig - default) und dass jede Login-Klasse mit einem Satz - von Login-Fähigkeiten verbunden ist. Eine Login-Fähigkeit - ist ein Name=Wert - Paar, in dem Name - die Fähigkeit bezeichnet und Wert - ein willkürlicher Text ist, der je nach Name - entsprechend verarbeitet wird. Login-Klassen und - -Fähigkeiten zu definieren, ist fast schon selbsterklärend - und wird auch in &man.login.conf.5; beschrieben. - - - Das System verwendet die Datei - /etc/login.conf normalerweise nicht direkt, - sondern nur über die Datenbank - /etc/login.conf.db, da diese eine - schnellere Abfrage erlaubt. Der nachstehende Befehl erzeugt die - Datenbank /etc/login.conf.db aus der Datei - /etc/login.conf: - - &prompt.root; cap_mkdb /etc/login.conf - - - Ressourcenbeschränkungen unterscheiden sich von normalen - Login-Fähigkeiten zweifach. Erstens gibt es für jede - Beschränkung ein aktuelles und ein maximales Limit. Das - aktuelle Limit kann vom Benutzer oder einer Anwendung beliebig - bis zum maximalen Limit verändert werden. Letzteres kann - der Benutzer nur heruntersetzen. Zweitens gelten die meisten - Ressourcenbeschränkungen für jeden vom Benutzer - gestarteten Prozess, nicht für den Benutzer selbst. - Beachten Sie jedoch, dass diese Unterschiede durch das spezifische - Einlesen der Limits und nicht durch das System der - Login-Fähigkeiten entstehen (das heißt, - Ressourcenbeschränkungen sind keine - Login-Fähigkeiten). - - Hier befinden sich die am häufigsten benutzten - Ressourcenbeschränkungen (der Rest kann zusammen mit den - anderen Login-Fähigkeiten in &man.login.conf.5; gefunden - werden): - - - - coredumpsize - - - coredumpsize - - Benutzer einschränken - coredumpsize - - Das Limit der Größe einer core-Datei, die - von einem Programm generiert wird, unterliegt aus - offensichtlichen Gründen anderen Limits der - Festplattenbenutzung (zum Beispiel filesize - oder Festplattenkontingenten). Es wird aber trotzdem - oft als weniger harte Methode zur Kontrolle des - Festplattenplatz-Verbrauchs verwendet: Da Benutzer die - core-Dateien nicht selbst erstellen, und sie oft nicht - löschen, kann sie diese Option davor retten, dass - ihnen kein Festplattenspeicher mehr zur Verfügung - steht, sollte ein großes Programm, wie - emacs, abstürzen. - - - - - cputime - - - cputime - - Benutzer einschränken - cputime - - Die maximale Rechenzeit, die ein Prozess eines Benutzers - verbrauchen darf. Überschreitet der Prozess diesen Wert, - wird er vom Kernel beendet. - - - Die Rechenzeit wird limitiert, - nicht die prozentuale Prozessorenbenutzung, wie es in - einigen Feldern in &man.top.1; und &man.ps.1; dargestellt - wird. Letzteres war zu der Zeit, als dies hier geschrieben - wurde nicht möglich und würde eher nutzlos sein: - Ein Compiler – ein wahrscheinlich legitimer - Vorgang – kann leicht fast 100% des Prozessors in - Anspruch nehmen. - - - - - - filesize - - - filesize - - Benutzer einschränken - filesize - - Hiermit lässt sich die maximale Größe einer Datei - bestimmen, die der Benutzer besitzen darf. Im Gegensatz zu - Festplattenkontingenten ist diese - Beschränkung nur für jede einzelne Datei gültig - und nicht für den Platz, den alle Dateien eines Benutzers - verwenden. - - - - - maxproc - - - maxproc - - Benutzer einschränken - maxproc - - Das ist die maximale Anzahl von Prozessen, die ein - Benutzer starten darf, und beinhaltet sowohl Vordergrund- - als auch Hintergrundprozesse. Natürlich darf dieser - Wert nicht höher sein als das System-Limit, das in - kern.maxproc angegeben ist. Vergessen - Sie auch nicht, dass ein zu kleiner Wert den Benutzer in - seiner Produktivität einschränken könnte; - es ist oft nützlich, mehrfach eingeloggt zu sein, oder - Pipelines - - Pipeline = - Leitung. - Mit Pipes sind Verbindungen - zwischen zwei Sockets in meistens zwei verschiedenen - Prozessen gemeint. - - zu verwenden. Ein paar Aufgaben, wie die Kompilierung eines - großen Programms, starten mehrere Prozesse (zum Beispiel - &man.make.1;, &man.cc.1; und andere). - - - - - memorylocked - - - memorylocked - - Benutzer einschränken - memorylocked - - Dieses Limit gibt an, wie viel virtueller Speicher von einem - Prozess maximal im Arbeitsspeicher festgesetzt werden kann. - (siehe auch &man.mlock.2;). Ein paar systemkritische Programme, - wie &man.amd.8;, verhindern damit einen Systemzusammenbruch, der - auftreten könnte, wenn sie aus dem Speicher genommen werden. - - - - - - memoryuse - - - memoryuse - - Benutzer einschränken - memoryuse - - Bezeichnet den maximalen Speicher, den ein Prozess benutzen - darf und beinhaltet sowohl Arbeitsspeicher-, als auch Swap- - Benutzung. Es ist kein allübergreifendes Limit für - den Speicherverbrauch, aber ein guter Anfang. - - - - - openfiles - - - openfiles - - Benutzer einschränken - openfiles - - Mit diesem Limit lässt sich die maximale Anzahl - der von einem Prozess des Benutzers geöffneten Dateien - festlegen. In FreeBSD werden Dateien auch verwendet, um Sockets - und IPC-Kanäle - - IPC steht für - Interprocess Communication. - - - darzustellen. Setzen Sie es deshalb nicht zu niedrig. Das - System-Limit ist im kern.maxfiles - &man.sysctl.8; definiert. - - - - - sbsize - - - sbsize - - Benutzer einschränken - sbsize - - Dieses Limit beschränkt den Netzwerk-Speicher, und damit - die mbufs, die ein Benutzer verbrauchen darf. Es stammt aus einer - Antwort auf einen DoS-Angriff, bei dem viele Netzwerk-Sockets - geöffnet wurden, kann aber generell dazu benutzt werden - Netzwerk-Verbindungen zu beschränken. - - - - - stacksize - - - Das ist die maximale Größe, auf die der Stack - eines Prozesses heranwachsen darf. Das allein ist natürlich - nicht genug, um den Speicher zu beschränken, den ein Programm - verwenden darf. Es sollte deshalb in Verbindung mit anderen - Limits gesetzt werden. - - - - - Beim Setzen von Ressourcenbeschränkungen sind noch andere - Dinge zu beachten. Nachfolgend ein paar generelle Tipps, Empfehlungen - und verschiedene Kommentare. - - - - Von /etc/rc beim Hochfahren des Systems - gestartete Prozesse werden der daemon - Login-Klasse zugewiesen. - - - - Obwohl das mitgelieferte /etc/login.conf - eine Quelle von vernünftigen Limits darstellt, können nur - Sie, der Administrator, wissen, was für Ihr System angebracht - ist. Ein Limit zu hoch anzusetzen könnte Ihr System für - Missbrauch öffnen, und ein zu niedriges Limit der - Produktivität einen Riegel vorschieben. - - - - Benutzer des X-Window Systems (X11) sollten wahrscheinlich - mehr Ressourcen zugeteilt bekommen als andere Benutzer. X11 - beansprucht selbst schon eine Menge Ressourcen, verleitet die - Benutzer aber auch, mehrere Programme gleichzeitig laufen zu - lassen. - - - - Bedenken Sie, dass viele Limits für einzelne Prozesse - gelten und nicht für den Benutzer selbst. Setzt man - zum Beispiel openfiles auf 50, kann jeder - Prozess des Benutzers bis zu 50 Dateien öffnen. Dadurch - ist die maximale Anzahl von Dateien, die von einem Benutzer - geöffnet werden können, openfiles - mal maxproc. Das gilt auch für den - Speicherverbrauch. - - - - Weitere Informationen über - Ressourcenbeschränkungen, Login-Klassen und -Fähigkeiten - enthalten die Hilfeseiten - &man.cap.mkdb.1;, &man.getrlimit.2; und &man.login.conf.5;. - - - - Gruppen - - Gruppen - - /etc/groups - - - Accounts - Gruppen - - Eine Gruppe ist einfach eine Zusammenfassung von Accounts. - Gruppen werden durch den Gruppennamen und die GID (group ID) - identifiziert. Der Kernel von FreeBSD (und den meisten anderen &unix; - Systemen) entscheidet anhand der UID und der Gruppenmitgliedschaft - eines Prozesses, ob er dem Prozess etwas erlaubt oder nicht. Im - Unterschied zur UID kann ein Prozess zu einer Reihe von Gruppen - gehören. Wenn jemand von der GID eines - Benutzers oder Prozesses spricht, meint er damit meistens die erste - Gruppe der Gruppenliste. - - Die Zuordnung von Gruppennamen zur GID steht in - /etc/group, einer Textdatei mit vier durch - Doppelpunkte getrennten Feldern. Im ersten Feld steht der - Gruppenname, das zweite enthält ein verschlüsseltes - Passwort, das dritte gibt die GID an und das vierte besteht aus einer - Komma separierten Liste der Mitglieder der Gruppe. Diese Datei kann - einfach editiert werden (natürlich nur, wenn Sie dabei keine - Syntaxfehler machen). Eine ausführliche Beschreibung der Syntax - dieser Datei finden Sie in &man.group.5;. - - Wenn Sie /etc/group nicht händisch - editieren möchten, können Sie &man.pw.8; zum Editieren - benutzen. Das folgende Beispiel zeigt das Hinzufügen einer - Gruppe mit dem Namen teamtwo: - - - Setzen der Mitgliederliste einer Gruppe mit &man.pw.8; - - &prompt.root; pw groupadd teamtwo -&prompt.root; pw groupshow teamtwo -teamtwo:*:1100: - - - Die Zahl 1100 ist die GID der Gruppe - teamtwo. Momentan hat - teamtwo noch keine Mitglieder und ist daher - ziemlich nutzlos. Um das zu ändern, nehmen wir nun - jru in teamtwo - auf. - - - Ein Gruppenmitglied mit <command>pw</command> - hinzufügen - - &prompt.root; pw groupmod teamtwo -M jru -&prompt.root; pw groupshow teamtwo -teamtwo:*:1100:jru - - - Als Argument von geben Sie eine Komma - separierte Liste von Mitgliedern an, die in die Gruppe aufgenommen - werden sollen. Aus den vorherigen Abschnitten ist bekannt, dass die - Passwort-Datei ebenfalls eine Gruppe für jeden Benutzer - enthält. Das System teilt dem Benutzer automatisch eine Gruppe - zu, die aber vom Kommando von &man.pw.8; - nicht angezeigt wird. Diese Information wird allerdings von - &man.id.1; und ähnlichen Werkzeugen angezeigt. Das heißt, - dass &man.pw.8; nur /etc/group manipuliert, - es wird nicht versuchen, zusätzliche Informationen aus - /etc/passwd zu lesen. - - - Hinzufügen eines neuen Gruppenmitglieds mittels - &man.pw.8; - - &prompt.root; pw groupmod teamtwo -m db -&prompt.root; pw groupshow teamtwo -teamtwo:*:1100:jru,db - - - Die Argumente zur Option ist eine durch Komma - getrennte Liste von Benutzern, die der Gruppe hinzugefügt werden - sollen. Anders als im vorherigen Beispiel werden diese Benutzer in die - Gruppe aufgenommen und ersetzen nicht die Liste der bereits bestehenden - Benutzer in der Gruppe. - - - Mit <command>id</command> die Gruppenzugehörigkeit - bestimmen - - &prompt.user; id jru -uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo) - - - Wie Sie sehen, ist jru Mitglied von - jru und teamtwo. - - Weitere Informationen entnehmen Sie bitte &man.pw.8;. - -