gclegal
chroot 감옥을 사용하여 특정 디렉터리로 사용자를 제한하려고 합니다 . /etc/vsftpd.conf
파일 에서 해당 줄의 주석 처리를 해제했습니다.
chroot_local_user=YES
다음이라는 새 사용자를 만들었습니다 kg
.
$ sudo groupadd xenomai
$ sudo useradd -d /var/www/html/gclegal -g xenomai kg
$ sudo passwd kg
이 구성을 사용하면 사용자로 vsftpd를 통해 로그인할 수 있지만 kg
상위 디렉터리로 다시 찾아보고 /var/www/html
.
사용자( /var/www/html/gclegal
)의 집 외부에서 모든 작업을 비활성화하려면 어떻게 해야 합니까?
답변1
버전 2.2.2 부터 작업하면 vsftpd
사용자를 감옥에 가두는 두 가지 옵션이 있습니다 chroot
.
chroot_list_enable
예를 들어 에 배치하려는 chroot
( ) 사용자를 목록에 추가하기만 하면 됩니다 ./etc/vsftpd/chroot_list
chroot jail
chroot_local_user
이렇게 하면 모든 로컬 사용자가 chroot
감옥에 갇히게 됩니다.하지만, 이것이 설정되면 다음 chroot_list
사용자 목록이 됩니다.하지 마라.chroot jail
kg
따라서 구성한 경우 목록에 사용자가 포함되어 있지 않은지 확인하십시오 chroot_local_user=YES
.
분명히 vsftpd
구성을 변경한 후 데몬을 다시 시작하십시오.
man vsftpd.conf의 발췌문
chroot_list_enable
If activated, you may provide a list of local users who are placed in a chroot() jail in their home directory upon login. The meaning is slightly different if
chroot_local_user is set to YES. In this case, the list becomes a list of users which are NOT to be placed in a chroot() jail. By default, the file containing this list
is /etc/vsftpd/chroot_list, but you may override this with the chroot_list_file setting.
Default: NO
chroot_local_user
If set to YES, local users will be (by default) placed in a chroot() jail in their home directory after login. Warning: This option has security implications, especially
if the users have upload permission, or shell access. Only enable if you know what you are doing. Note that these security implications are not vsftpd specific. They
apply to all FTP daemons which offer to put local users in chroot() jails.
Default: NO
chroot
나는 사용자 에게 vsftpd를 구성했으며 다음은 /etc/vsftpd.conf
내가 사용한 설정입니다( Ubuntu 14.04
).
listen=YES
anonymous_enable=NO
local_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
allow_writeable_chroot=YES
메모:/etc/vsftpd.chroot_list
또는 /etc/vsftpd/chroot_list
비어 있는지 확인하세요 .
ftp
일단 작동하게 되면 로그인을 추적하고 싶다면 session_support=YES
다음 last
명령을 사용하여 설정할 수 있습니다.
username vsftpd:12025 IP address Tue Oct 14 14:05 - 14:10 (00:05)
username vsftpd:12011 IP address Tue Oct 14 14:04 - 14:05 (00:00)
참고 - utmp 및 wtmp 지원은 PAM 지원 빌드에서만 제공됩니다.
답변2
selinux를 으로 설정 permissive
하고 다시 시작하여 vsftpd.service
문제가 해결되었습니다.