假设我有一个用户“user1”。该用户有一个特殊目录,可供另一个用户(“user2”)访问:/home/user1/directory
我怎样才能仅允许用户 2 通过 ssh/sftp 访问此目录?因此,当用户 2 通过 SSH/SFTP 连接到服务器时,将打开 /home/user1/directory,并且只能访问此目录。用户 2 必须仅拥有此文件夹内的所有权限。
我正在考虑授予该文件夹 777 权限并创建一个 bash 脚本来重定向到该文件夹,但我不确定这是否是正确的方法。
请指教。
答案1
我通过 自己解决了这个问题ChrootDirectory
。
这是 sshd_condig:
Match user user2
ChrootDirectory /home/user2/lock
ForceCommand internal-sftp
AllowTcpForwarding no
GatewayPorts no
我创建了一个符号链接,链接/home/user2/lock
到/home/user1/directory
另一个解决方案是将所有者更改/home/user1/directory
为 root,并将此目录指定为 chroot 目录,但这对我来说不太方便。希望以后有人遇到此问题时,此方法能有所帮助。