Quiero crear usuarios para sftp con acceso limitado a carpetas específicas
Mi estructura de carpetas se ve así:
/var/www/site1/files/
/var/www/site2/files/
/var/www/site3/files/
Quiero crear el usuario sftp1 para acceder /var/www/site1/files/
solo para cargar archivos del sitio web usando filezila y no puedo ver ninguna otra carpeta
y lo mismo para el usuario2 con acceso limitado a/var/www/site2/files/
y para el usuario3 con acceso limitado a/var/www/site3/files/
Respuesta1
Prácticamente has seguido la cosa.
La mejor manera es hacer esto:
Monte cada uno de los 3 directorios en
/home
directorios agregando las siguientes líneas en/etc/fstab
:/var/www/site1/files/ /home/site1/htdocs/ bind 0 0 /var/www/site2/files/ /home/site2/htdocs/ bind 0 0 /var/www/site3/files/ /home/site3/htdocs/ bind 0 0
Úselo
mount -a
para iniciar instantáneamente las monturas.Asegúrese de haber agregado los usuarios site1, site2, site3 al mismo grupo (por ejemplo, sftpusers o sftponly). Puede utilizar estos comandos para agregar usuarios a grupos:
usermod -aG sftponly site1 usermod -aG sftponly site2 usermod -aG sftponly site3
Cree los
/home/{site1,site2,site3}
directorios de inicio para los usuarios correspondientes usando:usermod -d /home/site1 site1 usermod -d /home/site2 site2 usermod -d /home/site3 site3
Añade lo siguiente en tu
/etc/ssh/sshd_config
:Match group sftponly ChrootDirectory %h X11Forwarding no AllowTcpForwarding no
Finalmente reinicie el servicio ssh usando:
service ssh restart
Veresta publicación en Digital Oceanpara detalles.
Respuesta2
Después de seguirla respuesta de krishna chalisees posible que deba ajustar la propiedad y los permisos.
Por ejemplo, para el usuario sitio1:
chown root:root /home/site1
chmod 755 /home/site1
cd /home/site1
chown site1:sftponly