diff options
Diffstat (limited to 'de_DE.ISO8859-1/books/handbook/users/chapter.sgml')
-rw-r--r-- | de_DE.ISO8859-1/books/handbook/users/chapter.sgml | 1182 |
1 files changed, 0 insertions, 1182 deletions
diff --git a/de_DE.ISO8859-1/books/handbook/users/chapter.sgml b/de_DE.ISO8859-1/books/handbook/users/chapter.sgml deleted file mode 100644 index 416f2a490d..0000000000 --- a/de_DE.ISO8859-1/books/handbook/users/chapter.sgml +++ /dev/null @@ -1,1182 +0,0 @@ -<!-- - The FreeBSD Documentation Project - The FreeBSD German Documentation Project - - $FreeBSD$ - $FreeBSDde: de-docproj/books/handbook/users/chapter.sgml,v 1.33 2004/04/12 17:55:42 mheinen Exp $ - basiert auf: 1.43 ---> - -<chapter id="users"> - <chapterinfo> - <authorgroup> - <author> - <firstname>Neil</firstname> - <surname>Blakey-Milner</surname> - <contrib>Beigetragen von </contrib> - </author> - </authorgroup> - <!-- Feb 2000 --> - <authorgroup> - <author> - <firstname>Robert</firstname> - <surname>Drehmel</surname> - <contrib>Übersetzt von </contrib> - </author> - </authorgroup> - <!-- Jul 2000 --> - </chapterinfo> - - <title>Benutzer und grundlegende Account-Verwaltung</title> - - <sect1 id="users-synopsis"> - <title>Übersicht</title> - - <para>Einen FreeBSD-Computer können mehrere Benutzer zur selben - Zeit benutzen, allerdings kann immer nur einer vor der Konsole sitzen - <footnote> - <para>Außer Sie verwenden, wie in <xref - linkend="serialcomms"> besprochen, zusätzliche Terminals</para> - </footnote>, über das Netzwerk können beliebig viele - Benutzer angemeldet sein. Jeder Benutzer muss einen Account - haben, um das System benutzen zu können.</para> - - <para>Nachdem Sie dieses Kapitel gelesen haben, werden Sie</para> - - <itemizedlist> - <listitem> - <para>die verschiedenen Account-Typen von FreeBSD kennen,</para> - </listitem> - - <listitem> - <para>wissen, wie Accounts angelegt werden,</para> - </listitem> - - <listitem> - <para>wissen, wie Sie Accounts löschen,</para> - </listitem> - - <listitem> - <para>wie Sie Attribute eines Accounts, wie den Loginnamen oder - die Login-Shell ändern,</para> - </listitem> - - <listitem> - <para>wissen, wie Sie Limits für einen Account setzen, um - beispielsweise Ressourcen, wie Speicher oder CPU-Zeit, - einzuschränken,</para> - </listitem> - - <listitem> - <para>wie Sie mit Gruppen die Verwaltung der Accounts - vereinfachen.</para> - </listitem> - </itemizedlist> - - <para>Vor dem Lesen dieses Kapitels sollten Sie</para> - - <itemizedlist> - <listitem> - <para>die Grundlagen von &unix; und FreeBSD (<xref linkend="basics">) - verstanden haben.</para> - </listitem> - </itemizedlist> - </sect1> - - <sect1 id="users-introduction"> - <title>Einführung</title> - - <para>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.</para> - - <para>Mit jedem Account eines FreeBSD-Systems sind bestimmte Informationen - verknüpft, die diesen Account identifizieren.</para> - - <variablelist> - <varlistentry> - <term>Loginnamen</term> - - <listitem> - <para>Den Loginnamen geben Sie bei der Anmeldung ein, wenn Sie - dazu mit <prompt>login:</prompt> 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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Passwort</term> - - <listitem> - <para>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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>User ID (UID)</term> - - <listitem> - <para>Die UID ist üblicherweise eine Zahl zwischen - 0 und 65535<footnote id="users-largeuidgid"> - <para>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.</para> - </footnote>, 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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Group ID (GID)</term> - - <listitem> - <para>Die GID ist üblicherweise eine Zahl zwischen 0 und - 65536<footnoteref linkend="users-largeuidgid">, 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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Login-Klasse</term> - - <listitem> - <para>Login-Klassen erweitern das Gruppenkonzept. Sie - erhöhen die Flexibilität des Systems in der Handhabung - der verschiedenen Accounts.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Gültigkeit von Passwörtern</term> - - <listitem> - <para>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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Verfallszeit eines Accounts</term> - - <listitem> - <para>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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>vollständiger Benutzername</term> - - <listitem> - <para>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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Heimatverzeichnis</term> - - <listitem> - <para>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 - <filename>/home/<replaceable>Loginname</replaceable></filename> - oder - <filename>/usr/home/<replaceable>Loginname</replaceable></filename> - anzulegen. Im Heimatverzeichnis oder in dort angelegten - Verzeichnissen werden die Dateien eines Benutzers - gespeichert.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Login-Shell</term> - - <listitem> - <para>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.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Es gibt drei Haupttypen von Accounts: Der - <link linkend="users-superuser">Superuser</link>, - <link linkend="users-system">Systembenutzer</link> und - <link linkend="users-user">Benutzer-Accounts</link>. Der - Superuser-Account, normalerweise <username>root</username> 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.</para> - </sect1> - - <sect1 id="users-superuser"> - <title>Der Superuser-Account</title> - - <indexterm> - <primary>Accounts</primary> - <secondary>Superuser (root)</secondary> - </indexterm> - - <para>Der Superuser-Account, normalerweise <username>root</username> - 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.</para> - - <para>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.</para> - - <para>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.</para> - - <para>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.</para> - </sect1> - - <sect1 id="users-system"> - <title>System-Accounts</title> - - <indexterm> - <primary>Accounts</primary> - <secondary>System-Accounts</secondary> - </indexterm> - - <para>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.</para> - - <indexterm> - <primary>Accounts</primary> - <secondary><username>daemon</username></secondary> - </indexterm> - <indexterm> - <primary>Accounts</primary> - <secondary><username>operator</username></secondary> - </indexterm> - <para>Beispiele von Systembenutzern sind <username>daemon</username>, - <username>operator</username>, <username>bind</username> (für den - Domain Name Service) und <username>news</username>. Oft erstellen - Systemadministratoren den Benutzer <username>httpd</username>, um - Web-Server laufen zu lassen, die sie installieren.</para> - - <indexterm> - <primary>Accounts</primary> - <secondary><username>nobody</username></secondary> - </indexterm> - <para><username>nobody</username> ist der generische unprivilegierte - Systembenutzer. Bedenken Sie aber, dass je mehr Dienste - <username>nobody</username> benutzen, desto mehr Dateien und Prozesse - diesem Benutzer gehören und dieser Benutzer damit umso - privilegierter wird.</para> - </sect1> - - <sect1 id="users-user"> - <title>Benutzer-Accounts</title> - - <indexterm> - <primary>Accounts</primary> - <secondary>Benutzer-Accounts</secondary> - </indexterm> - - <para>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.</para> - - <para>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.</para> - - <para>Jeder Benutzer kann sich eine eigene Umgebung mit alternativen - Shells, Editoren, Tastaturbelegungen und Sprachen einrichten.</para> - </sect1> - - <sect1 id="users-modifying"> - <title>Accounts verändern</title> - - <indexterm> - <primary>Accounts</primary> - <secondary>verändern</secondary> - </indexterm> - - <para>Unter &unix; gibt es verschiedene Kommandos, um Accounts zu - verändern. Die gebräuchlichsten Kommandos sind unten, - gefolgt von einer detaillierten Beschreibung, zusammengefasst.</para> - - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>Kommando</entry> - <entry>Zusammenfassung</entry> - </row> - </thead> - <tbody> - <row> - <entry>&man.adduser.8;</entry> - <entry>Das empfohlene Werkzeug, um neue Accounts zu - erstellen.</entry> - </row> - <row> - <entry>&man.rmuser.8;</entry> - <entry>Das empfohlene Werkzeug, um Accounts zu - löschen.</entry> - </row> - <row> - <entry>&man.chpass.1;</entry> - <entry>Ein flexibles Werkzeug, um Informationen in der - Account-Datenbank zu verändern.</entry> - </row> - <row> - <entry>&man.passwd.1;</entry> - <entry>Ein einfaches Werkzeug, um Passwörter von Accounts - zu ändern.</entry> - </row> - <row> - <entry>&man.pw.8;</entry> - <entry>Ein mächtiges und flexibles Werkzeug um alle - Informationen über Accounts zu ändern.</entry> - </row> - </tbody> - </tgroup> - </informaltable> - - <sect2 id="users-adduser"> - <title><command>adduser</command></title> - - <indexterm> - <primary>Accounts</primary> - <secondary>erstellen</secondary> - </indexterm> - <indexterm> - <primary><command>adduser</command></primary> - </indexterm> - <indexterm> - <primary><filename class=directory>/usr/share/skel</filename></primary> - </indexterm> - <para>&man.adduser.8; ist ein einfaches Programm - um neue Benutzer hinzuzufügen. Es erstellt - <filename>passwd</filename> und <filename>group</filename> - Einträge für den - Benutzer, genauso wie ein home Verzeichnis, kopiert ein paar - vorgegebene Dotfiles aus <filename>/usr/share/skel</filename> und kann - optional dem Benutzer eine ,,Willkommen``-Nachricht zuschicken.</para> - - <para>Für &os; 5.0 wurde &man.adduser.8; in Perl - neugeschrieben und fungiert jetzt als Stellvertreter für - das Shell-Skript &man.pw.8;. Daher unterscheidet sich die - Benutzung von &man.adduser.8; unter &os; 5.X leicht von - der unter &os; 4.X.</para> - - <para>Um die anfängliche Konfigurationsdatei zu erstellen, - benutzen Sie: <command>adduser -s -config_create</command>. - <footnote> - <para>Das <option>-s</option> bringt &man.adduser.8; - dazu, weniger Fragen und Fehlermeldungen auszugeben. - Wir benutzen <option>-v</option> später, wenn wir die - Voreinstellungen ändern wollen.</para> - </footnote> - Zunächst konfigurieren wir Voreinstellungen von - &man.adduser.8; und erstellen unseren ersten - Benutzer-Account, da es böse und unangenehm ist, - <username>root</username> für normale Aufgaben zu - verwenden.</para> - - <example> - <title><command>adduser</command> konfigurieren und Benutzer - unter &os; 4.X hinzufügen</title> - - <screen>&prompt.root; <userinput>adduser -v</userinput> -Use option ``-silent'' if you don't want to see all warnings and questions. -Check /etc/shells -Check /etc/master.passwd -Check /etc/group -Enter your default shell: csh date no sh tcsh zsh [sh]: <userinput>zsh</userinput> -Your default shell is: zsh -> /usr/local/bin/zsh -Enter your default HOME partition: [/home]: -Copy dotfiles from: /usr/share/skel no [/usr/share/skel]: -Send message from file: /etc/adduser.message no -[/etc/adduser.message]: <userinput>no</userinput> -Do not send message -Use passwords (y/n) [y]: <userinput>y</userinput> - -Write your changes to /etc/adduser.conf? (y/n) [n]: <userinput>y</userinput> - -Ok, let's go. -Don't worry about mistakes. I will give you the chance later to correct any input. -Enter username [a-z0-9_-]: <userinput>jru</userinput> -Enter full name []: <userinput>J. Random User</userinput> -Enter shell csh date no sh tcsh zsh [zsh]: -Enter home directory (full path) [/home/jru]: -Uid [1001]: -Enter login class: default []: -Login group jru [jru]: -Login group is ``jru''. Invite jru into other groups: guest no -[no]: <userinput>wheel</userinput> -Enter password []: -Enter password again []: - -Name: jru -Password: **** -Fullname: J. Random User -Uid: 1001 -Gid: 1001 (jru) -Class: -Groups: jru wheel -HOME: /home/jru -Shell: /usr/local/bin/zsh -OK? (y/n) [y]: <userinput>y</userinput> -Added user ``jru'' -Copy files from /usr/share/skel to /home/jru -Add another user? (y/n) [y]: <userinput>n</userinput> -Goodbye! -&prompt.root;</screen> - </example> - - <para>Zusammengefasst haben wir die vorgegebene Shell in - <application>zsh</application> (eine zusätzliche Shell aus - der Ports-Sammlung) geändert und das Senden einer - ,,Willkommen``-Nachricht an neue Benutzer abgeschaltet. - Danach haben wir die Konfiguration abgespeichert und anschließend - einen Account für <username>jru</username> eingerichtet - und sichergestellt, dass <username>jru</username> in der - Gruppe <username>wheel</username> ist, so dass Sie mit - &man.su.1; zu <username>root</username> wechseln - kann.</para> - - <note> - <para>Wenn Sie das Passwort eingeben, werden weder Passwort noch - Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort nicht - zweimal falsch eingeben.</para> - </note> - - <note> - <para>Benutzen Sie ab jetzt &man.adduser.8; ohne Argumente, - dann müssen Sie nicht jedes mal die Vorgaben neu einstellen. - Wenn das Programm Sie fragt, ob Sie die Vorgaben ändern wollen, - verlassen und starten Sie es erneut mit der <option>-s</option> - Option.</para> - </note> - - <example> - <title>Benutzer unter &os; 5.X hinzufügen</title> - - <screen>&prompt.root; <userinput>adduser</userinput> -Username: <userinput>jru</userinput> -Full name: <userinput>J. Random User</userinput> -Uid (Leave empty for default): -Login group [jru]: -Login group is jru. Invite jru into other groups? []: <userinput>wheel</userinput> -Login class [default]: -Shell (sh csh tcsh zsh nologin) [sh]: <userinput>zsh</userinput> -Home directory [/home/jru]: -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): <userinput>yes</userinput> -adduser: INFO: Successfully added (jru) to the user database. -Add another user? (yes/no): <userinput>no</userinput> -Goodbye! -&prompt.root;</screen> - </example> - - - </sect2> - - <sect2 id="users-rmuser"> - <title><command>rmuser</command></title> - - <indexterm><primary><command>rmuser</command></primary></indexterm> - <indexterm> - <primary>Accounts</primary> - <secondary>löschen</secondary> - </indexterm> - - <para>Benutzen Sie &man.rmuser.8;, um einen Account - vollständig aus dem System zu entfernen. - &man.rmuser.8; führt die folgenden Schritte - durch:</para> - - <procedure> - <step> - <para>Entfernt den &man.crontab.1; Eintrag des Benutzers - (wenn dieser existiert).</para> - </step> - <step> - <para>Entfernt alle &man.at.1; jobs, die dem Benutzer gehören. - </para> - </step> - <step> - <para>Schließt alle Prozesse des Benutzers.</para> - </step> - <step> - <para>Entfernt den Benutzer aus der lokalen Passwort-Datei des - Systems.</para> - </step> - <step> - <para>Entfernt das Heimatverzeichnis des Benutzers (falls es dem - Benutzer gehört).</para> - </step> - <step> - <para>Entfernt eingegange E-Mails des Benutzers - aus <filename>/var/mail</filename>.</para> - </step> - <step> - <para>Entfernt alle Dateien des Benutzers aus temporären - Dateispeicherbereichen wie <filename>/tmp</filename>.</para> - </step> - <step> - <para>Entfernt den Loginnamen von allen Gruppen, zu denen er - gehört, aus <filename>/etc/group</filename>. - - <note> - <para>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. - </para> - </note> - </para> - </step> - </procedure> - - <para>Der Superuser-Account kann nicht mit &man.rmuser.8; entfernt - werden, da dies in den meisten Fällen das System unbrauchbar - macht.</para> - - <para>Als Vorgabe wird ein interaktiver Modus benutzt, der - sicherzustellen versucht, dass Sie wissen, was Sie tun.</para> - - <example> - <title>Interaktives Löschen von Account mit - <command>rmuser</command></title> - - <screen>&prompt.root; <userinput>rmuser jru</userinput> -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? <userinput>y</userinput> -Remove user's home directory (/home/jru)? <userinput>y</userinput> -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;</screen> - </example> - </sect2> - - <sect2 id="users-chpass"> - <title><command>chpass</command></title> - - <indexterm><primary><command>chpass</command></primary></indexterm> - <para>&man.chpass.1; ändert Informationen der - Benutzerdatenbank wie Passwörter, Shells und persönliche - Informationen.</para> - - <para>Nur Systemadministratoren, mit Superuser-Rechten, können die - Informationen und Passwörter der anderen Benutzer mit - &man.chpass.1; verändern.</para> - - <para>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.</para> - - <note> - <para>Unter &os; 5.X wird nach dem Verlassen des Editors - nach dem Passwort gefragt, es sei denn, man ist als Superuser - angemeldet.</para> - </note> - - <example> - <title>Interaktives <command>chpass</command> des Superusers</title> - - <screen>#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:</screen> - </example> - - <para>Der normale Benutzer kann nur einen kleinen Teil dieser - Informationen verändern und natürlich nur die Daten des - eigenen Accounts.</para> - - <example> - <title>Interaktives <command>chpass</command> eines normalen - Benutzers</title> - - <screen>#Changing user database information for jru. -Shell: /usr/local/bin/tcsh -Full Name: J. Random User -Office Location: -Office Phone: -Home Phone: -Other information:</screen> - </example> - - <note> - <para>&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 <literal>yp</literal> vor dem - Kommando einzugeben. NIS wird später - in <xref linkend="advanced-networking"> besprochen.</para> - </note> - </sect2> - <sect2 id="users-passwd"> - <title><application>passwd</application></title> - - <indexterm><primary><command>passwd</command></primary></indexterm> - <indexterm> - <primary>Accounts</primary> - <secondary>Passwort wechseln</secondary> - </indexterm> - <para>&man.passwd.1; ist der übliche Weg, Ihr - eigenes Passwort als Benutzer zu ändern oder das Passwort eines - anderen Benutzers als Superuser.</para> - - <note> - <para>Um unberechtigte Änderungen zu verhindern, - muss bei einem Passwortwechsel zuerst das ursprüngliche - Passwort eingegeben werden.</para> - </note> - - <example> - <title>Wechseln des Passworts</title> - - <screen>&prompt.user; <userinput>passwd</userinput> -Changing local password for jru. -Old password: -New password: -Retype new password: -passwd: updating the database... -passwd: done - -&prompt.root; <userinput>passwd jru</userinput> -Changing local password for jru. -New password: -Retype new password: -passwd: updating the database... -passwd: done</screen> - </example> - - <example> - <title>Als Superuser das Passwort eines anderen Accounts - verändern</title> - - <screen>&prompt.root; <userinput>passwd jru</userinput> -Changing local password for jru. -New password: -Retype new password: -passwd: updating the database... -passwd: done</screen> - </example> - - <note> - <para>Wie bei &man.chpass.1; ist &man.yppasswd.1; - nur ein Verweis auf &man.passwd.1;. NIS wird von - jedem dieser Kommandos unterstützt.</para> - </note> - </sect2> - - <sect2 id="users-pw"> - <title><command>pw</command></title> - <indexterm><primary><command>pw</command></primary></indexterm> - - <para>&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.</para> - </sect2> - </sect1> - - <sect1 id="users-limiting"> - <title>Benutzer einschränken</title> - - <indexterm><primary>Benutzer einschränken</primary></indexterm> - <indexterm> - <primary>Accounts</primary> - <secondary>einschränken</secondary> - </indexterm> - <para>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.</para> - - <indexterm><primary>Quotas</primary></indexterm> - <indexterm> - <primary>Benutzer einschränken</primary> - <secondary>Quotas</secondary> - </indexterm> - <indexterm><primary>Festplatten Quotas</primary></indexterm> - <para>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 <xref linkend="quotas"> diskutiert.</para> - - <indexterm> - <primary><filename>/etc/login.conf</filename></primary> - </indexterm> - <para>Die Login-Klassen werden in <filename>/etc/login.conf</filename> - 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 - <literal>default</literal>) und dass jede Login-Klasse mit einem Satz - von Login-Fähigkeiten verbunden ist. Eine Login-Fähigkeit - ist ein <literal><replaceable>Name</replaceable>=<replaceable>Wert - </replaceable></literal> Paar, in dem <replaceable>Name</replaceable> - die Fähigkeit bezeichnet und <replaceable>Wert</replaceable> - ein willkürlicher Text ist, der je nach <replaceable>Name - </replaceable> entsprechend verarbeitet wird. Login-Klassen und - -Fähigkeiten zu definieren ist fast schon selbsterklärend - und wird auch in &man.login.conf.5; beschrieben.</para> - - <para>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 <emphasis>keine</emphasis> - Login-Fähigkeiten).</para> - - <para>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):</para> - - <variablelist> - <varlistentry> - <term><literal>coredumpsize</literal></term> - - <listitem> - <indexterm><primary>coredumpsize</primary></indexterm> - <indexterm> - <primary>Benutzer einschränken</primary> - <secondary>coredumpsize</secondary> - </indexterm> - <para>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 <literal>filesize</literal> - 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 - <application>emacs</application>, abstürzen.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>cputime</literal></term> - - <listitem> - <indexterm><primary>cputime</primary></indexterm> - <indexterm> - <primary>Benutzer einschränken</primary> - <secondary>cputime</secondary> - </indexterm> - <para>Die maximale Rechenzeit, die ein Prozess eines Benutzers - verbrauchen darf. Überschreitet der Prozess diesen Wert, - wird er vom Kernel beendet. - <note> - <para>Die Rechen<emphasis>zeit</emphasis> 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.</para> - </note> - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>filesize</literal></term> - - <listitem> - <indexterm><primary>filesize</primary></indexterm> - <indexterm> - <primary>Benutzer einschränken</primary> - <secondary>filesize</secondary> - </indexterm> - <para>Hiermit lässt sich die maximale Größe einer Datei - bestimmen, die der Benutzer besitzen darf. Im Gegensatz zu - <link linkend="quotas">Festplattenkontingenten</link> ist diese - Beschränkung nur für jede einzelne Datei gültig - und nicht für den Platz, den alle Dateien eines Benutzers - verwenden.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>maxproc</literal></term> - - <listitem> - <indexterm><primary>maxproc</primary></indexterm> - <indexterm> - <primary>Benutzer einschränken</primary> - <secondary>maxproc</secondary> - </indexterm> - <para>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 - <varname>kern.maxproc</varname> 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 - <foreignphrase>Pipelines</foreignphrase> - <footnote> - <para><foreignphrase>Pipeline</foreignphrase> = - <emphasis>Leitung</emphasis>. - Mit <foreignphrase>Pipes</foreignphrase> sind Verbindungen - zwischen zwei Sockets in meistens zwei verschiedenen - Prozessen gemeint.</para> - </footnote> - 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).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>memorylocked</literal></term> - - <listitem> - <indexterm><primary>memorylocked</primary></indexterm> - <indexterm> - <primary>Benutzer einschränken</primary> - <secondary>memorylocked</secondary> - </indexterm> - <para>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. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>memoryuse</literal></term> - - <listitem> - <indexterm><primary>memoryuse</primary></indexterm> - <indexterm> - <primary>Benutzer einschränken</primary> - <secondary>memoryuse</secondary> - </indexterm> - <para>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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>openfiles</literal></term> - - <listitem> - <indexterm><primary>openfiles</primary></indexterm> - <indexterm> - <primary>Benutzer einschränken</primary> - <secondary>openfiles</secondary> - </indexterm> - <para>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 <foreignphrase>IPC</foreignphrase>-Kanäle - <footnote> - <para><foreignphrase>IPC</foreignphrase> steht für - <foreignphrase>Interprocess Communication</foreignphrase>. - </para> - </footnote> - darzustellen. Setzen Sie es deshalb nicht zu niedrig. Das - System-Limit ist im <varname>kern.maxfiles</varname> - &man.sysctl.8; definiert.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>sbsize</literal></term> - - <listitem> - <indexterm><primary>sbsize</primary></indexterm> - <indexterm> - <primary>Benutzer einschränken</primary> - <secondary>sbsize</secondary> - </indexterm> - <para>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.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>stacksize</literal></term> - - <listitem> - <para>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.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Beim Setzen von Ressourcenbeschränkungen sind noch andere - Dinge zu beachten. Nachfolgend ein paar generelle Tipps, Empfehlungen - und verschiedene Kommentare.</para> - - <itemizedlist> - <listitem> - <para>Von <filename>/etc/rc</filename> beim Hochfahren des Systems - gestartete Prozesse werden der <literal>daemon</literal> - Login-Klasse zugewiesen.</para> - </listitem> - - <listitem> - <para>Obwohl das mitgelieferte <filename>/etc/login.conf</filename> - 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.</para> - </listitem> - - <listitem> - <para>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.</para> - </listitem> - - <listitem> - <para>Bedenken Sie, dass viele Limits für einzelne Prozesse - gelten und nicht für den Benutzer selbst. Setzt man - zum Beispiel <varname>openfiles</varname> 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, <literal>openfiles</literal> - mal <literal>maxproc</literal>. Das gilt auch für den - Speicherverbrauch.</para> - </listitem> - </itemizedlist> - - <para>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;.</para> - </sect1> - - <sect1 id="users-personalizing"> - <title>Benutzer personalisieren</title> - - <para>Die Lokalisierung ist eine Umgebung, die vom Systemadministrator - oder Benutzer eingerichtet wird, um verschiedene Sprachen, - Zeichensätze, Datum- und Zeitstandards und so weiter - unterzubringen. Dies wird im Kapitel über die - <link linkend="l10n">Lokalisierung</link> - besprochen.</para> - </sect1> - - <sect1 id="users-groups"> - <title>Gruppen</title> - - <indexterm><primary>Gruppen</primary></indexterm> - <indexterm> - <primary><filename>/etc/groups</filename></primary> - </indexterm> - <indexterm> - <primary>Accounts</primary> - <secondary>Gruppen</secondary> - </indexterm> - <para>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.</para> - - <para>Die Zuordnung von Gruppennamen zur GID steht in - <filename>/etc/group</filename>, 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;.</para> - - <para>Wenn Sie <filename>/etc/group</filename> 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 <groupname>teamtwo</groupname>:</para> - - <example> - <title>Hinzufügen einer Gruppe mit <command>pw</command></title> - - <screen>&prompt.root; <userinput>pw groupadd teamtwo</userinput> -&prompt.root; <userinput>pw groupshow teamtwo</userinput> -teamtwo:*:1100:</screen> - </example> - - <para>Die Zahl <literal>1100</literal> ist die GID der Gruppe - <groupname>teamtwo</groupname>. Momentan hat - <groupname>teamtwo</groupname> noch keine Mitglieder und ist daher - ziemlich nutzlos. Um das zu ändern, nehmen wir nun - <username>jru</username> in <groupname>teamtwo</groupname> - auf.</para> - - <example> - <title>Ein Gruppenmitglied mit <command>pw</command> - hinzufügen</title> - - <screen>&prompt.root; <userinput>pw groupmod teamtwo -M jru</userinput> -&prompt.root; <userinput>pw groupshow teamtwo</userinput> -teamtwo:*:1100:jru</screen> - </example> - - <para>Als Argument von <option>-M</option> geben Sie eine Komma - separierte Liste von Mitgliedern an, die Sie in die Gruppe aufnehmen - möchten. 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 <option>groupshow</option> 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 <filename>/etc/group</filename> manipuliert, - es wird nicht versuchen, zusätzliche Informationen aus - <filename>/etc/passwd</filename> zu lesen.</para> - - <example> - <title>Mit <command>id</command> die Gruppenzugehörigkeit - bestimmen</title> - - <screen>&prompt.user; <userinput>id jru</userinput> -uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)</screen> - </example> - - <para>Wie Sie sehen, ist <username>jru</username> Mitglied von - <groupname>jru</groupname> und <groupname>teamtwo</groupname>.</para> - - <para>Weitere Informationen entnehmen Sie bitte &man.pw.8;.</para> - </sect1> -</chapter> - -<!-- - Local Variables: - mode: sgml - sgml-declaration: "../chapter.decl" - sgml-indent-data: t - sgml-omittag: nil - sgml-always-quote-attributes: t - sgml-parent-document: ("../book.sgml" "part" "chapter") - End: ---> |