GNU/Linux >> Tutoriales Linux >  >> Linux

[Linux]:SSH no puede cambiar a un usuario específico con un error "su:no se puede establecer la identificación del usuario:el recurso no está disponible temporalmente"

Uno de mis colegas se presentó con el problema de que no podía iniciar sesión en una cuenta de usuario en particular en una máquina con Linux. Sin embargo, pude iniciar sesión en otra cuenta en la misma máquina, pero no en la que mi colega realmente quiere. Incluso traté de cambiar (su -) de mi cuenta de usuario en la misma máquina a su cuenta, pero solo veo un mensaje de error como "su:no se puede establecer la identificación del usuario:el recurso no está disponible temporalmente “. Bueno, ese mensaje de error nos dio una pista de que el problema podría estar relacionado con una cuenta en sí y no con la máquina.

A continuación se muestra la instantánea del mensaje de error:

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

La causa puede deberse al "límite de ejecución del proceso" del usuario excedido. Para verificar esto, ejecuté el siguiente comando.

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

Donde “-L La opción ” mostrará todos los procesos para la cuenta de usuario 'swift'.

Descubra el proceso de usuario máximo permitido usando el siguiente comando:

$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

En el caso anterior, 1026 es mayor que el máximo permitido de 1024. La solución es aumentar el número máximo de procesos permitidos para una cuenta de usuario.

Solución:

1. El límite del proceso se puede aumentar editando:/etc/security/limits.conf (necesita privilegios de root para hacer eso)

swift hard nproc 4096

No es necesario reiniciar ningún servicio.

2. Si no tiene el privilegio de raíz, el usuario puede aumentar el límite usando el siguiente comando.

$ulimit -u 4096

3. detener cualquier proceso no deseado

¡Eso es todo! Mi colega salió del lugar con una gran sonrisa en su rostro.


Linux
  1. Ssh:¿restringir un usuario de Ssh/scp/sftp a un directorio?

  2. Cómo corregir su USUARIO falla con su:no se puede crear un proceso secundario:recurso temporalmente no disponible ¿Error en CloudLinux?

  3. Cómo configurar claves SSH en Debian

  4. “Restablecimiento de la conexión por pares”:error mientras se conecta ssh a un sistema CentOS/RHEL solo con un usuario específico

  5. creando enlace simbólico:error de protocolo

Cómo configurar o cambiar el agente de usuario con curl

Deshabilitar la autenticación de contraseña SSH para un usuario o grupo específico

Cómo deshabilitar el inicio de sesión SSH para un usuario específico en Linux

Controle el uso de recursos del sistema con el comando Ulimit

Reparación de error de tubería rota con conexión SSH

¿Cómo reenviar ssh con AllowTcpForwarding establecido en no?