Ubuntu:他のユーザーのディレクトリを一覧表示せずにSFTPユーザーを作業ディレクトリとして指定する[閉じる]

Ubuntu:他のユーザーのディレクトリを一覧表示せずにSFTPユーザーを作業ディレクトリとして指定する[閉じる]

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

関連情報