建立新的 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所做的修改。

相關內容