我的用户有一个到计算机中某处的符号链接,如下所示:
# ls -ltr /home/guirec0
total 4
lrwxrwxrwx 1 root root 24 Jan 9 17:56 int -> /disk2/clients/optik/int
drwxr-xr-x 2 guirec0 guirec0 4096 Jan 9 18:13 blabla
我使用 sftp 连接到该用户。我有这个设置/etc/ssh/sshd_config
:
Subsystem sftp internal-sftp
Match Group sftpgroup
ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
所以根被改变了,并且for和 for/disk2/clients/optik/int
不一样。root
guirec0
有没有办法允许/disk2/clients/optik/int
访问guirec0
?
chroot 的目的是限制用户的访问。
答案1
使用绑定安装而不是符号链接:
rm /home/guirec0/int
mkdir /home/guirec0/int
mount --bind /disk2/clients/optik/int /home/guirec0/int
答案2
如果您的源和目标位于同一文件系统上,则可以使用硬链接:
ln /home/guirec0/int /disk2/clients/optik/int
这将在重新启动后继续存在。
但如果/disk2/clients/optik/int
删除然后重新创建,硬链接将引用老的版本。