> CentOS > CentOS教程 >

centos7下简单配置vsftpd服务

一、关闭 sellinux
 
查看SELinux状态:
 
 
1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态SELinux status:                 enabled
关闭SELinux:
 
 
1、临时关闭(不用重启机器):
setenforce 0                  ##设置SELinux 成为permissive模式
                              ##setenforce 1 设置SELinux 成为enforcing模式
 
 
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可,不关闭SELinux 会出些乱七八糟的问题,例如530 login incorrect,路径转换失败,文件夹不显示,无法上传的问题。暂时没研究如何设置SELinux,干脆关闭了事。
 
 
二、防火墙增加端口配置
 
vi /etc/sysconfig/iptables
 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:30999 -j ACCEPT
重启防火墙
 
 
 
 
三、安装vsftpd
 
yum –y install vsftpd
systemctl start vsftpd
vi /etc/vsftpd/vsftpd.conf
添加
 
allow_writeable_chroot=YES
pasv_min_port=30000
pasv_max_port=30999
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user1_list
 
修改:
 
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd/chroot_list
那么, 凡是加在文件chroot_list中的用户都是不受限止的用户
即, 可以浏览其主目录的上级目录.
 
注:
所以, 如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置, 然后在
文件chroot_list中不添加该用户即可(此时, 在该文件中的用户都是可以浏览其主目录之外的目录的).
 
或者, 设置如下
 
chroot_local_user=NO
chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd/chroot_list
 
然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件chroot_list(此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的)
中即可(一行一个用户名)
 
四建立FTP账户
首先自己建个FTP目录,或者选定已经存在的目录
再建FTP账户,同时设置主目录只允许FTP,不允许系统登录
 
useradd username -s/sbin/nologin –d /var/www/html/
vi /etc/passwd 可以看到新建的账号
 
passwd username 设置密码
vi /etc/passwd 看下结果是否正确
 
usermod -d /new/home_dir -U username 命令就可以更改用户的宿主目录
设置目录权限
chmod –R 755 /FTP修改FTP目录及子目录权限
修改所属用户
 
chown gamer gstore         改变gstore目录
chown -R gamer gstore         改变gstore目录及子目录
修改所属用户组
 
chown :ftp gstore    改变gstore目录
chown -R :ftp  gstore  改变gstore目录及子目录
将username 加到user1_list文件
(责任编辑:IT)