/**
* 1.安装vsftpd
* 2.启动; 重启; 查看状态; 开机自启动
* 3.查看ftp服务监听的端口
*/
# yum install -y vsftpd
# systemctl start vsftpd.service
# systemctl restart vsftpd.service
# systemctl status vsftpd.service
# systemctl enable vsftpd.service
# netstat -antup | grep ftp
/**
* 1.新建ftp根目录
* 2.新建“允许额外用户不被限制在主目录”文件
* 文件中一行代表一个用户, 这些用户表示不被限制
*/
# mkdir -p /etc/vsftpd/ftp
# touch /etc/vsftpd/chroot_list
/**
* 修改配置文件/etc/vsftpd/vsftpd.conf
* 1.修改
* anonymous_enable=NO 禁止匿名登录
* local_enable=YES 允许本地用户登录
* listen=YES 开启IPv4监听
* listen_ipv6=NO 关闭IPv6监听
* 2.新增
* local_root=/etc/vsftpd/ftp 设置ftp访问根目录
* chroot_local_user=YES 将用户限制在其主目录
* chroot_list_enable=YES 允许额外用户不被限制在主目录
* chroot_list_file=/etc/vsftpd/chroot_list 额外用户文件
* pasv_enable=YES 开启被动模式
* allow_writeable_chroot=YES 允许用户家目录可写,默认只读
* pasv_address=35.229.153.36 允许外网访问ftp
* pasv_min_port=26310 最小端口
* pasv_max_port=26310 最大端口
* 3.重启
* 4.查看ftp版本
* 至此整个ftp是搭建完成了
*/
# vi /etc/vsftpd/vsftpd.conf
# systemctl restart vsftpd.service
# vsftpd -version
/**
* 创建用户
*
* 1.创建用户ftp; 2.给ftp用户设置密码; 3.调整/etc/vsftpd/ftp_repository目录的属于ftp用户、root群组(-R即同时设置子目录)
* 4.建立用户zhangsan, 指定其主目录/etc/vsftpd/ftp_repository/zhangsan; -g设置所属群组
* 5.设置使用权限, 文件拥有者、群组、其他。4.读; 2.写; 1.执行。
* 对于目录/etc/vsftpd/ftp/zhangsan,拥有者有“读写执行”权限, 群组有“读执行”权限, 其他有“执行”权限
*
* 当我们对于用户权限有需求的时候, 比如希望账号zhangsan对于文件目录/zhangsan拥有上传和下载权限, lisi对于该目录只有下载权限;
* chown调整目录的拥有者、所属群主; chmod命令调整拥有者、群主、其他的使用权限。我们可以通过chown命令和chmod命令来达到不同用户的上传和下载权限控制
*/
# adduser ftp
# passwd ftp
# chown -R ftp:root /etc/vsftpd/ftp
# useradd -d /etc/vsftpd/ftp/zhangsan zhangsan
# chmod 751 /etc/vsftpd/ftp/zhangsan
# mkdir -p /etc/vsftpd/ftp
//删除用户
# userdel zhangsan
# rm -rf /home/zhangsan
# rm -rf /var/spool/mail/zhangsan
以下内容看实际情况确认是否需要
1.关闭防火墙或添加白名单
/**
* 关闭防火墙
*
*/
# systemctl stop firewalld.service
# systemctl disable firewalld.service
# systemctl status firewalld.service
/**
* 将ftp服务加入白名单
*
*/
# firewall-cmd --list-all
# firewall-cmd --permanent --zone=public --add-service=ftp
# firewall-cmd --reload
/**
* 开放端口, 即端口白名单
* 删除开放端口, 解除端口白名单
*/
# firewall-cmd --list-all
# firewall-cmd --zone=public --add-port=26310/tcp --permanent
# firewall-cmd --reload
# firewall-cmd --zone=public --remove-port=26310/tcp --permanent
# firewall-cmd --reload
2.修改ftp默认端口
/**
* 将ftp默认端口21调整为26311
*
* 1.编辑/etc/services, 将下图红框中的21端口调整为26311
* 2.编辑ftp配置文件/etc/vsftpd/vsftpd.conf, 增加listen_port=26311
* 3.重启
*/
# vi /etc/services
# vi /etc/vsftpd/vsftpd.conf
# systemctl restart vsftpd.service
3.调整selinux关于ftp的限制
/**
* 1.关闭selinux
* 2.开启selinux
*/
# setenforce 0
# setenforce 1
/**
* 1.selinux中关于ftp的
* 2.将tftp_anon_write、ftpd_full_access、tftp_home_dir设置为ON
*/
# getsebool -a | grep ftp
# setsebool -P tftp_anon_write 1
# setsebool -P ftpd_full_access 1
# setsebool -P tftp_home_dir 1