vsftp建立虚拟用户不同目录分配不同权限操作步骤详解

vsftpd服务器同时支持匿名用户、本地用户和虚拟用户三类用户账号,使用虚拟用户账号可以提供集中管理的FTP根目录,方便了管理员的管理,同时将用于FTP登录的用户名、密码与系统用户账号区别开,进一步增强了FTP服务器的安全性。

1、在/etc/vsftpd/vsftpd.conf加入或者更改以下配置语句:

*********************************************************************************************************************

注意在vsftpd.conf中加分割文件 :user_config_dir=/etc/vsftpd

在/etc/vsftpd建同名用户,,并在其中写以下内容(只能上传)

write_enable=YES
cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RNFR,RNTO,SIZE,STOR,TYPE,USER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT
file_open_mode=0444

**************************************************************************************************************************

复制代码代码如下:

anonymous_enable=NO (当然你也可以设成YES,同时允许匿名用户登陆)
local_enable=YES (必须置YES,因为虚拟用户是映射到virtual这个本地用户来访问的)
guest_enable=YES(启用虚拟用户)
guest_username=virtual(第5步中创建,将虚拟用户映射为本地virtual用户)
pam_service_name=vsftpd.vu(第2步中创建,指定PAM配置文件,文件已经在/etc/pam.d/存在)
user_config_dir=/etc/vsftpd/user_conf(第7,8步中创建,指定不同虚拟用户配置文件的存放路径)

2、在/etc/pam.d/中修改文件vsftpd.vu, 对比修改内容:

复制代码代码如下:

auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login     
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login

(/etc/vsftpd/vsftpd_login 在第3,4步中创建,用户账号密码数据库文件)

3、建立用户列表/tmp/logins.txt 内容如下

复制代码代码如下:

web (帐号)
****** (用户密码)
download (帐号)
******* (用户密码)
admin (帐号)
******* (用户密码)

注意:不要有空行,一行账号 一行密码;奇数行为帐号,偶数行为密码

4、建立访问者数据文件(如果没有可以安装:yum install db4-utils)
#db_load -T -t hash -f /tmp/logins.txt /etc/vsftpd/vsftpd_login.db

5、建立本地虚拟用户:

复制代码代码如下:

#useradd -d /home/ftp -s /sbin/nologin virtual

6、在/home/ftp/创建目录并改变其属性和它的宿主

复制代码代码如下:

#chown virtual /home/ftp
#chmod 700 /home/ftp

7、创建ftp用户配制文件目录:/etc/vsftpd/user_conf

复制代码代码如下:

#mkdir /etc/vsftpd/user_conf

8、在/etc/vsftpd/user_conf目录中创建以用户名命名的配置文件web、download、admin

“download”文件内容如下:

复制代码代码如下:

local_root=/home/ftp (当然,你高兴也可以设置成其它,但要注意virtual用户对此目录的权限)
anon_world_readable_only=NO (使download用户的能下载,也只能下载;写成YES,将不能列出文件和目录)

“admin”文件内容如下:

复制代码代码如下:

local_root=/home/ftp
anon_world_readable_only=NO
write_enable=YES (写权限)
anon_mkdir_write_enable=YES (新建目录权限)
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)

“web”文件内容如下:

复制代码代码如下:

local_root=/var/www
anon_world_readable_only=NO
anon_umask=022 (由于web页面的特殊性,故单独设置上传文件权限为755,此掩码值可根据具体情况更改)
write_enable=YES (写权限)
anon_mkdir_write_enable=YES (新建目录权限)
anon_upload_enable=YES(上传权限)
anon_other_write_enable=YES(删除/重命名的权限)

9、最后,重新启动VSFTPD

复制代码代码如下:

#/etc/init.d/vsftpd restart

时间: 2024-10-02 23:20:48

vsftp建立虚拟用户不同目录分配不同权限操作步骤详解的相关文章

vsftp 使用虚拟用户

