diff --git a/de_DE.ISO8859-1/books/handbook/users/chapter.sgml b/de_DE.ISO8859-1/books/handbook/users/chapter.sgml index 24410f1083..b7a1742f01 100644 --- a/de_DE.ISO8859-1/books/handbook/users/chapter.sgml +++ b/de_DE.ISO8859-1/books/handbook/users/chapter.sgml @@ -1,445 +1,688 @@ Benutzer und grundlegende Account-Verwaltung Übersicht Beigesteuert von &a.nbm; im Februar 2000. Übersetzt von &a.de.robert; im Juli 2000. 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. 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. Abschliessend werden Benutzer-Accounts von echten Menschen genutzt, die sich einloggen, Mails lesen und so weiter. Der Superuser-Account Der Superuser-Account, normalerweise root genannt, ist vorkonfiguriert und erleichtert die Systemverwaltung, sollte aber nicht für alltägliche Aufgaben wie 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 fähig das System versehentlich zu zerstören, deswegen ist es generell am besten normale Benutzer-Accounts zu verwenden, solange man nicht hauptsächlich die extra Privililegien benötigt. Zusätzlich sollten Sie Kommandos, die Sie als Superuser eingeben, immer doppelt und dreifach überprüfen, da ein zusätzliches Leerzeichen oder ein fehlender Buchstabe irreparablen Datenverlust bedeuten kann. Diese zusätzlichen Privilegien, die Sie benötigten, als Sie zu dem Superuser-Account gewechselt haben, bedeuten, dass die Absicherung Ihres normalen Benutzer-Accounts nicht mehr gültig ist. 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 Mehrbenutzer-System 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 Systembenutzer starten Dienste wie DNS, mail, 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. Beispiele von Systembenutzern sind daemon, operator, bind (für den Domain Name Service) und news. Oft erstellen Systemadministratoren den Benutzer httpd, um Web-Server laufen zu lassen, die sie installieren. nobody ist der generische unprivilegierte Systembenutzer, aber je mehr Dienste nobody benutzen, um so privilegierter wird er. Benutzer-Accounts Benutzer-Account sind das primäre Mittel des Zugriffs für echte 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 seine eigene Umgebung einstellen, um sie der Benutzung auf dem System anzupassen: Alternative Shells, Editoren, Tastaturbelegungen und Sprache. Accounts verändern pw ist ein mächtiges und flexibles - Mittel für zum Ändern von Accounts, aber adduser + Mittel zum Ändern von Accounts, aber adduser wird empfohlen zum Erstellen und rmuser zum Löschen von Accounts. chpass erlaubt dem Systemadministrator und normalen Benutzern Passwörter, Shells und personelle Informationen einzustellen. Jedoch ist passwd das gewöhnlichere Mittel, um Passwörter im speziellen zu ändern. adduser adduser 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. Um die anfängliche Konfigurationsdatei zu erstellen, benutzen Sie: adduser -s -config_create. Das bringt adduser dazu, weniger Fragen und Fehlermeldungen auszugeben. Wir benutzen später, wenn wir die Voreinstellungen ändern wollen. Zunächst konfigurieren wir addusers Voreinstellungen und erstellen unseren ersten Benutzer-Account, da es böse und unangenehm ist, root für normale Aufgaben zu verwenden. Die Konfiguration für adduser ändern &prompt.root; adduser -v 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 [sh]: tcsh Your default shell is: tcsh -> /usr/local/bin/tcsh 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]: no Do not send message Use passwords (y/n) [y]: y Write your changes to /etc/adduser.conf? (y/n) [n]: y 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_-]: jru Enter full name []: J. Random User Enter shell csh date no sh tcsh [tcsh]: 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]: wheel Enter password []: Enter password again []: Name: jru Password: **** Fullname: J. Random User Uid: 1007 Gid: 1007 (jru) Class: Groups: jru wheel HOME: /home/jru Shell: /usr/local/bin/tcsh OK? (y/n) [y]: y Added user ``jru'' Copy files from /usr/share/skel to /home/jru Add another user? (y/n) [y]: n Goodbye! &prompt.root; Zusammengefasst haben wir die vorgegebene Shell in tcsh (eine zusätzliche Shell aus den Packages) geändert und das Senden einer ,,Willkommen``-Nachricht an neue Benutzer abgeschaltet. Danach haben wir die Konfiguration abgespeichert und anschliessend einen Account für jru eingerichtet und sichergestellt, dass jru in der Gruppe wheel ist (was später wichtig ist, wie wir sehen werden). Wenn Sie das Passwort eingeben, werden weder Passwort noch Sternchen angezeigt. Passen Sie auf, dass Sie das Passwort nicht zweimal falsch eingeben. :-) Benutzen Sie ab jetzt adduser 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. rmuser rmuser entfernt Benutzer aus dem System, inklusive der Spuren ausserhalb der Benutzer-Datenbank. rmuser führt die folgenden Schritte durch: Enfernt den &man.crontab.1; Eintrag des Benutzers (wenn dieser existiert). Entfernt alle &man.at.1; jobs, die dem Benutzer gehören. Schliesst alle Prozesse des Benutzers. Entfernt den Benutzer aus der lokalen Passwort-Datei des Systems. Entfernt das home Verzeichnis des Benutzers (falls es dem Benutzer gehört). Entfernt die eingegangen mails, die dem Benutzer gehören, aus /var/mail. Entfernt alle Dateien des Benutzers aus temporären Dateispeicherbereichen wie /tmp. Entfernt den Benutzernamen von allen Gruppen, zu denen er gehört, aus /etc/group. Wenn eine Gruppe leer wird und der Gruppenname mit dem Benutzernamen 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. rmuser kann nicht dafür benutzt werden Superuser-Accounts zu entfernen, da dies nahezu immer ein Zeichen für eine massive Verwüstung ist. Als Vorgabe wird ein interaktiver Modus benutzt, der sicherzustellen versucht, dass Sie wissen, was Sie tun. interaktives Account-Entfernen mit rmuser &prompt.root; rmuser jru Matching password entry: jru:*:1000:1000::0:0:J. Random User:/home/jru:/usr/local/bin/tcsh 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; pw pw ist ein Kommandozeilenprogramm, mit dem man Benutzer und Gruppen erstellen, entfernen und anzeigen kann, und fungiert als Editor der Benutzer- und Gruppendateien des Systems. Es wurde entworfen um nützlich als direkt ausgeführter Befehl und für die Benutzung in Shell-Scripts zu sein. Informationen darüber gibt es in &man.pw.8;. chpass chpass ändert Informationen der Benutzerdatenbank wie Passwörter, Shells und personelle Informationen. Nur Systemadministratoren, als Superuser, können die Informationen und Passwörter der anderen Benutzer mit chpass verändern. Werden keine Optionen neben dem optionalen Benutzernamen angegeben, zeigt chpass einen Editor mit Benutzerinformationen an und wenn dieser Editor beendet wird, versucht es die Informationen in der Benutzerdatenbank zu verändern. Interaktives chpass des Superusers #Changing user database information for jru. Login: jru Password: * Uid [#]: 1000 Gid [# or name]: 1000 Change [month day year]: Expire [month day year]: Class: Home directory: /home/jru Shell: /usr/local/bin/tcsh 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 für sich selbst. Interaktives chpass 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: chfn und chsh sind nur Verweise auf chpass, genauso wie ypchpass, ypchfn und ypchsh. NIS wird automatisch unterstützt, deswegen ist es nicht notwendig das yp vor dem Kommando einzugeben. passwd passwd ist der übliche Weg Ihr eigenes Passwort als Benutzer zu ändern oder das Passwort eines anderen Benutzers als Superuser. Benutzer müssen ihr ursprüngliches Passwort eingeben, bevor sie es wechseln, um eine unauthorisierte Person davon abzuhalten ihr Passwort zu ändern, wenn der Benutzer gerade nicht an seinem Gerät ist. passwd &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 yppasswd ist nur ein Verweis zu passwd. NIS wird automatisch unterstützt, also ist es nicht notwendig, yp vor dem Kommando einzugeben. - - Benutzer einschränken und personalisieren + + Benutzer einschränken - Kontigente erlauben dem Systemadministrator - Benutzungsbeschränkungen der Festplatte festzusetzen und Benutzern - ihre Festplattenbenutzung zu überprüfen, wenn Kontigente - auf dem System verwendet werden. Kontigente werden in ihrem + Wenn Sie ein System mit mehreren Benutzern laufen lassen, ist es + wahrscheinlich, dass Sie nicht allen Benutzern vertrauen das System + nicht zu beschädigen. FreeBSD bietet dem Systemadministrator + mehrere Möglichkeiten die System-Ressourcen einzuschränken, + die ein einzelner Benutzer verwenden kann. Diese Limitierungen sind + in zwei Kategorien eingeteilt: Festplattenkontingente und andere + Ressourcenbeschränkungen. Kontingente werden in - eigenen Kapitel - besprochen. + einem noch nicht übersetzen Kapitel diskutiert. + + Festplatten-Kontingente sind ein Weg für den + Systemadministrator dem Dateisystem mitzuteilen, wieviel Speicher + ein Benutzer verwenden darf. Mit ihrer Hilfe kann man auch die + Größe des von einem Benutzer verwendeten Platzes + überprüfen, ohne jedes mal neu berechnen zu müssen. + + + 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 der &man.login.conf.5; manpage + nachgelesen werden. Es ist ausreichend zu sagen, dass jeder + Benutzer einer Login-Klasse zugewiesen wird (standardmässig + 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. + + 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 maximalem 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 die Implementation der + Login-Fähigkeiten entstehen (das heisst, sie sind kein + wirklich spezieller Fall der + 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 + + + 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 grosses Programm (wie Emacs) + abstürzen. + + + + + 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 + + + Hiermit lässt sich die maximale grösse 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 + + + 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 + grossen Programms, starten mehrere Prozesse (zum Beispiel + &man.make.1;, &man.cc.1; und andere). + + + + + 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 + + + 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 + + + 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 sysctl + definiert. + + + + + 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. + + + + Für weitere Informationen über + Ressourcenbeschränkungen, Login-Klassen und -Fähigkeiten + generell, sehen Sie sich die entsprechenden Manual Pages an: + &man.cap.mkdb.1;, &man.getrlimit.2; und &man.login.conf.5;. + + + + Benutzer personalisieren - 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 + 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 Lokalisierung besprochen.