Restringir acceso a la shell de un usuario

Hola a todos, esta vez voy a explicar, como bloquear el acceso a la shell de un usuario concreto.

Esto puede ser útil para cualquier administrador de red, que tenga ordenadores en su control y quiera cerrar la cuenta de un usuario por su mal “comportamiento” dentro de la red.

1.Nos logeamos como root:

# su

o

# sudo -s

Editamos el archivo /etc/passwd, un ejemplo seria este:

#  zapa:x:1000:1000::/home/zapa:/bin/bash

Como podeis ver, en esta linea, estamos diciendole, que el usuario zapa con directorio /home/zapa tiene la shell en /bin/bash, pues vamos a editar estos datos para poder bloquear la cuenta de un usuario:

2. Modificacion de /etc/passwd:

# zapa:x:1000:1000::/home/zapa:/bin/block_login

Con esto, le decimos, que el usuario zapa, con directorio /home/zapa, su shell va a ser /bin/block_login.

3. Ya modificado el archivo /etc/passwd, vamos a proceder a crear el archivo block_login en el directorio /bin/ y darle permisos 755:

# #!/usr/bin/tail -n2
Esta cuenta de usuario ha sido bloqueada por  el administrador de la red.
Pongase en contacto con su administrador de red para retomarle el acceso.

Y bueno, si queremos desbloquear una cuenta bloqueda, solamente es cambiar la shell por /bin/bash.

Editamos el archivo /bin/bash, y quedaria asi:

#  zapa:x:1000:1000::/home/zapa:/bin/bash

Espero que les haya sido de utilidad.

Gracias a 6thpink por este manual.

Share

5 pensamientos en “Restringir acceso a la shell de un usuario

  1. Hola, quisiera molestrte con una duda, como puedo restringir a un usuario para que cuando se conecte por ssh a un Servidor X, que este usuario quede restringido solamente a su directorio home y no pueda entrar a otros directorios?

  2. Alguna Idea Respecto a lo que pregunto maccbian?…pero en mi caso es restringir el acceso al entorno grafico, solo permitir la entrada remota por consola pero que no se pueda desplazar a otros directorios…

    Saludos…

  3. Vaya, no sabía que en Monovar había un gupo de linux como tal, que cosas.
    Es que soy de Elda y me ha llamado la atención.
    He llegado a vosotros buscando como puedo restringir el acceso a un fichero para un usuario A, pero siendo un usuario B.
    He probado con umask pero parece que así a secas no funciona, he leido algo de modificar el fichero .bashrc_profile.
    Seguiremos mirando y ya si eso le preguntaré al profe que igual lo sabe, aunque lo dudo.
    Gracas.

  4. Hola elpoetaborracho.

    ¿Que tal?

    Lo que intentas es sencillo, solamente tienes que aplicar los permisos necesarios para ello, aplicar al fichero X permisos de solo lectura para el usuario X y no los demas.

    Aqui tienes un enlace que te ayudará bastante:

    http://www.smaldone.com.ar/documentos/misdocs/tutorial-gnu-linux/index-8.html

    A modo de ejemplo te comento que si el usuario “Usuario”, crea un fichero de texto llamado “prueba.txt” y aplicas esto a ese fichero de texto prueba.txt:

    chmod u+rwx prueba.txt

    Solamente el PROPIETARIO del fichero, podrá leer,ejecutar y escribir en ese fichero. Con esto limitas el acceso a todos los usuarios menos a “USUARIO” y a “ROOT”. Creo que con esto te servirá.

    Eso si..tienes que tener en cuenta que ROOT, podrá hacer TODO en TODO el sistema.

    De todas formas echale un ojo al enlace que te he pasado, ahi tienes explicaciones de algunos conceptos básicos sobre los permisos en GNU/Linux.

    Prueba y me comentas, ¿vale?

    Uns aludo.

  5. Pingback: Restringir acceso a la shell de un usuario en LINUX | RememberLINK

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image