我有一个基于 CentOS 6 的 VSFTPD 服务器,配置为针对 openLDAP 服务器对虚拟用户进行身份验证。我可以登录 FTP 服务器,但是经过身份验证的用户不会被重定向到他们的主目录,而是重定向到 VSFTPD 的主目录!
请注意,每个用户的主目录都位于一个伪随机位置,因此,我不能使用类似的属性
user_config_dir=$USER
然而,在 LDAP 中,属性主目录包含完整路径用户主目录。例如:
uid:[email protected]
homeDirectory: /nfs/{RANDOM_storage_location}/{RANDOM_NUMBER}/{DOMAIN}u/s/e/usertest
如何配置 vsftpd 以使用每个用户的主目录?
配置文件:
##Filename: pam_ldap.conf
base dc=example,dc=com
uri ldap://192.168.1.8:389
binddn cn=ftp,ou=read,ou=groups,dc=example,dc=com
bindpw secret
bind_timelimit 300
idle_timelimit 300
timelimit 300
VSFTPD 配置如下:
Anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
# Enable Virtual users
guest_enable=YES
virtual_use_local_privs=YES
chroot_local_user=YES
chroot_list_enable=NO
xferlog_enable=YES
log_ftp_protocol=YES
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
hide_ids=YES
连接示例:
ftp
ftp> o 192.168.1.10
Connected to 192.168.1.10.
220-
220
Name (192.168.1.10:user): [email protected]
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
ftp> dir
Using binary mode to transfer files.
229 Entering Extended Passive Mode (|||21725|).
150 Here comes the directory listing.
drwxr-xr-x 2 ftp ftp 4096 Feb 21 09:01 pub
226 Directory send OK.