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

一、首先,查看是否安装vsftpd 

没有,则安装

yum -y install vsftpd

二、建立虚拟用户登陆管理ftp

vsftpd的用户分3种,都是可以登陆ftp的,一个是匿名用户,一个是本地用户和一个是虚拟用户。当我们要开放用户管理的时候,推荐使用虚拟用户。

(1)首先,看看vsftpd中我们需要作出怎样的配

Vi  /etc/vsftpd/vsftpd.conf

为了支持虚拟用户的配置,在vsftpd.conf中我们需要更改以下配置项:

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服务文件(配置文件名=虚拟用户名)

创建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

linux下安装vsftp服务和设置虚拟用户访问_第1张图片

其中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里面的账户名,否则下面设置无效
内容如下:

linux下安装vsftp服务和设置虚拟用户访问_第2张图片

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时,虚拟用户只能下载、删除和重命名文件,无其他权限。

三、启动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:

1、临时关闭(不用重启机器):

setenforce 0                  ##设置SELinux 成为permissive模式

                              ##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

最后,访问成功

linux下安装vsftp服务和设置虚拟用户访问_第3张图片

 






























你可能感兴趣的:(linux,ftp,vsftpd,文件共享,虚拟用户)