사용자가 홈 디렉터리로 루트가 지정되는 VSFTPD 설정이 있습니다. 표준적인 것. 하지만 이렇게 하려면 보안 문제를 피하기 위해 모든 홈 디렉터리에 쓸 수 없어야 합니다. 문제 없습니다. 파일을 업로드하려면 쓰기 가능한 폴더에 업로드하면 됩니다.이내에그들의 chroot.
하지만 이제는 업로드를 할 때마다 해당 폴더로 변경해야 합니다. VSFTPD 구성 파일에서 local_root 옵션을 사용하여 기본 로그인 위치를 쓰기 가능한 폴더로 이동하면저것그들의 chroot가 되고 다시 원점으로 돌아갑니다. 쓸 수 없습니다.
제 질문은 chroot 디렉토리 자체를 쓰기 가능하게 만들지 않고 VSFTPD가 사용자를 배치하는 기본 위치를 chroot 감옥 내의 쓰기 가능한 디렉토리로 어떻게 이동할 수 있습니까?
답변1
vsftpd를 사용하여 이를 수행하는 방법은 한 가지 뿐이며 경로는 시스템 passwd 파일에 설정되어야 합니다. vsftpd.conf 파일에서는 경로를 설정할 수 없습니다.
/etc/vsftpd.conf 파일에서 다음 두 가지 옵션을 설정합니다.
chroot_local_user=YES
passwd_chroot_enable=YES
또한 chroot 감옥이 루팅된 위치를 나타내기 위해 사용자의 unix 홈 디렉토리를 변경해야 합니다. chroot Jail 루트는 /./
홈 디렉터리 경로의 왼쪽 경로에 위치합니다 . 즉, /ftphome/./home/user/
chroot 감옥을 감옥으로 설정하고 /ftphome/
감옥 내부의 사용자 디렉토리는 home/user
. 다음을 실행하여 이를 수행할 수 있습니다.
sudo usermod -d /ftphome/./home/user/ user
분명히, chroot 디렉토리와 내부의 사용자 디렉토리는 일반적인 chroot 준비에 따라 설정되어야 합니다.