FTP服务器配置
FTP服务器配置
- 安装FTP服务器所需的软件包vsftpd
方法一:
[root@localhost ~]# mount /dev/cdrom /mnt
[root@localhost ~]#cd Packages
[root@localhost Packages]# ls vsftp*
[root@localhost Packages]# rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm
方法二:
[root@localhost ~]#yum -y install vsftpd
以上方法任性一种。
- 启动FTP服务
[root@localhost Packages]# systemctl start vsftpd.service //启动FTP服务
[root@localhost Packages]# systemctl enable vsftpd.service //将FTP服务设置自启动
- 测试
ftp://FTP服务器IP地址 //网络模式先改为NAT模式,在地址栏输入IP地址
项目一:允许匿名账号上传文件或文件夹
[root@localhost Packages]# vim /etc/vsftpd/vsftpd.conf //修改配置文件允许匿名上传
假如允许匿名用户对FTP服务器文件重命名,删除等操作,可增加一行代码如下:
[root@localhost Packages]# systemctl restart vsftpd.service //重启服务使配置文件生效
[root@localhost Packages]# ll /var/ftp
[root@localhost Packages]# chmod 777 -R /var/ftp/pub //放开FTP共享文件夹权限
[root@localhost Packages]# touch /var/ftp/pub/test.txt
[root@localhost Packages]# systemctl stop firewalld.service //停止防火墙
[root@localhost Packages]# systemctl disable firewalld.service //禁止防火墙自启动
[root@localhost Packages]# vim /etc/selinux/config //关闭selinux
[root@localhost Packages]#shutdown -r now //立即重启生效
测试上传文件和文件夹
项目二 禁止匿名登录,只能账号密码访问FTP文件夹
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
[root@localhost ~]# systemctl restart vsftpd.service
[root@localhost ~]# useradd user
[root@localhost ~]#passwd user //shell脚本用法 echo “user:passwd” |chpasswd
设置ftp账号的密码
[root@localhost ~]# chown user:user /home/user
本地测试:
先进入Packages里面,用rpm命令安装ftp软件包
[root@localhost ~]# ftp 本机静态IP
项目三:禁锢用户不能随意访问其他目录内容,只能在其主目录下。
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
[root@localhost ~]# systemctl restart vsftpd.service
本地测试:
[root@localhost ~]# ftp 本机静态IP
项目四:设置用户白名单/黑名单
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
[root@localhost ~]# systemctl restart vsftpd.service
[root@localhost ~]# vim /etc/vsftpd/user_list
只有文件/etc/vsftpd/user_list里的账号才能登录FTP服务器,没有在文件里的账号会被禁止登录。
本地测试:
[root@localhost ~]# ftp 本机静态IP
注意:
1.当userlist_enable=YES而userlist_deny=NO时,/etc/vsftpd/user_list为白名单;
2.当userlist_enable=YES和userlist_deny=YES时,/etc/vsftpd/user_list为黑名单。
增加防火墙FTP服务
[root@K404 Packages]# systemctl start firewalld [root@K404 Packages]# iptables -F [root@K404 Packages]# iptables -I INPUT -d 192.168.13.250 -j ACCEPT [root@K404 Packages]# iptables -I OUTPUT -s 192.168.13.250 -j ACCEPT [root@K404 Packages]# systemctl restart firewalld [root@K404 Packages]#firewall-cmd --permanent --add-service=ftp [root@K404 Packages]# systemctl restart firewalld