So verhindern Sie die Remote-Anmeldung, aktivieren Sie jedoch einen lokalen "su-Benutzernamen"

8117
lexu

Wir schreiben eine Anwendung (perl, mysql), die auf einem * nix (wahrscheinlich CENTOS) kopflos läuft.

Wie kann ich den lokalen Benutzer / das Passwort für das Konto "app" (wo die App ausgeführt wird) einrichten / sichern, so dass

  • Ein Remote-SSH-Login ist nicht möglich.
    SSH funktioniert auch, Logins für alle Konten, aber ich muss dieses einzelne Konto sichern
  • Eine su-App funktioniert für Benutzer mit vorhandenen Konten

Wie heißt ein solches Setup? Ich bin sicher nicht der erste, der dies versucht, es muss viele Male dokumentiert werden, aber ich finde nicht die relevanten Suchbegriffe für Google.


BEARBEITEN: Lösung

Ich habe die Zeilen hinzugefügt:

# prevent certain users from using ssh for login # while retaining the option to 'su username' DenyUsers app 

zu / etc / ssh / sshd_config

dann sshd mit

service sshd restart 

Ich kann mich jetzt als 'Benutzer' über ssh und 'su app' anmelden, um als App zu arbeiten.

0

2 Antworten auf die Frage

2
akira

Ordnen Sie alle Benutzer in eine Gruppe 'remote_users' ein und geben Sie in Ihrer sshd.conf an, dass sich nur Benutzer dieser Gruppen über ssh anmelden dürfen:

AllowGroups  This keyword can be followed by a list of group name patterns, separated by spaces. If specified, login is allowed only for users whose primary group or supplementary group list matches one of the patterns. Only group names are valid; a numerical group ID is not recognized. By default, login is allowed for all groups. The allow/deny directives are processed in the following order: DenyUsers, AllowUsers, DenyGroups, and finally AllowGroups. 
Durch Setzen der Login-Shell auf / bin / false wird verhindert, dass ein lokaler Benutzer 'su app' oder 'su - app' kann. lexu vor 14 Jahren 0
Nur eine Nebenfrage: Warum sollten Benutzer diese 'su app' trotzdem machen? akira vor 14 Jahren 0
Warum kann man nicht einfach die "App" -Gruppe / den Benutzer verbieten, sich über die sshd.conf einzuloggen? foraidt vor 14 Jahren 0
@akira: nicht alle Benutzer, nur einige. Sie müssen crontable bearbeiten, Konfigurationsdateien ändern, Jobs usw. ausführen, die von den Anmeldeinformationen des App-Benutzers abhängen. Wir möchten nicht, dass sie sich als "App" anmelden. Sie haben das Gefühl, dass das System sie erkennen kann. lexu vor 14 Jahren 0
@mxp und @akira: Ich werde die Möglichkeiten von sshd.cond, thx, untersuchen lexu vor 14 Jahren 0
Ich habe sshd_conf bearbeitet und eine DenyUser-App-Zeile (plus Dokumentation) hinzugefügt. Der Server wurde neu gestartet => funktioniert wie erhofft, danke! lexu vor 14 Jahren 0
Nun, ich gebe lieber einen expliziten Zugriff, als nur ein paar zu leugnen ... deshalb ziehe ich allowgroups vor. aber wenn es bei dir klappt .. dann klappt es :) akira vor 14 Jahren 0
0
innaM

Wenn Sie openssh-Schlüssel verwenden, um sich über ssh anzumelden, können Sie einfach die Kennwortanmeldung für alle Konten verbieten. suwäre noch möglich.

Dies wurde in Betracht gezogen, aber abgelehnt, da die Benutzer möglicherweise nicht immer die SSH-Schlüssel bei sich haben (meine Argumentation, dass ein Login auf dem Home-Server und dann das App-Ziel sshing, nicht durchdrungen wurde / als komplex eingestuft wurde). lexu vor 14 Jahren 0
OK. Technisch noch eine Möglichkeit. innaM vor 14 Jahren 0