升到了11.04后,vsftpd需要重新配置。重新温习了一下vsftpd的配置,尤其是用户配置。
一、基本配置:
listen=YES
anonymous_enable=NO 不允许匿名登入
local_enable=YES 允许本地用户登入
write_enable=YES 允许本地用户修改和删除
local_umask=022 FTP上传文件权限 ,默认是077
dirmessage_enable=YES 当切换目录时,显示该目录下message隐藏文件的内容
xferlog_enable=YES 激活上传和下载的日志
connect_from_port_20=YES 启动FTP数据端口的连接请求
chroot_local_user=YES
local_root=/data
#配置允许登录的本地用户,每个用户一行
userlist_enable=YES
userlist_file=/etc/vsftpd/vsftpd.user_list
userlist_deny=NO
secure_chroot_dir=/var/run/vsftpd/
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
anonymous_enable=NO 不允许匿名登入
local_enable=YES 允许本地用户登入
write_enable=YES 允许本地用户修改和删除
local_umask=022 FTP上传文件权限 ,默认是077
dirmessage_enable=YES 当切换目录时,显示该目录下message隐藏文件的内容
xferlog_enable=YES 激活上传和下载的日志
connect_from_port_20=YES 启动FTP数据端口的连接请求
chroot_local_user=YES
local_root=/data
#配置允许登录的本地用户,每个用户一行
userlist_enable=YES
userlist_file=/etc/vsftpd/vsftpd.user_list
userlist_deny=NO
secure_chroot_dir=/var/run/vsftpd/
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
二、关于用户配置
vsftpd有三种方式配置用户,匿名、本地用户(在FTP服务器所属主机上拥有账号的用户。VSFTPD中称此类用户为本地用户(local users),等同于其他FTP服务器中的real用户)、虚拟用户(FTP服务的专用用户,虚拟用户只能访问FTP服务器资源。对于只需要通过FTP对系统有读写权限)。虚拟用户采用单独的用户名/口令保存方式,可以用数据库文件或数据库服务器方式保存。由于需求简单,用户数少,结合本地用户权限配置后采用本地用户方式能较好的满足需求。
先新建vsftpd用户(useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd)
再建data用户(用户上传),划入vsftpd组;share用户(用于下载)及个人用户xxx,不划入vsftpd组。其中data用户home为/data,share用户home为/home/share,xxx用户的home为/home/xxx。
设置ftp的根目录/data属主为vsftpd:vsftpd,属性为775,即同组可读写,其他可读。
设置个人用户目录/data/user/xxx的属主为xxx:xxx,属性为711。这样非xxx用户不能读写该目录。
三、相关链接
请问vsftp中可否在使用虚拟用户的情况下同时开启匿名用户?