CentOS配置FTP(VSFTPD)

时间:2024-07-08 22:36:20
一、vsftp安装篇
# 安装vsftpd
yum -y install vsftpd
# 启动
service vsftpd start
# 开启启动
chkconfig vsftpd on
# 如果启动失败那么查看端口占用情况
netstat -natp |grep 21
#显示的是被pure-ftp占用,那么我们先停掉这个
service pureftpd stop
service vsftpd start 二、vsftp相关命令之服务篇
# 启动ftp服务
service vsftpd start
# 查看ftp服务状态
service vsftpd status
# 重启ftp服务
service vsftpd restart
# 关闭ftp服务
service vsftpd stop 三、vsftp配置篇
#进入vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf
# 禁止匿名用户anonymous登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 让登录的用户有写权限(上传,删除)
write_enable=YES
# 默认umask
local_umask=022
# 把传输记录的日志保存到/var/log/vsftpd.log
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
# 允许ASCII模式上传
ascii_upload_enable=YES
# 允许ASCII模式下载
ascii_download_enable=YES
# 使用20号端口传输数据
connect_from_port_20=YES
# 欢迎标语
ftpd_banner=Welcome to use my test ftp server.
# 接下来的三条配置很重要
# chroot_local_user设置了YES,那么所有的用户默认将被chroot,
# 也就用户目录被限制在了自己的home下,无法向上改变目录。
# chroot_list_enable设置了YES,即让chroot用户列表有效。
# ★超重要:如果chroot_local_user设置了YES,那么chroot_list_file
# 设置的文件里,是不被chroot的用户(可以向上改变目录)
# ★超重要:如果chroot_local_user设置了NO,那么chroot_list_file
# 设置的文件里,是被chroot的用户(无法向上改变目录)
chroot_list_enable=YES
# touch /etc/vsftpd/chroot_list 新建
chroot_list_file=/etc/vsftpd/chroot_list
use_localtime=YES
# 以standalone模式在ipv4上运行
listen=YES
# PAM认证服务名,这里默认是vsftpd,在安装vsftpd的时候已经创建了这个pam文件,
# 在/etc/pam.d/vsftpd,根据这个pam文件里的设置,/etc/vsftpd/ftpusers
# 文件里的用户将禁止登录ftp服务器,比如root这样敏感的用户,所以你要禁止别的用户
# 登录的时候,也可以把该用户追加到/etc/vsftpd/ftpusers里。
pam_service_name=vsftpd
# 重启 vsftpd
service vsftpd restart 四、vsftp用户篇
# 创建用户
useradd -d /opt/www -s /sbin/nologin -M aidejin
# 设置用户到文件夹
chown -R aidejin /opt/www
# 设置权限
chown -R 777 /opt/www
# 添加密码
passwd aidejin -> 密码 -> 确认密码 五、FTP连接不上,提示读取目录失败
该错误是由iptables的配置引起的,临时的解决方法是执行如下命令:
modprobe ip_nat_ftp 但当你重新启动服务器则iptables规则失效,又会出现相同的情况,所以我们需要修改/etc/sysconfig/iptables-config文件
vi /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_nat_ftp"
IPTABLES_MODULES_UNLOAD="yes" 六、VSFTPD不能上传文件
查看配置
sestatus -b|grep ftp
命令行设定
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_anon_write on
setsebool -P allow_ftpd_full_access on
setsebool -P allow_ftpd_use_cifs on
setsebool -P allow_ftpd_use_nfs on
service vsftpd restart