vsftp的安装就不说了,谈谈配置,这里只架设一个普通的ftp服务器,用户较少,也不经常添加(例如小公司),故不涉及虚拟用户及使用数据库验证用户名密码的问题,只用系统建立的帐号登录。
编辑/etc/vsftpd/vsftpd.conf,注意在等号前的部分大小写是敏感的,一定要全部小写,最后所有产生效用的设置调如下。
anonymous_enable=NO 不允许匿名登录(默认为YES,需要修改)
local_enable=YES 允许本地用户登录(默认)
write_enable=YES 开放本地用户登录后的修改权限(默认)
local_umask=022 上传文件默认权限为755(777-022)(默认)
dirmessage_enable=YES 欢迎信息(默认)
xferlog_enable=YES 记录log(默认)
connect_from_port_20=YES (默认)
xferlog_std_format=YES log格式(默认)
listen=YES (默认)
chroot_local_user=YES 限制用户登陆后只能在自身目录(新添加)
pam_service_name=vsftpd (默认)
tcp_wrappers=YES (默认)
最后删除一条默认的userlist_enable=YES
保存退出后
接下来建立一个不能在本地登录而只能使用ftp的用户,假设用户名为yonghu,个人所属的文件夹为/var/ftp/yonghu
命令如下
useradd -g ftp -d /var/ftp/yonghu -s /sbin/nologin yonghu
建立完成后使用passwd yonghu命令设置密码
(注意某些系统中,禁止本地登录的文件并不是/sbin/nologin,而是/bin/false,要先查看一下。)
检查/etc/shells文件中,有没有/sbin/nologin这一行,如没有需要手动添加,否则将被拒绝登录ftp。
接下来用命令
setsebool ftpd_disable_trans 1
关闭selinux对vsftp的限制
再使用system-config-securitylevel-tui命令,选择定制,把ftp前的星号加上,打开ftp服务的防火墙。
最后使用service vsftpd restart命令,重新启动vsftp服务,至此大功告成。
---
转载请注明本文标题和链接:《centos下的vsftp配置》
发表评论