Centos Benutzerkonto ist nicht registriert, kann aber berücksichtigt werden

12

Ich bin neu in CentOS (mit CentOS 6). Ich habe bereits Erfahrungen mit OpenSuse.

Ich versuche, ein Konto für einen Benutzer einzurichten. Ich möchte nicht, dass das Konto für die Anmeldung über ssh oder den Anmeldebildschirm verfügbar ist. Ich möchte mich dennoch mit dem Befehl su beim Benutzer anmelden können. Dadurch kann ich bestimmte Anwendungen als Benutzer mit eingeschränktem Zugriff ausführen. Der Benutzer ist kein Superuser und kann daher keine Anwendungen anderer Benutzer beeinflussen.

Jede Hilfe wäre sehr dankbar. Ich möchte dies im Allgemeinen verwenden, um Glassfish-Server usw. auszuführen.

wie kein anderer
quelle
Wie haben Sie das mit OpenSuSE gelöst?
Nils

Antworten:

15

Auf Centos würden Sie mit / sbin / nologin einen Benutzer ohne Shell einrichten:

[root@localhost ~]# grep named /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin
[root@localhost ~]# 

Wenn Sie das werden müssen, verwenden Sie den Parameter -s und geben Sie als Argument die Shell Ihrer Wahl an, wie folgt:

[root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ 

Beachten Sie, dass bei Verwendung von bash zuerst die Einstellungen aus / etc / profile gelesen werden und standardmäßig diese Einstellungen verwendet werden, wenn im Basisverzeichnis des Benutzers keine .bash_profile, .bash_login oder.profile vorhanden sind. Wenn Sie Ihre vorhandenen Umgebungseinstellungen in root verwenden möchten, können Sie natürlich einfach den Bindestrich entfernen:

Ausfahrt [

root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
-bash-4.1$ exit
logout
[root@localhost ~]# su named -s /bin/bash
bash-4.1$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
bash-4.1$ 
Rilindo
quelle
0

Eine gebräuchliche Methode besteht darin, die Shell des Benutzers auf festzulegen /bin/false

Unglaube
quelle
Ich habe versucht, es auf / bin / false zu setzen, aber es scheint, dass CentOS 6 diese Option nicht hat. Es gibt eine bin / nologin-Option, aber dies erlaubt mir nicht, mich in das Benutzerkonto einzuloggen.
trysu -m username
unbeli
Wenn ich den Benutzer auf / sbin / nologin setze und versuche, mit der Option -m zu su, wird mir mitgeteilt, dass das Konto derzeit nicht verfügbar ist. Ich habe auch versucht, das / bin / false zur Shells-Datei hinzuzufügen. Wenn ich das tue, wechselt der Befehl su einfach nicht zum Benutzer.
ok, füge NICHT / bin / false zur Shells-Datei hinzu. Setzen Sie die Shell des Benutzers auf / bin / false. Verwenden Sie su -m.
Unglaublich
Ich habe es aus der Datei / etc / shells entfernt und die Shell des Benutzers mit dem Befehl usermod auf / bin / false gesetzt. Wenn ich jetzt versuche, den Benutzernamen su -m zu verwenden, wird mir mitgeteilt, dass ich keine Berechtigungen für .bashrc habe. Ich bin als root angemeldet. Wenn ich jetzt mache: su - username, gibt es mir keinen Fehler, aber ich werde trotzdem als root gesehen. Ist das normal in Centos?
0

Normalerweise setze ich ein "x" in das verschlüsselte Passwortfeld solcher "technischer" Benutzer. Der Benutzer hat also kein mögliches Passwort. Wenn sich jetzt auch ein öffentlicher Schlüssel in den authorized_keys dieses Benutzers befindet, sollte dieses Konto ziemlich sicher sein.

Nils
quelle