Ubuntuでsftpを設定するときの権限

Ubuntuでsftpを設定するときの権限

さて、Ubuntu 20.04にSFTPサーバーを設定しました。 sftpを介してボックスにアクセスする複数のユーザーがあり、各ユーザーが自分のディレクトリにのみアクセスできることを願っています。私は彼らが他のユーザーのディレクトリやファイルを見て、修正し、ダウンロードするなどのことをしたくありません。基本的にchroot刑務所のシナリオです。

私は次のフォルダ構造で終わりました。

/var/
|-- sftp/
    |-- user1/
        |-- uploads/
            |-- file1
            |-- file2
    |-- user2/
        |-- upoads/
            |-- filea
            |-- fil2b

私の/etc/ssh/sshd_config内容は次のとおりです。

Match Group mygroup
ForceCommand internal-sftp
PasswordAuthentication yes
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Match User user1
ChrootDirectory /var/sftp/user1

Match User user2
ChrootDirectory /var/sftp/user2

基本的には動作しますが、理解していないいくつかの側面があります。

明らかにSFTPサーバーを構成する/etc/ssh/sshd_configときにChrootDirectoryこれをroot。たとえば、user1接続するとフォルダー/var/sftp/user1が失敗します。彼らは/var/sftp/user1/uploads物をアップロードしてダウンロードできる場所に行くべきです。ディレクトリuser1を所有するように設定しました/var/sftp/user1/uploads。ユーザーの立場ではやや不便な部分です。ルートディレクトリで直接動作させる方法はありますか?

不明なもう1つのことは、/var/sftp/user1フォルダ/var/sftp/user1/uploadsに権限755を割り当てる必要があることです。他の権限(777も含む)を使用すると機能しないようです。なぜそんなことですか? 755の特別な点は何ですか?

関連情報