FTP服务器IP地址:192.168.100.1
Linux客户端IP地址:192.168.100.20
Windows客户端IP地址:192.168.100.30
连网方式:仅主机模式
1.配置yum源
2.安装vsftpd服务
3.启动vsftpd,防火墙放行,开发SELinux
systemctl restart vsftpd
systemctl enable vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
setsebool -P ftpd_full_access=on
4.配置匿名用户FTP实例
1.新建测试文件,编辑/etc/vsftpd/vsftpd.conf
touch /var/ftp/pub/sample.tar
vim /etc/vsftpd/vsftpd.conf //在文件最后添加以下内容
anonymous_enable=YES
anon_root=/var/ftp
anon_upload_enable=YES
anon_mkdir_write_enable=YES
2.允许SELinux,防火墙放行ftp服务
setenforce 0
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
firewall-cmd --list-all
systemctl restart vsftpd
3.设置本地系统权限,属主为ftp
ll -ld /var/ftp/pub/
chown ftp /var/ftp/pub/
chmod o+w /var/ftp/pub/
ll -ld /var/ftp/pub/
systemctl restart vsftpd
在客户端测试
5.配置本地模式的FTP案例
1.建立FTP账号
useradd -s /sbin/nologin team1
useradd -s /sbin/nologin team2
useradd -s /sbin/nologin user1
passwd team1
passwd team2
passwd user1
2.修改/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
local_root=/web/www/html
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES //添加此行内容
3.建立/etc/vsftpd/chroot_list文件,添加team1、team2账号
4.防火墙放行、SELinux允许
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
firewall-cmd --list-all
setenforce 0
systemctl restart vsftpd
5.修改本地权限
mkdir /web/www/html -p
touch /web/www/html/test.sample
ll -d /web/www/html
chmod -R o+w /web/www/html
ll -d /web/www/html
在客户端测试
6.设置vsftp虚拟账号
1.建立用户文件,并添加user2、user3
mkdir /vftp
vim /vftp/vuser.txt
user2
12345678
user3
12345678
2.生成数据库
db_load -T -t hash -f /vftp/vuser.txt /vftp/vuser.db
ls /vftp/
3.修改数据库文件访问权限
chmod 700 /vftp/vuser.db
ll /vftp/
4.配置PAM文件,默认全部注释,添加以下内容
vim /etc/pam.d/vsftpd
5.创建虚拟账号对应系统用户
useradd -d /var/ftp/vuser vuser
chown vuser.vuser /var/ftp/vuser/
chmod 555 /var/ftp/vuser/
ls -ld /var/ftp/vuser/
6.修改/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=NO
chroot_local_user=YES
listen=YES
listen_ipv6=NO
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd
allow_writeable_chroot=YES
重启服务 systemctl restart vsftpd
客户端测试