配置的思路:使用帐号和密码登录FTP服务器,每个用户只能登录到自己用户名的目录中,可以增删改查文件. -- 使用VSFTP的虚拟用户和chroot目录的配置. 安装vsftp.使用pam管理vsftp的虚拟用户. 因为是使用vsftpd的虚拟用户,所以我们需要先在系统中创建一个用户,并且该用户对/ftp目录具有可读可写可执行权限. 在iptables中开放20.21.被动模式端口范围,并加载FTP驱动模块 modprobe ip_nat_ftp modprobe ip_conntrack_ftp

CentOS平台部署vsftp(基于虚拟用户)

1. 安装FTP 1 2 [[email protected] ~]# yum install vsftpd –y [[email protected] ~]# chkconfig vsftpd on          # 配置开机启动 2. 配置ftp(修改主配置文件) 1 2 3 4 5 6 7 8 9 10 11 12 [[email protected] ~]# cd /etc/vsftpd/ [[email protected] vsftpd]# vim vsftpd.conf ano

CentOS 6.3下安装Vsftp,虚拟用户

CentOS 6.3下安装Vsftp,虚拟用户一.安装:1.安装Vsftpd服务相关部件:[[email protected] ~]# yum install vsftpd*Dependencies Resolved============================================================================= Package                 Arch       Version          Repository  

ubuntu server vsftpd 虚拟用户及目录

ubuntu server vsftpd 虚拟用户及目录 一:需求场景: 在ubuntu server上开设一个虚拟网站,在网站目录建立一个ftp目录,允许用户通过ftp上传网站文件到网站目录: 同时,该ftp用户,只能用于ftp操作,不能用于登陆ubuntu server 二:配置 1:先建立虚拟网站: 同样先创建apache2 网站配置文件,然后启用站点: 比如这里我的测试 网站 :www.cocoa.com 内网访问 站点: 网站目录在:/var/www/cocoa/web 在该目录下,建

VSFTP的虚拟用户配置方法

1.建立虚拟用户口令库文件 口令库文件中奇数行设置用户名,偶数行设置口令 # vi /etc/vsftpd/ftpuser.txt ftpaaa 123456 ftpbbb 123456 2.生成vsftpd的认证文件 安装名叫"db4-utils-..."的包 # db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/ftplogin.db 注:如果没有db_load命令,请安装db4-utils-*相关rpm包. 设置认证

CentOS 7.0安装配置Vsftp服务器步骤详解

安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止

C++ 内存分配(new,operator new)详解

参考:C++ 内存分配(new,operator new)详解 如何限制对象只能建立在堆上或者栈上 new运算符和operator new() new:指我们在C++里通常用到的运算符,比如A* a = new A;  对于new来说,有new和::new之分,前者位于std operator new():指对new的重载形式,它是一个函数,并不是运算符.对于operator new来说,分为全局重载和类重载,全局重载是void* ::operator new(size_t size),在类中重

php目录操作函数详解

<?php header('content-type:text/html;charset=utf-8;'); #目录操作函数详解 // 1.getcwd(oid):若成功返回当前目录,否则返回false echo '<hr>1.getcwd():<br>'; echo getcwd(); // 2.chdir():函数把当前的目录改变为指定的目录 // chroot():函数把当前进程的根目录改为指定的目录 echo '<hr>2.chdir():<br&g

Linux系统学习 十九、VSFTP服务—虚拟用户访问—为每个虚拟用户建立自己的配置文件,单独定义权限

为每个虚拟用户建立自己的配置文件,单独定义权限 可以给每个虚拟用户单独建立目录,并建立自己的配置文件.这样方便单独配置权限,并可以单独指定上传目录 1.修改配置文件 vi /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/vusers_dir    #指定保存虚拟用户配置文件的目录 2.建立目录 3.为每个虚拟用户建立配置文件 vi /etc/vsftpd/vusers_dir/cangls anon_upload_enable=YES an