Ubuntu Server 18.04でSFTPサーバーを構成しています。他のアカウントを一覧表示せずに作業ディレクトリを直接指すSFTPアカウントを作成したいと思います。たとえば、サーバーの実際の作業ディレクトリがある場合、/sftpdir1/sftpdir2/user1
ユーザーは/
代わりに次の/user1
ように表示する必要がありますchrootdirectory
。 FileZilla経由でログインしたら、下の画像のようなディレクトリを探す必要があります。1ファイルをアップロードしてダウンロードできる場所はどこですか?
更新:chrootdirectoryを設定しない理由/etc/ssh/sshd_config
同じグループにさらに多くのユーザーが割り当てられている場合は、同じを使用して、そのすべてのchrootdirectory
ユーザーが他のすべてのユーザーの作業ディレクトリを表示できます。あるいは、ログインすることで、ユーザーが他の人のディレクトリや自分の作業ディレクトリツリーを表示したくない場合があります。/
示されているように見てください。
答え1
/
ユーザーは自分が見たことを書くことができないことを認めなければなりません。したがって、実際にホームディレクトリをchrootディレクトリにすることはできません。 「作業ディレクトリ」がホームディレクトリを参照していない場合は、気にする必要はありません。ディレクトリを作成するだけです
/sftproot
|__ user-1
| |___ rw-dir
|__ user-2
| |___ rw-dir
そしてset ChrootDirectory /sftproot/%u
。このuser-x
ディレクトリはrootとしてのみ書き込むことができます。どのユーザーも他のユーザーのchrootディレクトリを見ることはできません。
ホームディレクトリの使用
ユーザーが自分のホームディレクトリを表示して同じディレクトリ構造を作成できるようにするには、別の名前を使用することをお勧めします。
/sftproot
|__ user-1
| |___ user-1
|__ user-2
| |___ user-2
バンドルのインストールを実行します。
mount --bind /home/user-1 /sftproot/user-1/user-1
これはアイテムを通して行うこともできますfstab
。