2009-12-02 00:47:25 +0000 2009-12-02 00:47:25 +0000
138
138

Wie kann ich einen nicht angemeldeten Benutzer anlegen?

Ich möchte auf einem RHEL 5-System einen Benutzer und eine Gruppe mit dem Namen subversion anlegen. Ich habe mir die Man Page für useradd angesehen und ich vermute, der Befehl wäre einfach nur…

useradd subversion

Ich bin mir jedoch nicht sicher, wie man die Erstellung eines Home-Verzeichnisses vermeiden kann. Außerdem möchte ich nicht, dass es ein Benutzer ist, der sich in das System einloggen kann.

Der Hauptzweck ist einfach, einen Eigentümer für ein SVN-Repository bereitzustellen.

Antworten (8)

229
229
229
2012-12-06 20:10:20 +0000

Sie können den folgenden Befehl verwenden:

useradd -r subversion

Weitere Informationen finden Sie unter manual pages mit diesem Befehl:

man useradd

In dieser Dokumentation finden Sie das folgende Flag, das für Ihre Zwecke verwendet werden kann.

Das Flag -r erzeugt einen Systembenutzer - einen, der kein Passwort und kein Home-Verzeichnis hat und sich nicht einloggen kann.

81
81
81
2009-12-02 00:58:07 +0000

Sie können den Schalter -M verwenden (stellen Sie sicher, dass er groß geschrieben ist), um sicherzustellen, dass kein Heimatverzeichnis erstellt wird:

useradd -M subversion

dann sperren Sie das Konto, um das Einloggen zu verhindern:

usermod -L subversion
22
22
22
2015-03-01 20:04:05 +0000

Eine andere Lösung, um einen Systembenutzer anzulegen, ist adduser :

adduser --system --no-create-home --group yourusername

Sie können --group entfernen, wenn Sie keine Gruppe mit IhremBenutzernamen benötigen, und --no-create-home, wenn Sie ein Zuhause für diesen Benutzer benötigen.

Wie von py4on in Kommentaren erwähnt, muss man auf einigen Systemen die Option --disabled-login verwenden, um, nun ja, die Anmeldung für diesen Benutzer zu deaktivieren. Es scheint jedoch das Standardverhalten unter Debian zu sein.

Beachten Sie, dass die numerische ID des Benutzers die eines Systemkontos sein wird. Sie können die uid jedoch mit der Option --uid korrigieren.

Beachten Sie schließlich, dass auf einigen Systemen (z.B. Fedora) adduser ein Symlink zu useradd ist, in welchem Fall diese Antwort nicht gültig ist.

17
17
17
2016-05-17 06:15:03 +0000

Die sauberste Antwort auf die ursprüngliche Frage ist die Ausführung des Befehls:

adduser subversion --shell=/bin/false

Und wenn Sie das Home-Verzeichnis entweder nicht wollen:

adduser subversion --shell=/bin/false --no-create-home

oder, wenn Sie einen noch mehr gesperrten Systembenutzer wollen (Normalerweise wird dadurch kein Home-Verzeichnis erstellt - es wurde berichtet, dass es immer noch ein Home-Verzeichnis in linux mint erstellen wird, wie im untenstehenden Kommentar beschrieben)

adduser subversion --system --group

Alle diese Befehle erstellen eine Gruppe mit dem gleichen Namen wie der Benutzer

13
13
13
2017-03-07 14:04:28 +0000

Die sicherste Form, dies zu tun, wäre die Verwendung von adduser wie folgt:

$ adduser -r -s /bin/nologin subversion

HINWEIS: Geben Sie unbedingt -s /sbin/nologin an, um zu verhindern, dass eine Anmeldeshell dem Konto zur Verfügung gestellt wird.

Bestätigung der Einrichtung

$ grep subversion /etc/passwd /etc/shadow
/etc/passwd:subversion:x:496:496::/home/subversion:/bin/nologin
/etc/shadow:subversion:!!:17232::::::

Es gibt jedoch kein Verzeichnis:

$ ll /home | grep subversion
$

Bestätigen Sie, dass das Konto anderweitig verwendbar ist:

$ sudo -u subversion whoami
subversion

$ sudo -u subversion date
Tue Mar 7 08:58:57 EST 2017

Entfernen

Wenn Sie dieses Konto entfernen müssen:

$ userdel subversion -r
userdel: subversion mail spool (/var/spool/mail/subversion) not found
userdel: subversion home directory (/home/subversion) not found
$

Und bestätigen Sie:

$ grep rtim-hc-user /etc/passwd /etc/shadow
$
1
1
1
2016-09-06 15:06:22 +0000

Auf einem CentOS 7-Rechner können Sie die folgenden Befehle verwenden:

  • wenn der Benutzer nicht existiert:

  • wenn Sie einen bestehenden Benutzer ändern möchten:

0
0
0
2019-09-02 00:38:41 +0000

In Debian könnten Sie einen Systembenutzer (ohne Home-Verzeichnis) und eine Login-Shell anlegen:

useradd --system --shell=/usr/sbin/nologin <username>

Wenn Ihr Programm nologin in /sbin/nologin ist, ändern Sie bitte entsprechend.

0
0
0
2019-06-08 18:45:03 +0000

Beginnen Sie damit, ein verschlüsseltes Kennwort für den Benutzer mit maximal 8 Zeichen zu generieren, indem Sie Folgendes tun:

openssl passwd -crypt new_password_less_than_eight_chars_long

Dann tun Sie:

useradd -m -g groupname -G otherGroupsSeperatedByComma -p encryptedPassword username