Cree un nuevo usuario SSH y concédale permiso para acceder a un directorio existente

Cree un nuevo usuario SSH y concédale permiso para acceder a un directorio existente

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/nologinhará que su usuario no pueda iniciar sesión a través de SSH.

Además, agregar el usuario al nginxgrupo 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 bindfsy 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 cpdun usuario que solo tiene acceso a /home/wwwbind. Cualquier modificación se reflejará /home/wwwcomo si www-datala hubiera realizado el usuario.

información relacionada