一、安装vsftpd服务
1、查询并安装vsftpd服务(参考前面内容挂载及创建yum软件仓库方法);
[root@LOCALHOST ~]# rpm -q vsftpd
[root@LOCALHOST ~]# yum clean all //安装前先清除缓存
[root@LOCALHOST ~]# yum install vsftpd -y
[root@LOCALHOST ~]# yum install ftp -y //同时安装ftp软件包
[root@LOCALHOST ~]# rpm -qa|grep vsftpd //检查安装组件是否成功
2、vsftpd服务启动、重启、随系统启动、停止,开放防火墙,开放SELinux;
[root@LOCALHOST ~]# systemctl restart vsftpd
[root@LOCALHOST ~]# systemctl enable vsftpd
[root@LOCALHOST ~]# firewall-cmd --permanent --add-service=ftp
[root@LOCALHOST ~]# firewall-cmd --reload
[root@LOCALHOST ~]# setsebool -P ftpd_full_access=on
二、配置vsftpd服务器
1、将主配置文件vsftpd.conf备份,并在删除其空行、注释行后创建主配置文件;
[root@LOCALHOST ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
[root@LOCALHOST ~]# grep -v "#" /etc/vsftpd/vsftpd.conf.bak > /etc/vsftpd/vsftpd.conf
2、配置匿名模式FTP服务器:搭建一台FTP服务器,允许匿名用户上传和下载文件,匿名用户的根目录设置为/var/ftp;
修改配置文件的命令:vi /etc/vsftpd/vsftpd.conf
- 在主配置文件vsftpd.conf添加以下内容;
anonymous_enable=YES #允许匿名用户登录
anon_root=/var/ftp #设置匿名用户的根目录为/var/ftp
anon_upload_enable=YES #允许匿名用户上传文件
anon_mkdir_write_enable=YES
- 在FTP默认站点根目录/var/ftp/pub下创建测试文件;
[root@LOCALHOST ~]# touch /var/ftp/pub/sample.tar
- 设置默认站点根目录/var/ftp/pub的本地系统权限:将其属主设置为ftp;
[root@LOCALHOST ~]# chown ftp /var/ftp/pub
- 重启FTP服务
[root@LOCALHOST ~]# systemctl restart vsftpd
在Linux客户端先安装ftp工具,然后测试(用户名:ftp,密码:空)测
[root@client1 ~]# yum install ftp –y
[root@client1 ~]#ftp://192.168.100.1
- 配置本地模式的FTP服务器:公司内部现在有一台FTP服务器和Web服务器,FTP主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等。公司现有两个部门负责维护任务,两者分别适用team1和team2账号进行管理。先要求仅允许team1和team2账号登录FTP服务器,但不能登录本地系统,并将这两个账号的根目录限制为/web/www/html,不能进入该目录以外的任何目录;
- 建立维护网站内容的FTP账号team1 、team2和user1并禁止本地登录,然后为其设置密码;
[root@LOCALHOST ~]# useradd -s /sbin/nologin team1
[root@LOCALHOST ~]# useradd -s /sbin/nologin team2
[root@LOCALHOST ~]# useradd -s /sbin/nologin user1
[root@LOCALHOST ~]# passwd team1
[root@LOCALHOST ~]# passwd team2
[root@LOCALHOST ~]# passwd user1
- 在主配置文件vsftpd.conf添加或修改以下内容;
anonymous_enable=NO #禁止匿名用户登录
local_enable=YES #允许本地用户登录
local_root=/web/www/html #设置本地用户的根目录为/web/www/html
chroot_local_user=YES #限制本地用户
chroot_list_enable=YES #激活chroot功能
chroot_list_file=/etc/vsftpd/chroot_list #设置锁定用户在根目录中的列表文件
allow_writeable_chroot=YES
- 建立/etc/vsftpd/chroot_list文件,添加team1和team2账号;
[root@LOCALHOST ~]# vim /etc/vsftpd/chroot_list
team1
team2
- 创建站点主目录、测试文件并修改主目录本地权限;
[root@LOCALHOST ~]# mkdir /web/www/html -p
[root@LOCALHOST ~]# touch test.sample
[root@LOCALHOST ~]# ll -d /web/www/html
[root@LOCALHOST ~]# chmod -R o+w /web/www/html //其他用户可以写入!
[root@LOCALHOST ~]# ll -d /web/www/html
- 重启FTP服务并在客户端测试
[root@LOCALHOST ~]# systemctl restart vsftpd