各ユーザーがSFTP接続を介して特定のホームディレクトリにのみアクセスできることを願っています。
構造例:
admin1 access to: /var/www/vhosts/vhost1
(optional)editor1 access to: /var/www/vhosts/vhost1/public
admin2 access to: /var/www/vhosts/vhost2
(optional)editor2 access to: /var/www/vhosts/vhost2/public
etc...
...`
答え1
たぶんあなたは意味刑務所、フォルダを特定のユーザーに制限します。
復元しようとしています。構成例:
1)環境の準備
刑務所環境を準備するには、いくつかの措置を講じる必要があります。私たちはSSHによって課されたいくつかのセキュリティ制限を尊重する必要があります(必要に応じて無効にすることができますが、これは本当に悪い考えです!)。
- 刑務所フォルダはルートが所有する必要があります。
- 刑務所fodlerはグループ/他人によって作成できません。
.ssh/
フォルダにはモード700が必要です。authorized_keys
ファイルにはモード600が必要です。
echoes
ユーザー名があり、ホームディレクトリがあるユーザーがいて、/home/echoes/
それを自分のホームディレクトリに制限したいとします。あなたが言ったように、公開鍵認証メカニズムを持つSFTPアカウントを使用しているとしましょう。
mkdir /home/echoes/.ssh
# write echoes public-key into /home/echoes/.ssh/authorized_keys
chown root /home/echoes/
chmod 755 /home/echoes/
chown -R echoes:echoes /home/echoes/.ssh/
chmod 700 /home/echoes/.ssh/
chmod 600 /home/echoes/.ssh/authorized_keys
2)SSH構成
今私たちは必要ですマッチユーザーを自分のホームディレクトリに制限します。それでは、SSHサーバー構成ファイルを開いてみましょう。
vim /etc/ssh/sshd_config
internal-sftp
管理SFTP接続の有効化:
Subsystem sftp internal-sftp
次の行をコピーしてsshd_config
設定ファイルに貼り付けます。私たちが言うのは、一致するものがあればで定義したフォルダ(この場合は唯一のホームフォルダ)echoes
に移動するだけです。ChrootDirectory
Match user echoes
ChrootDirectory /home/echoes/
ForceCommand internal-sftp
三)サブフォルダ内の書き込みを許可する
ご覧のとおり、メインフォルダこれで、ユーザーはルートの所有者なので、echoes
一部のファイルはルートに書き込まれません。したがって、新しいサブフォルダ(たとえばechoes-write
)を作成し、ユーザーがここに書き込むことを許可できます。
mkdir /home/echoes/echoes-write/
chown echoes:echoes /home/echoes/echoes-write/
chmod ug+w /home/echoes/echoes-write/
4)書き込み可能な独自のフォルダに自動的に移動
自動的にユーザーの一致 - >刑務所に移動 - >自動的に自分の刑務所の書き込み可能なサブフォルダーに移動する必要がある場合は、お知らせください。構成手順を使用して
シナリオを復元します。
あなたがシステムに関する情報を書いていなかったので、私は多くの仮定をしました。