FTP服务器
第一部分:FTP服务器简介
FTP 大名鼎鼎,就不多介绍了
第二部分:安装并且配置FTP服务器
linux中最常用的ftp服务器是vsftpd。
1. 安装vsftpd
sudo yum install vsftpd -y
2. 配置vsftpd
备份配置文件:
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
编辑配置文件:
vi /etc/vsftpd/vsftpd.conf
VSFTPD参数参考
#不允许匿名访问
anonymous_enable=NO
#本地用户可访问
local_enable=YES
#本地ftp目录
local_root=/var/ftp
#可进行写操作
write_enable=YES
#上传后文件权限掩码
local_umask=022
#设定开启目录标语功能
dirmessage_enable=YES
#日志记录功能开启
xferlog_enable=YES
#允许从20端口连接
connect_from_port_20=YES
#日止使用标准记录格式
xferlog_std_format=YES
#不允许离开目录
chroot_local_user=YES
#允许离开目录用户列表开启
chroot_list_enable=YES
#允许离开目录用户列表
chroot_list_file=/etc/vsftpd/chroot_list
#允许写离开用户列表
allow_writeable_chroot=YES
#开启监听
listen=YES
#IPV6不允许监听
listen_ipv6=NO
#被动模式开启
pasv_enable=YES
#被动监听地址(公网地址)
pasv_address=xxx.xxx.xxx.xxx
#被动模式最小端口
pasv_min_port=3000
#被动模式最大端口
pasv_max_port=3100
#定义PAM 所使用的名称,预设为vsftpd
pam_service_name=vsftpd
#若启用此选项,userlist_deny选项才被启动
userlist_enable=YES
#开启tcp_wrappers支持
tcp_wrappers=YES
3. 新建用户并添加目录设置权限密码
添加用户test,设置为不可登录系统,并且指定目录:
useradd test -s /sbin/nologin -d /var/ftp
为用户test设置密码,输入两次密码即可设置密码:
passwd test
设置ftp目录权限:
chown -R test:test /var/ftp
4. 启动vsftpd服务并设置开启自启
开启vsftpd服务:
systemctl start vsftpd
设置开机自启vsftpd:
systemctl enable vsftpd
5.去掉pam鉴权,否则会报530错误
vi /etc/pam.d/vsftpd
注释掉optional为required的两行如下
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
6. 安装ftp测试本地用户是否可以登录vsftpd服务器
安装ftp:
yum install ftp -y
登录本地ftp服务器:
ftp 127.0.0.1
输入用户名test以及密码登录。成功登录。
7. 配置防火墙
设置防火墙端口21对外开放:
firewall-cmd --zone=public --add-port=21/tcp --permanent
查询特定端口是否开启:
firewall-cmd --query-port=80/tcp
若是嫌麻烦,可以直接关闭防火墙:
systemctl stop firewalld
不自己启动防火墙:
systemctl disable firewalld
8. SELinux
设置SELinux为permissive模式
setenforce 0