홈 디렉터리에서 chroot를 수행할 때 심볼릭 링크에 대한 액세스 허용

홈 디렉터리에서 chroot를 수행할 때 심볼릭 링크에 대한 액세스 허용

내 사용자는 자신의 컴퓨터 어딘가에 다음과 같은 심볼릭 링크를 가지고 있습니다.

# 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같지 않습니다.rootguirec0

/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삭제한 후 다시 생성하면 하드 링크는 다음을 참조합니다.오래된버전.

관련 정보