新しいSSHユーザーを作成し、既存のディレクトリへの権限を付与する

新しいSSHユーザーを作成し、既存のディレクトリへの権限を付与する

私は新しいユーザーを作成しようとしていますスウェーデンそして、既存のディレクトリとその下位 (/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/wwwwww-data

関連情報