{"id":889,"date":"2015-01-04T12:00:45","date_gmt":"2015-01-04T10:00:45","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=889"},"modified":"2015-03-14T15:03:22","modified_gmt":"2015-03-14T13:03:22","slug":"der-unterschied-zwischen-einem-systembenutzer-und-einem-normalen-benutzer","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/der-unterschied-zwischen-einem-systembenutzer-und-einem-normalen-benutzer\/","title":{"rendered":"Der Unterschied zwischen einem Systembenutzer und einem normalen Benutzer"},"content":{"rendered":"<p>Mit den Kommandozeilenwerkzeugen <code>adduser<\/code> und <code>useradd<\/code> kann man neben normalen Usern auch sogenannte Systemuser anlegen.<\/p>\n<p>Viele fragen sich hierbei, was eigentlich der Unterschied zwischen diesen beiden Arten von Benutzerkonten ist. Da auch ich mir diese Frage schon ein paar Mal gestellt habe, m\u00f6chte ich sie mit diesem Artikel endg\u00fcltig beantworten.<\/p>\n<p>Ich beginne dabei mit ein paar kleinen Ausz\u00fcgen aus der Manpage. Anschlie\u00dfend werde ich f\u00fcr jeden Benutzertyp ein Konto anlegen, um beide direkt miteinander vergleichen zu k\u00f6nnen.<\/p>\n<p><strong>Die Theorie<\/strong><\/p>\n<p>In der Manpage von <code>adduser<\/code> finden sich folgende Eintr\u00e4ge:<\/p>\n<pre> Add a normal user\r\n       If  called  with  one  non-option  argument and without the --system or\r\n       --group options, adduser will add a normal user.\r\n\r\n       adduser will choose the first available UID from  the  range  specified\r\n       for  normal users in the configuration file.  The UID can be overridden\r\n       with the --uid option.\r\n[...]\r\n Add a system user\r\n       If called with one non-option argument and the --system option, adduser\r\n       will add a system user. If a user with the same name already exists  in\r\n       the  system uid range (or, if the uid is specified, if a user with that\r\n       uid already exists), adduser will exit with a warning. This warning can\r\n       be suppressed by adding \"--quiet\".\r\n\r\n       adduser  will  choose  the first available UID from the range specified\r\n       for system  users  in  the  configuration  file  (FIRST_SYSTEM_UID  and\r\n       LAST_SYSTEM_UID).  If  you want to have a specific UID, you can specify\r\n       it using the --uid option.\r\n<\/pre>\n<p>Auf den ersten Blick scheint der Unterschied in der Vergabe von UID und GID zu liegen. Welcher Bereich dabei f\u00fcr die jeweiligen Benutzer gilt, wird in einer Konfigurationsdatei festgelegt. Unter Ubuntu ist dies z.B. die Datei <em>\/etc\/adduser.conf<\/em>:<\/p>\n<pre># FIRST_SYSTEM_[GU]ID to LAST_SYSTEM_[GU]ID inclusive is the range for UIDs\r\n# for dynamically allocated administrative and system accounts\/groups.\r\n# Please note that system software, such as the users allocated by the base-passwd\r\n# package, may assume that UIDs less than 100 are unallocated.\r\nFIRST_SYSTEM_UID=100\r\nLAST_SYSTEM_UID=999\r\n\r\nFIRST_SYSTEM_GID=100\r\nLAST_SYSTEM_GID=999\r\n\r\n# FIRST_[GU]ID to LAST_[GU]ID inclusive is the range of UIDs of dynamically\r\n# allocated user accounts\/groups.\r\nFIRST_UID=1000\r\nLAST_UID=29999\r\n\r\nFIRST_GID=1000\r\nLAST_GID=29999\r\n<\/pre>\n<p>So liegen die UID und GID von Systembenutzern in diesem Fall zwischen 100 und 999 und die der normalen Benutzer zwischen 1000 und 29999.<\/p>\n<p>Des Weiteren wird laut Manpage f\u00fcr normale Benutzer eine Gruppe mit gleichem Namen wie das Benutzerkonto angelegt. System-Benutzer werden hingegen standardm\u00e4\u00dfig in die Gruppe <code>nogroup<\/code> einsortiert.<\/p>\n<p><strong>Die Praxis<\/strong><\/p>\n<p>Nach der Theorie kommt bekanntlich die Praxis. Diese beginnt mit der Erstellung eines normalen Test-Benutzers.<\/p>\n<pre>:~$ sudo adduser test\r\nAdding user `test' ...\r\nAdding new group `test' (1004) ...\r\nAdding new user `test' (1003) with group `test' ...\r\nCreating home directory `\/home\/test' ...\r\nCopying files from `\/etc\/skel' ...\r\nEnter new UNIX password:\r\nRetype new UNIX password:\r\npasswd: password updated successfully\r\nChanging the user information for test\r\nEnter the new value, or press ENTER for the default\r\n        Full Name []: Vorname Nachname\r\n        Room Number []:\r\n        Work Phone []:\r\n        Home Phone []:\r\n        Other []:\r\nIs the information correct? [Y\/n] Y\r\n:~$\r\n<\/pre>\n<p>Der neue Benutzer <code>test<\/code> wird automatisch einer Gruppe mit dem gleichen Namen zugewiesen. Der User bekommt dabei die UID 1003, w\u00e4hrend die Gruppe die GID 1004 erh\u00e4lt. Es wird ein Home-Verzeichnis erstellt und die Standardkonfigurationsdateien werden aus dem Verzeichnis <em>\/etc\/skel<\/em> in das Home-Verzeichnis kopiert. Anschlie\u00dfend werden noch ein paar allgemeine Informationen zum Benutzer abgefragt, bevor dieser endg\u00fcltig erstellt wird.<\/p>\n<p>Wird ein System-Benutzer angelegt, sieht das ganze wie folgt aus:<\/p>\n<pre>:~$ sudo adduser --system test2\r\nAdding system user `test2' (UID 114) ...\r\nAdding new user `test2' (UID 114) with group `nogroup' ...\r\nCreating home directory `\/home\/test2' ...\r\n:~$\r\n<\/pre>\n<p>Oh Wunder, die Manpage hat recht behalten. Der Benutzer <code>test2<\/code> wird mit der UID 114 angelegt und der Gruppe <code>nogroup<\/code> zugewiesen. Anschlie\u00dfend wird noch das Home-Verzeichnis erstellt und schon ist Schluss. Ach ja, es wurde gar kein Passwort vergeben. Warum eigentlich nicht?<\/p>\n<p>System-Benutzer werden meist von Programmen und Diensten f\u00fcr ihre Ausf\u00fchrung ben\u00f6tigt. Da es sich dabei um keine echten Benutzer handelt, wird auf die Abfrage des vollst\u00e4ndigen Namen etc. verzichtet. Auf ein Passwort wird ebenfalls verzichtet. Denn es w\u00e4re sehr unpraktisch, dieses jedes Mal eingeben zu m\u00fcssen, wenn ein Dienst auf eine Datei zugreifen m\u00f6chte. Und bevor man das Passwort im Klartext in einer Textdatei speichert, vergibt man besser erst gar keins. ;-) Doch ob dies die einzigen Unterschiede sind, wird sich gleich noch zeigen.<\/p>\n<p>Mit der Anlage eines Benutzers werden Eintr\u00e4ge in <em>\/etc\/passwd<\/em> und <em>\/etc\/groups<\/em> hinzugef\u00fcgt. Die beiden soeben erstellten Test-Benutzer haben dort folgende Eintr\u00e4ge:<\/p>\n<pre>:~$ cat \/etc\/passwd | grep test\r\ntest:x:1003:1004:Vorname Nachname,,,:\/home\/test:\/bin\/bash\r\ntest2:x:114:65534::\/home\/test2:\/bin\/false\r\n\r\n:~$ cat \/etc\/group | grep test\r\ntest:x:1004:\r\n:~$\r\n<\/pre>\n<p>Der Blick in die Datei <em>\/etc\/passwd<\/em> offenbart, dass der normale Benutzer test \u00fcber eine Login-Shell (\/bin\/bash) verf\u00fcgt. Dieser Benutzer ist also in der Lage, sich interaktiv an einem Terminal oder einer SSH-Sitzung anzumelden. Dem System-Benutzer hingegen wurde keine Login-Shell zugewiesen (\/bin\/false). Dieser ist daher im Gegensatz zum normalen Benutzer nicht in der Lage, sich an einem Terminal oder \u00fcber SSH am System anzumelden.<\/p>\n<p>Ein Blick in die Gruppe <em>\/etc\/group<\/em> offenbart, dass die Gruppe <code>test<\/code> mit der GID 1004 erstellt wurde, w\u00e4hrend es f\u00fcr <code>test2<\/code> keine Gruppe gibt.<\/p>\n<p><strong>Fazit<\/strong><\/p>\n<p>Normale Benutzerkonten werden in der Regel f\u00fcr echte Benutzer eines Systems erstellt. Mit Ihnen kann man sich am System anmelden und in einer Shell oder grafischen Oberfl\u00e4che arbeiten.<\/p>\n<p>System-Benutzer hingegen werden in der Regel f\u00fcr Programme und Dienste angelegt, welche sich nicht interaktiv am System anmelden m\u00fcssen. Daher besitzen sie weder eine Login-Shell noch ein Passwort.<\/p>\n<p>Sonst unterscheiden sich die beiden Benutzertypen nur darin, aus welchem Bereich ihre UIDs und GIDs stammen. An diesen kann man auch recht einfach erkennen, ob es sich bei einem Benutzer um einen normalen oder System-Benutzer handelt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit den Kommandozeilenwerkzeugen adduser und useradd kann man neben normalen Usern auch sogenannte Systemuser anlegen. Viele fragen sich hierbei, was eigentlich der Unterschied zwischen diesen beiden Arten von Benutzerkonten ist. Da auch ich mir diese Frage schon ein paar Mal gestellt habe, m\u00f6chte ich sie mit diesem Artikel endg\u00fcltig beantworten. Ich beginne dabei mit ein<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/der-unterschied-zwischen-einem-systembenutzer-und-einem-normalen-benutzer\/\">[Weiterlesen&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_metis_text_type":"","_metis_text_length":0,"_post_count":0,"footnotes":""},"categories":[51],"tags":[281,283,285,287,58,286,305,60,284,282],"class_list":["post-889","post","type-post","status-publish","format-standard","hentry","category-linux","tag-adduser","tag-benutzerverwaltung","tag-gid","tag-group","tag-linux","tag-passwd","tag-planet","tag-ubuntu","tag-uid","tag-useradd"],"_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/889","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/comments?post=889"}],"version-history":[{"count":3,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/889\/revisions"}],"predecessor-version":[{"id":922,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/889\/revisions\/922"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=889"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=889"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}