我想将用户“监禁”在其各自的目录中,但他们被监禁在 /var/www,并且有权在 www 的任何目录中“行走”和写入。
CentOS 7 上的 Vsftpd- 系统详细信息:
地点 1:
Path: /var/www/site1
Owner and group: site1:site1
/home/site1 is a symbolic link to /var/www/site1
地点 2:
Path: /var/www/site2
Owner and group: site2:site2
/home/site2 is a symbolic link to /var/www/site2
我的/etc/passwd:
[...]
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
site1:x:1000:1000::/var/www/./site1:bin/bash
php-fpm:x:995:992:php-fpm:/var/lib/php/fpm:/sbin/nologin
site2:x:1001:1001::/var/www/./site2:/bin/bash
我的 /etc/vsftpd/vsfptd.conf:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
chroot_local_user=YES
user_sub_token=$USER
local_root=/var/www/$USER ### also tried: local_root=/home/$USER
allow_writeable_chroot=YES
passwd_chroot_enable=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_enable=YES
pasv_max_port=10100
pasv_min_port=10090
force_dot_files=YES
我也禁用了 SELinux,启用后就无法使用 Windows 访问 ftp(即使在主动模式下)。
有人能看出这个问题吗?
答案1
解决了,伙计们!问题出在 /etc/passwd 主路径中的点。
之前(不工作):
site1:x:1000:1000::/var/www/./site1:bin/bash
工作中):
site1:x:1000:1000::/var/www/site1:bin/bash