Estoy intentando crear un nuevo usuario llamadosveciasy darle permiso para conectarse a través de SFTP solo al directorio existente y más profundo (/usr/share/nginx/itsupply). Actualmente, el directorio es propiedad de nginx en el grupo nginx. ¿Cómo puedo dar acceso a nuevos usuarios a este directorio (sin deshabilitar el acceso a este directorio para nginx)? Intenté agregar un usuario recién creado al grupo nginx, pero cuando intento conectarme con las credenciales, todavía me piden que ingrese la contraseña (supongo que el usuario todavía no tiene permiso para su directorio de inicio).
Usando
cat /etc/passwd | grep svecias
me da este resultado:
svecias:x:1001:995::/usr/share/nginx/itsupply:/usr/sbin/nologin
Entonces este usuario tiene su directorio de inicio configurado según sea necesario.
antes de que lo hiciera
usermod -a -G nginx svecias
usermod -g nginx svecias
resultado fue:
svecias:x:1001:1001::/usr/share/nginx/itsupply:/usr/sbin/nologin
Respuesta1
De acuerdo aesta respuesta /usr/sbin/nologin
hará que su usuario no pueda iniciar sesión a través de SSH.
Además, agregar el usuario al nginx
grupo le permitirá tener acceso a cualquier carpeta a la que tenga acceso este grupo, no solo /usr/share/nginx/itsupply
. Además, los archivos creados por este usuario serán propiedad de svecias:nginx. Esto probablemente estará bien, pero puede causar problemas en algún momento.
En mi servidor, la solución que utilicé fue montar la carpeta específica usando bindfs
y mapear a los usuarios. Esto está en mi fstab
:
/home/www /home/wwwbind fuse.bindfs map=www-data/cpd:@www-data/@cpd,create-with-perms=0770 0 0
De esta manera, inicio sesión con cpd
un usuario que solo tiene acceso a /home/wwwbind
. Cualquier modificación se reflejará /home/www
como si www-data
la hubiera realizado el usuario.