SFTPユーザーが複数のフォルダにアクセスできないように制限する

SFTPユーザーが複数のフォルダにアクセスできないように制限する

非常に明白な内容がありませんが、ユーザーがSFTPを介して(ユーザーのホームディレクトリではなく)アクセスできるフォルダのリストを指定できますか?

例えば

Admin -> Full root access  
WebDev1 -> Access to the primary vhost folder and sub directories  
SysAdmin1 -> Access to all folders, except the vhost folder  
Manager1 -> Access to vhost folder, and phpMyAdmin install folder  

「Admin」と「WebDev1」のユーザーには正常に機能しますが、他の2人のユーザーには機能しません。

「Manager1」ユーザーの場合は、次のエントリへのアクセス(サブディレクトリを含む)を許可したいと思います。

/data/vhosts  
/usr/share/phpMyAdmin  

これはSSHDを使用するCentos 7システムにあります。何時間も混乱していたので、この問題の助けをいただきありがとうございます。

ベストアンサー1

あなたがしたいことに関連するキーワードはSFTP chroot 刑務所

sshd_configを変更する必要があります。最初にSFTPを有効にするには、その行のコメントを外します。これは次のとおりです。

Subsystem sftp /usr/lib64/ssh/sftp-server

sshd_configの下部には、テンプレートに次の一部がコメントアウトされている可能性があります。具体的には、次のようなことをしたいと思います。

# jail only user dave to folder /dave_sftp/
Match User dave
   ChrootDirectory /dave_sftp
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

# jail only user ron to folder /ron_sftp/
Match User ron
   ChrootDirectory /ron_sftp
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

# jail users that are in group sftp1_group to the folder /sftp1_group/
Match Group sftp1_group
   ChrootDirectory /sftp1_group
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

# jail users that are in group sftp2_group to the folder /sftp2_group/
Match Group sftp2_group
   ChrootDirectory /sftp2_group
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

特定のユーザーを特定のフォルダに制限することは非常に簡単です。あなたの質問によるとさまざまなユーザーがアクセスできるフォルダのリストを指定する、それは単なる手動操作であり、別のグループを作成し、使用したい特定のフォルダと一致し、そのユーザーを刑務所のSFTPを提供するフォルダと一致するフォルダに配置し、関連グループに入力します。たとえば、ユーザーとdaveグループの両方に配置して、ユーザーが複数のフォルダにアクセスできるようにします。sftp1_groupsftp2_group

非常に良い例はここでも見つけることができます: https://serverfault.com/questions/591781/creating-sftp-users-and-jailing-to-chroot-on-centos-user-authentication-error

気づく

chrootホームディレクトリより前のすべてのフォルダはrootユーザーが所有する必要があり、書き込みのみ可能です。フォルダはグループごとに書き込めません。グループがルートグループであっても同様です。

別の例は次のとおりです。https://askubuntu.com/questions/261663/how-can-i-set-up-sftp-with-chrooted-groups

おすすめ記事