linux下安装vsftp服务和设置虚拟用户访问

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      设定虚拟用户我的vsftpCentOS 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

最后,访问成功

相关文章
相关标签/搜索