1、首先,查看是否安装vsftpd linux
没有,则安装ide
yum -y install vsftpd工具
2、创建虚拟用户登录管理ftpui
vsftpd的用户分3种,都是能够登录ftp的,一个是匿名用户,一个是本地用户和一个是虚拟用户。当咱们要开放用户管理的时候,推荐使用虚拟用户。spa
(1)首先,看看vsftpd中咱们须要做出怎样的配rest
Vi /etc/vsftpd/vsftpd.conf日志
为了支持虚拟用户的配置,在vsftpd.conf中咱们须要更改如下配置项:ci
anonymous_enable=NO 设定不容许匿名访问
local_enable=YES 设定本地用户能够访问。
chroot_list_enable=YES 使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log 设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必需要手动touch出来
ascii_upload_enable=YES
ascii_download_enable=YES 设定支持ASCII模式的上传和下载功能。
pam_service_name=vsftpd PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证权限控制
guest_enable=YES 设定启用虚拟用户功能。
guest_username=ftp 指定虚拟用户的宿主用户。-默认已经有内置的ftp用户了(可换成其余本地帐号)
user_config_dir=/etc/vsftpd/vuser_conf 设定虚拟用户我的vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)hash
建立chroot list,将用户ftp加入其中:
touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_list
(2)进行认证:
首先,建立用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
命令:vi /etc/vsftpd/vuser_passwd.txt
其中wenan是高级帐号,wenan_m是中级,wenan_l是低级,其他部门相似。
接着,.生成虚拟用户认证的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
若是没安装Berkeley DB工具,运行命令安装
随后,编辑认证文件/etc/pam.d/vsftpd,所有注释掉原来语句
再增长如下两句
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最后,建立虚拟用户个性FTP服务文件(以wenan高级帐号为例)
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/wenan(注:文件名等于vuser_passwd.txt里面的帐户名,不然下面设置无效)
内容以下:
local_root=/var/www/wenan 虚拟用户(文案部门对应)的根目录
write_enable=YES 可写
anon_umask=022 掩码
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
以上是高级帐号的配置,其余权限根据须要可自行修改
------------------------------------------------------------------------------------------------
(3)Ps用户权限控制的一些配置
当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。
当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具备写权限(上传、下载、删除、重命名)。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其余权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO时,虚拟用户只能下载文件,无其余权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其余权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和建立文件夹,无其余权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其余权限。
3、启动vsftp
service vsftpd start 开启命令
service vsftpd restart 重启
service vsftpd stop 中止
(注意,启动前记得关门selinux或者解除selinux阻止)
解除selinux阻止
setsebool -P ftpd_disable_trans 1
查看selinux状态
/usr/sbin/sestatus -v
关闭SELinux:
一、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
二、修改配置文件须要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改成SELINUX=disabled
最后,访问成功