ssh crear jaula para usuario sftp y ftp en ubuntu



primero configuramos ssh

https://cirelramos.blogspot.com/2015/09/instalacion-open-ssh-ubuntu-server.html

Instalamos vsftpd
Terminal:
sudo apt-get install vsftpd openssh-server

Agregamos al archivo 
Terminal:
sudo nano /etc/ssh/sshd_config

Lo siguiente: 
ClientAliveInterval 20
ClientAliveCountMax 5                 
UsePAM yes
Match Group jail
ForceCommand internal-sftp
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no



El contenido anterior especifica que todos los usuarios que pertenezcan al grupo de usuario jail solo pueden conectarse por sftp en su directorio home

Creamos el grupo de usuario jail
Terminal:
sudo groupadd jail


configuramos ftp para que tambien solo quede en el home del usuario para eso editamos el archivo
Terminal:
sudo nano /etc/vsftpd.conf

Borramos su contenido y agregamos las siguientes lineas:

#listen_port=2121 #puedes cambiar el puerto de conexion si es necesario
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=ftpd
allow_writeable_chroot=YES
chroot_local_user=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

Reiniciamos los servicios
Terminal:
sudo /etc/init.d/ssh restart
Terminal:
sudo systemctl restart vsftpd




Creamos el usuario
Terminal:
useradd -s /bin/rbash -d /home/bird/ bird
Creamos el home del usuario
Terminal:
sudo mkdir -p /home/bird/
Realizamos el cambio de propietarios
Terminal:
sudo chown bird:www-data /home/bird/
cambiamos los permisos
Terminal:
sudo chmod 770 /home/bird/

Asignamos una contraseña

Terminal:
sudo passwd bird
Agregamos al usuario bird el grupo jail
Terminal:
sudo adduser bird jail


Opcional:

Creamos una carpeta en bird 
Terminal:
sudo mkdir -p /home/bird/html/

realizamos un enlace de /home/bird/html  a /var/www/bird esto se realiza para poder tener como un "acceso directo desde el apache o nginx a nuestro directorio html en el home del usuario

Creamos el enlace simbolico
Terminal:
sudo ln -s /home/bird/html /var/www/bird
Realizamos el cambio de propietarios de nuevo
Terminal:
sudo chown bird:www-data -R /home/bird/
cambiamos los permisos de nuevo
Terminal:
sudo chmod 770 -R /home/bird/


con eso ya tenemos un usuario encapsulado para editar solo sus archivos



Conectarnos por sftp
Terminal:
sftp -oPort=22 bird@midominio.com





si queremos eliminar el usuario
Terminal:
sudo userdel -r bird












0 comentarios :