配置vsftpd服务器
这个是centos系统默认安装的ftp配置文件/etc/vsftpd/vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
增加用户ftpuser
useradd -d /var/www -g ftp -s /sbin/nologin ftpuser
ftpuse是用户名,
/var/www是ftp访问指向目录,
/sbin/nologin禁止登录SSH权限。
设置用户口令
passwd ftpuser
重新启动vsftpd
service vsftpd restart
以上基本就可以添加一个FTP用户了。
下面是自定义功能和要求。
编辑文件chroot_list:
vi /etc/vsftpd/chroot_list
可以通过该文本设置允许访问的用户
添加用户名列表,每个用户占一行,如:
ftpuser yonghu
配置文件说明:
配置vsftpd.conf
anonymous_enable=NO #禁止匿名
local_enable=YES #允许本地登录
write_enable=YES #允许写,如需上传,则必须
local_umask=027 #将上传文件的权限设置为:777-local_umask
anon_upload_enable=YES #允许虚拟用户和匿名用户上传
anon_other_write_enable=YES #允许虚拟用户和匿名用户修改文件名和删除文件
dirmessage_enable=YES
xferlog_enable=YES #打开日志记录
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log #日志存放位置
xferlog_std_format=YES #标准日志格式
idle_session_timeout=600 #空闲连接超时
data_connection_timeout=120
ftpd_banner=Welcome to ChinaRise FTP service #欢迎信息
guest_enable=yes #允许虚拟用户
guest_username=vsftpdguest #虚拟用户使用的系统账号
virtual_use_local_privs=YES #虚拟用户拥有本地系统权限
chroot_local_user=NO
chroot_list_enable=YES #以上两行将虚拟用户限制在其目录下,不能访问其他目录,或者直接用
chroot_local_user=YES
listen=yes #监听/被动模式
listen_port=21 #监听端口
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list #虚拟用户名单保存在文件/etc/vsftpd/vsftpd.chroot_list 中
user_config_dir=/etc/vsftpd/vsftpd_user_conf #每个虚拟用户名的更加详细的培植保存在/etc/vsftpd/vsftpd_user_conf 中
虚拟用户其他设置
在/etc/vsftpd/vsftpd.chroot_list 文件中写入允许登陆的虚拟用户名称,每行一个
在/etc/vsftpd/vsftpd_user_conf 文件夹中创建一个以虚拟用户用户名命名的文件,
写入:local_root = /var/FTP/子目录名
然后在/var/FTP下创建一个对应的目录即可
其他错误:
500 OOPS: cannot change directory
500 OOPS: vsftpd: refusing to run with writable root inside chroot()