创建新的 SSH 用户并授予他对现有目录的权限

创建新的 SSH 用户并授予他对现有目录的权限

我正在尝试创建名为斯韦恰斯并授予他通过 SFTP 连接到现有目录及更深层次目录 (/usr/share/nginx/itsupply) 的权限。当前目录由 nginx 组内的 nginx 拥有。我如何授予新用户访问此目录的权限(而不禁用 nginx 对此目录的访问)?我尝试将新创建的用户添加到 nginx 组,但当我尝试使用凭据连接时,系统仍提示我输入密码(我猜用户仍然没有访问其主目录的权限)。

使用

cat /etc/passwd | grep svecias

给出了这个结果:

svecias:x:1001:995::/usr/share/nginx/itsupply:/usr/sbin/nologin

因此该用户的主目录已设置为所需目录。

在我之前

usermod -a -G nginx svecias
usermod -g nginx svecias

结果是:

svecias:x:1001:1001::/usr/share/nginx/itsupply:/usr/sbin/nologin

答案1

根据这个答案 /usr/sbin/nologin将导致您的用户无法通过 SSH 登录。

此外,将用户添加到nginx组将使其能够访问该组有权访问的任何文件夹,而不仅仅是/usr/share/nginx/itsupply。此外,此用户创建的文件将归 svecias:nginx 所有。这可能没问题,但有时可能会造成麻烦。

在我的服务器中,我使用的解决方案是使用特定文件夹bindfs并映射用户。这是我的fstab

/home/www /home/wwwbind fuse.bindfs map=www-data/cpd:@www-data/@cpd,create-with-perms=0770 0 0

cpd这样,我使用仅具有 访问权限的用户登录/home/wwwbind。任何修改都将反映到 ,/home/www就像用户www-data所做的一样。

相关内容