私は新しいユーザーを作成しようとしていますスウェーデンそして、既存のディレクトリとその下位 (/usr/share/nginx/itsupply) にのみ SFTP 経由で接続する権限を付与します。現在、ディレクトリはグループ 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