¿Cómo permite que un usuario inicie sesión con " su -
usuario " pero evita que el usuario inicie sesión con SSH?
Traté de configurar el shell, /bin/false
pero cuando lo intento su
no funciona.
¿Hay varias formas de permitir solo inicios de sesión su
?
¿Es SSH AllowUser
el camino a seguir? (¿Cómo haría esto si es el camino a seguir?)
su - -s /bin/bash user
Si aún desea que su funcione, puede usar
sudo -u [username]
o pasar-s /bin/bash
a su como un shell temporal. Ambos hacen lo mismo en ausencia de un caparazón/etc/passwd
.fuente
Si una cuenta no tiene contraseña ( passwd -d nombre de usuario ), no pueden iniciar sesión de forma interactiva (consola, SSH, etc.). Si tienen un shell válido, su seguirá funcionando. Tenga en cuenta el "interactivamente", sin embargo; Si alguien decide configurar un par de claves SSH para la cuenta, ¡funcionará!
fuente
En sshd_config agregue una línea
DenyUser [username]
Tenga en cuenta que esto no impedirá que ese usuario inicie sesión a través de la consola.
fuente
DenyUsers
, con una 's'.Además de lo que se mencionó anteriormente (deshabilitar y / o no configurar la contraseña del usuario), se puede usar el módulo pam_access (buscar la página man en pam_access y access.conf) para controlar el acceso de inicio de sesión.
fuente
como otros han dicho;
DenyUser username
oDenyGroup groupname
ensshd_config
evitaría el inicio de sesión de par de claves / contraseña mediante sshaunque generalmente hago algo como
AllowGroup ssh
eso, y agrego explícitamente a las personas que necesitan acceso ssh a ese grupo.luego, puede hacer lo que otros han dicho:
passwd -d username
borrar la contraseña de los usuarios, para que no puedan iniciar sesión en la consola, o de alguna otra manera. o mejor aúnpasswd -l username
para 'bloquear' la cuenta. es posible que ssh denegue el acceso a una cuenta bloqueada, incluso con claves, pero no soy positivo.fuente
Como mencioné en un comentario, creo que aún puede ingresar a una cuenta con un shell no válido. Entonces, si configura el shell del usuario en / dev / null o lo que sea que sea el shell de bin, aún debería poder sumar a ese usuario ... pero cualquier intento de iniciar sesión de alguna manera lo cerrará de nuevo ...
fuente
edite / etc / shadow agregando! al comienzo del hash de contraseña.
Al asegurar una nueva instalación, esto es lo primero que hago después de instalar sudo, por lo que nadie puede usar el usuario root para iniciar sesión o ssh en el sistema, los usuarios de sudo aún pueden ejecutar como usuario root.
fuente
No especifique una contraseña para el usuario que no puede iniciar sesión o eliminarla.
fuente
Suponiendo que solo desea su usuario de la cuenta de root y deshabilitar todos los demás accesos:
Use esto (ejecutar como root):
Esto desactiva el inicio de sesión con contraseña (como han aconsejado muchas otras respuestas), pero también caduca la cuenta . No puede iniciar sesión en una cuenta caducada, por ejemplo, con claves SSH. Aún puede
su user
, aunque mostrará un aviso de que la cuenta ha caducado.fuente
Saber qué mecanismo es mejor depende de los requisitos. Si conoce los requisitos, puede elegir el mecanismo apropiado. Todas las respuestas anteriores son válidas para algún conjunto de requisitos.
¿Solo desea restringir el acceso SSH? ¿Necesita acceso para correo o métodos ssh? ¿El acceso es solo desde la raíz?
su - user
requerirá una contraseña para el usuario si se ejecuta sea un usuario que no sea root. Sin embargo,sudo -u user -i
no requiere una contraseña para el usuario.fuente