各ユーザーが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)環境の準備
刑務所環境を準備するためにいくつかの手順を実行する必要があります。 SSHによって課せられるいくつかのセキュリティ制限を尊重する必要があります(必要に応じて、それらを無効にすることができますが、それは本当に悪い考えです!)。
.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構成
次に、ユーザーをmatchして、独自のホームディレクトリに限定する必要があります。それでは、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
3)サブフォルダー内での書き込み操作を許可するご覧のとおり、ユーザーのホームフォルダーがルート所有になりました、したがって、echoes
はいくつかのファイルをそれに書き込むことができなくなります。そのため、ユーザーがその中に書き込むことができる新しいサブフォルダー(つまり、echoes-write
)を作成できます。
mkdir /home/echoes/echoes-write/
chown echoes:echoes /home/echoes/echoes-write/
chmod ug+w /home/echoes/echoes-write/
4)自動的に自分の書き込み可能なフォルダに移動します
自動的に行う必要がある場合:
ユーザーの一致->刑務所への移動->自分の刑務所の書き込み可能なサブフォルダーに自動的に移動します。お知らせください。構成手順としてそのシナリオを再開します。
あなたがあなたのシステムについての情報を書かなかったので、私はたくさんの仮定をしました。