GNU/Linux >> Tutoriels Linux >  >> Linux

[Linux] :SSH ne peut pas basculer vers un utilisateur spécifique avec une erreur "su :impossible de définir l'ID utilisateur :ressource temporairement indisponible"

Un de mes collègues est venu avec un problème qu'il n'a pas pu se connecter à un compte d'utilisateur particulier sur une machine Linux. Cependant, j'ai pu me connecter à un autre compte sur la même machine, mais pas à celui que mon collègue souhaite réellement. Même moi, j'ai essayé de passer (su -) de mon compte d'utilisateur sur la même machine à son compte, mais je ne vois qu'un message d'erreur comme "su :impossible de définir l'ID utilisateur :ressource temporairement indisponible “. Eh bien, ce message d'erreur nous a laissé entendre que le problème pouvait provenir d'un compte lui-même et non de la machine.

Vous trouverez ci-dessous l'instantané du message d'erreur :

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

La cause peut être due à la "limite d'exécution du processus" de l'utilisateur dépassé. Pour vérifier cela, j'ai exécuté la commande ci-dessous.

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

Où "-L ” l'option affichera tous les processus pour le compte d'utilisateur 'swift'.

Découvrez le processus utilisateur max autorisé à l'aide de la commande ci-dessous :

$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

Dans le cas ci-dessus, 1026 est supérieur au maximum autorisé de 1024. La solution consiste à augmenter le nombre maximal de processus autorisés pour un compte utilisateur.

Solution :

1. La limite de processus peut être augmentée en modifiant :/etc/security/limits.conf (vous avez besoin du privilège root pour le faire)

swift hard nproc 4096

Pas besoin de redémarrer les services.

2. Si vous ne disposez pas des privilèges root, l'utilisateur peut augmenter la limite à l'aide de la commande ci-dessous.

$ulimit -u 4096

3. arrêter tous les processus indésirables

C'est ça! Mon collègue a quitté les lieux avec un grand sourire sur son visage.


Linux
  1. Comment réparer su USER échoue avec su :impossible de créer un processus enfant :Ressource temporairement indisponible Erreur dans CloudLinux ?

  2. Comment configurer des clés SSH sur Debian

  3. "Réinitialisation de la connexion par un pair" - erreur lors de l'accès à un système CentOS/RHEL avec un utilisateur spécifique uniquement

  4. Comment configurer un commutateur sudo vers un autre utilisateur qui n'a pas de mot de passe ou de clé ssh défini sous Linux

  5. création du lien symbolique :erreur de protocole

Comment définir ou modifier l'agent utilisateur avec curl

Désactiver l'authentification par mot de passe SSH pour un utilisateur ou un groupe spécifique

Comment désactiver la connexion SSH à un utilisateur spécifique sous Linux

Tuez tous les processus d'un utilisateur spécifique via SSH

Contrôler l'utilisation des ressources système avec la commande Ulimit

Correction d'une erreur de tuyau cassé avec une connexion SSH