Resolví mi problema de esta manera:
Crear un nuevo grupo
$ sudo addgroup exchangefiles
Crear el directorio chroot
$ sudo mkdir /var/www/GroupFolder/
$ sudo chmod g+rx /var/www/GroupFolder/
Cree el directorio de escritura grupal
$ sudo mkdir -p /var/www/GroupFolder/files/
$ sudo chmod g+rwx /var/www/GroupFolder/files/
Déselos ambos al nuevo grupo
$ sudo chgrp -R exchangefiles /var/www/GroupFolder/
después de eso fui a /etc/ssh/sshd_config
y añadido al final del archivo:
Match Group exchangefiles
# Force the connection to use SFTP and chroot to the required directory.
ForceCommand internal-sftp
ChrootDirectory /var/www/GroupFolder/
# Disable tunneling, authentication agent, TCP and X11 forwarding.
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Ahora voy a agregar un nuevo usuario con el nombre de obama a mi grupo:
$ sudo adduser --ingroup exchangefiles obama
Ahora todo está hecho, por lo que debemos reiniciar el servicio ssh:
$ sudo service ssh restart
aviso:el usuario ahora no puede hacer nada file
directorio Quiero decir que todo su archivo debe estar en la carpeta de archivos.
Las restricciones son un tema sensible y deben definirse de manera coherente. Lo que puede hacer es definir un shell restringido para el usuario como su shell predeterminado .
Por ejemplo, establecer /bin/rksh
(un kornshell restringido) en lugar del shell predefinido del usuario como shell predeterminado para ese usuario en /etc/profile
.
ln /bin/ksh /bin/rksh
y ksh
determinará por su nombre si está restringida o no.
El shell restringido evitará (por ejemplo) hacer un cd
comando, o especificando un comando con un /
(una ruta explícita) en la invocación, y no permite cambiar el PATH
, SHELL
o ENV
variable, y las redirecciones de salida también están prohibidas.
Tu puedes todavía proporciona predefinido scripts de shell al usuario que (¡bajo el control de los implementadores de scripts!) le permitirán ejecutar ese(s) script(s) específico(s) en un entorno sin restricciones.
El comando chroot
le permite crear una raíz restringida para un usuario, esta pregunta explica el concepto de chroot
y cómo usarlo.
Actualización:Búsqueda de chroot jail configurado en digital ocean , abre más documentación específica para su entorno. Aquí hay un par que creo que están relacionados con lo que podría necesitar.
Cómo configurar entornos Chroot para realizar pruebas en un VPS con Ubuntu 12.04
Cómo permitir el acceso SSH restringido al usuario chroot encarcelado
Aquí hay uno que se relaciona con jailkit, que sugirió FloHimself.