GNU/Linux >> LINUX-Kenntnisse >  >> Linux

[Linux]:SSH kann nicht zu einem bestimmten Benutzer wechseln mit einem Fehler „su:Benutzer-ID kann nicht festgelegt werden:Ressource vorübergehend nicht verfügbar“

Einer meiner Kollegen hatte das Problem, dass er sich auf einem Linux-Rechner nicht bei einem bestimmten Benutzerkonto anmelden konnte. Allerdings konnte ich mich auf demselben Rechner bei einem anderen Konto anmelden, aber nicht bei dem, das mein Kollege eigentlich möchte. Sogar ich habe versucht, (su -) von meinem Benutzerkonto auf demselben Computer zu seinem Konto zu wechseln, sehe aber nur eine Fehlermeldung wie „su:Benutzer-ID kann nicht festgelegt werden:Ressource vorübergehend nicht verfügbar “. Nun, diese Fehlermeldung gab uns einen Hinweis darauf, dass das Problem möglicherweise bei einem Konto selbst und nicht bei der Maschine liegt.

Unten ist die Momentaufnahme der Fehlermeldung:

$su - swift
Password:
su: cannot set user id: Resource temporarily unavailable

Die Ursache könnte am „Prozesslauflimit“ des Benutzers liegen übertroffen. Um dies zu überprüfen, habe ich den folgenden Befehl ausgeführt.

$ ps -eLF|grep swift | wc -l
1026

Wobei „-L “ zeigt alle Prozesse für das Benutzerkonto „swift“ an.

Finden Sie den maximalen Benutzerprozess heraus mit dem folgenden Befehl erlaubt:

$ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) 1024
pending signals                 (-i) 514963
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Im obigen Fall ist 1026 größer als der maximal zulässige Wert von 1024. Die Lösung besteht darin, die maximal zulässige Anzahl von Prozessen für ein Nutzerkonto zu erhöhen.

Lösung:

1. Das Prozesslimit kann durch Bearbeiten erhöht werden:/etc/security/limits.conf (Dafür benötigen Sie Root-Rechte)

swift hard nproc 4096

Es müssen keine Dienste neu gestartet werden.

2. Wenn Sie nicht über die Root-Berechtigung verfügen, kann der Benutzer das Limit mit dem folgenden Befehl erhöhen.

$ulimit -u 4096

3. Stoppen Sie alle unerwünschten Prozesse

Das ist es! Mein Kollege verließ den Ort mit einem breiten Lächeln im Gesicht.


Linux
  1. So beheben Sie su USER Fails With su:untergeordneter Prozess kann nicht erstellt werden:Ressource vorübergehend nicht verfügbar Fehler in CloudLinux?

  2. SSH mit authorisierten_Schlüsseln zu einem Ubuntu-System mit verschlüsseltem Homedir?

  3. Wie man als anderer Benutzer ssh

  4. Fork:Retry:Ressource vorübergehend nicht verfügbar

  5. Wie kann ich die SSH-Weiterleitung mit AllowTcpForwarding auf no setzen?

So stellen oder ändern Sie den Benutzeragenten mit Curl

Deaktivieren Sie die SSH-Passwortauthentifizierung für bestimmte Benutzer oder Gruppen

So deaktivieren Sie die SSH-Anmeldung für einen bestimmten Benutzer in Linux

Steuern Sie die Systemressourcennutzung mit dem Ulimit-Befehl

Beheben des Fehlers „Broken Pipe“ mit SSH-Verbindung

Mounten Sie das Gerät mit bestimmten Benutzerrechten