
私はファイルへのユーザーのアクセスを制限したかったので(彼のディレクトリのすぐ外)、chrootを使ってログインしたときに制限されたディレクトリを彼のログインディレクトリにしました。
ただし、これにより、cd ..
ユーザーは自分のディレクトリ以外のすべてのアイテムにアクセスできます。この状況を避ける方法は?
私はこれを使用しました:
adduser --home Rest_folder --shell /bin/bash --no-create-home --ingroup www-data --ingroup ssh rest_user
答え1
SSHを使用するときは、SFTPというサブシステムを使用できます(FTPSと混同しないでください)。 SFTPは、ユーザーがcp
、、、、、...などの一般的なファイル操作を実行できるシェルを提供します。ただし、chroot環境のため、SFTP内の他のプログラムにはこの方法でアクセスできません。この chroot 環境は SSH デーモンによって設定されるため、詳細にとらわれる必要はありません。mv
ls
cd
mkdir
rm
/bin
SSHユーザー用にchrootを設定するには、主に次の場所にあるsshd設定ファイルに入れます/etc/ssh/sshd_config
。
Match User rest_user
ChrootDirectory /home/rest_user
ForceCommand internal-sftp
このログインに追加のフラグを設定することもできます。
AllowTCPForwarding no
X11Forwarding no
詳細については、マニュアルページを参照してくださいsshd_config (5)
。