vsftp安装与配置

环境:
centos:7.2


一、安装
1.查看是否安装
rpm -qa |grep vsftpd
2.安装
   yum install -y vsftpd


2.防火墙:
查看防火墙服务状态
systemctl status firewall
查看防火墙的状态
firewall-cmd --state
查看防火墙规则
firewall-cmd --list-all 
关闭防火墙
service firewalld stop
systemctl disable firewalld.service #禁止firewall开机启动


二、修改配置文件
   vim  /etc/vsftpd/vsftpd.conf

   修改配置文件如下:
1.不允许匿名访问


anonymous_enable=NO
2.允许使用本地帐户进行FTP用户登录验证
local_enable=YES
3.使用户不能离开主目录(去除前面的注释,并在/etc/vsftpd/下创建文件chroot_list并添加指定用户)
当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
配置文件最后添加
allow_writeable_chroot=YES


要不然会报错


500 OOPS: vsftpd: refusing to run with writable root inside chroot()

如果/etc/vsftpd/chroot_list不存在,则需要创建该文件


vim /etc/vsftpd/chroot_list


systemctl restart vsftpd.service
出现问题:
ftp访问不成功。
查看端口 netstat -lnt
 
发现默认ip6的端口占用
解决方法:关闭ip6
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

修改/etc/vsftpd/vsftpd.conf
listen_ipv6=NO

listen = YES

重启电脑生效。

三、新建FTP用户
useradd -d /var/www/html -g ftp -s /sbin/nologin ftpuser
-d:指定用户登录时的起始目录
-s /sbin/nologin指定用户只能用于ftp登录,拒绝用户登录系统
    注意修改目录权限,否则仍然无法上传文件
修改该FTP用户密码
passwd ftpuser




问题:ftpuser登录ftp后上传文件或新建目录,如果出现“550 create directory operation failed”
是SELinux(Security-Enhanced Linux----是美国国家安全局对于强制访问控制的实现, 是Linux 上最杰出的新安全子系统.)安装机制搞的鬼.只要disable SELinux就可以了.


PS: 关闭SELinux方法
[root@CenOS ~]# vim /etc/selinux/config
将 SELINUX=XXX -->XXX 代表级别
改为
SELINUX=disabled
重启就OK了!

猜你喜欢

转载自blog.csdn.net/qq_39160721/article/details/80250975
今日推荐