vsftpd 虚拟用户 多用户管理

合集下载

建立多个虚拟用户支持ftp不同访问权限

建立多个虚拟用户支持ftp不同访问权限

建立多个虚拟用户支持ftp不同访问权限实验环境:公司最近上了一款游戏,当游戏客户端登录到服务器有补丁更新时,是通过ftp来更新数据.所以需要建立一个普通虚拟用户账号,用于客户端登录ftp服务器更新补丁用,此账号只支持下载权限.由于平时我们也要维护服务器后台上传数据,需要建立一个专用虚拟用户账号,此账号拥有所有权限.还要把上传数据发布到普通虚拟用户家目录下,提供下载!解决方案:1.创建用户数据库(1)创建用户文本文件先建立用户文本文件vsftpd_login.txt添加两个虚拟帐号,普通帐号public和专用帐号personal[root@red-hat-5 ~]#vi /etc/vsftpd/vsftpd_login.txtpublic 账号PUBLIC 密码personal 账号PERSONAL 密码(2)生成vsftpd的认证数据库[root@red-hat-5/]#db_load -T -t hash –f /etc/vsftpd/vsftpd_login.txt/etc/vsftpd/vsftpd_login.db要使用db_load这个命令,需要安装三个文件,db4-4.3.29-9.fc6.i386.rpmdb4-devel-4.3.29-9.fc6.i386.rpmdb4-utils-4.3.29-9.fc6.i386.rpm(3)修改数据库文件访问权限数据库文件中保存着虚拟帐号的密码信息,为了防止非法用户盗取哈,我们可以修改该文件的访问权限。

生成的认证文件的权限应设置为只对root用户可读可写,即600[root@red-hat-5 /]# chmod 600 /etc/vsftpd/vsftpd_login.db[root@red-hat-5 /]# ll /etc/vsftpd/vsftpd_login.db-rw------- 1 root root 12288 12-25 23:12 /etc/vsftpd/vsftpd_login.d2.配置PAM文件为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的PAM模块.PAM(Plugable Authentication Module)为可插拔认证模块,不必重新安装应用系统,通过修改指定的配置文件,调整对该程序的认证方式。

vsFTPd虚拟用户配置

vsFTPd虚拟用户配置

[root@dyzx ~]# vim /etc/vsftpd/vconfig/ftp //配置文件名与用户名同名
guest_username=ftpuser
//设置ftp对应的本地用户为ftpuser
anon_max_rate=50000
//限定传输速率为50KB/s
[root@dyzx ~]# vim /etc/vsftpd/vconfig/teacher //配置文件名与用户名同名
Preparing...
########################################### [100%]
1:db4-utils
########################################### [100%]
步骤3:使用db_load工具将列表文本文件转化为数据库文件
[root@dyzx ~]# chmod -R 555 /var/ftp/share/
[root@dyzx ~]# chmod -R 777 /var/ftp/teacherdir/
步骤6:建立支持虚拟用户vim /etc/pam.d/vuser.vu //配置文件的名称可以自行定义
max_clients=400
//设置FTP服务器最大接入客户端数为400个(需添加)
max_per_ip=10
//设置每个IP地址最大连接数为10个(需添加)
……
任务12-5 基于虚拟用户访问的FTP配置
• 步骤8:为虚拟用户ftp、techer建立各自独立的配置文件
[root@dyzx ~]# mkdir /etc/vsftpd/vconfig/
[root@dyzx ~]# rpm -ivh /mnt/Server/db4-utils-4.3.29-10.el5.i386.rpm

centos6.5vsftpd虚拟用户配置

centos6.5vsftpd虚拟用户配置

centos6.5vsftpd虚拟⽤户配置⼀:基本知识1:虚拟⽤户:与系统⽆关联,不能登⼊系统,只能访问FTP服务器2:vsftp的服务进程是vsftpd3:vsftpd的配置⽂件是/etc/vsftpd/vsftpd.conf .4:vsftpd的⽤户⽂件是/etc/vsftpd/ftpusers5:vsftpd的⽤户⽂件是/etc/vsftpd/user_list6:推荐使⽤虚拟⽤户登⼊vs-FTP服务器⼆:安装1.检查是否安装过vsftpdrpm -qa vsftpd安装:(1) yum -y install vsftpd lftp(2) 关闭iptables 和 selinux/etc/init.d/iptables stop临时关闭selinuxsetenforce 0永久性的关闭selinuxvim /etc/selinux/config修改为 ————》SELINUX=disabled(3) 创建虚拟⽤户⽂本⽂件,添加⽤户及密码cd /etc/vsftpdtouch vuser.txt备注:奇数⾏是⽤户名,偶数⾏是密码。

例如:alix123456(4) ⽣成虚拟数据库⽂件(需使⽤到db_load)yum -y install db4-utils db4-devel db4-4.3db-load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db(5) 配置PAM⽂件,⽤来验证客户端vim /etc/pam.d/vsftpdauth required pam_userdb.so db=/etc/vsftpd/vuseraccount required pam_userdb.so db=/etc/vsftpd/vuser(6)修改虚拟数据库⽂件的权限chmod 700 /etc/vsftpd/vuser.db(7) 增加⼀个系统⽤户vuser,⽤于匿名⽤户的映射。

vsftpd用户管理 简书

vsftpd用户管理 简书

vsftpd用户管理简书(原创实用版)目录一、vsftpd用户管理简介二、vsftpd的用户管理功能三、用户管理的配置和管理四、总结正文一、vsftpd用户管理简介vsftpd(Very Secure FTP Daemon)是一种常用的FTP服务器软件,用于在Linux系统中提供文件传输服务。

用户管理是vsftpd的重要功能之一,它允许管理员创建、删除、修改和授权用户访问FTP服务器。

二、vsftpd的用户管理功能1.创建用户:管理员可以使用vsftpd的命令行工具或图形界面工具创建新的FTP用户。

这些新用户将被赋予访问FTP服务器的权限。

2.修改用户信息:管理员可以通过vsftpd的用户管理功能修改用户名、密码、主目录和权限等个人信息。

3.删除用户:管理员可以删除不再需要的FTP用户,以减少安全隐患和管理成本。

4.授权访问:管理员可以使用vsftpd的用户管理功能授权用户访问特定的目录或文件。

三、用户管理的配置和管理1.配置文件:vsftpd的用户管理功能通过配置文件进行配置。

管理员可以在/etc/vsftpd.conf文件中修改相关设置。

2.口令管理:管理员可以使用vsftpd的命令行工具或图形界面工具管理用户的密码。

3.权限管理:管理员可以使用vsftpd的用户管理功能设置用户的访问权限,以确保安全性和合规性。

4.审计日志:vsftpd的用户管理功能可以记录用户的登录和操作信息,以便管理员进行审计和监控。

四、总结vsftpd的用户管理功能提供了丰富的选项,管理员可以根据需要创建、修改和删除用户,并授权他们访问FTP服务器。

linux下vsftpd虚拟用户创建与用户目录管理

linux下vsftpd虚拟用户创建与用户目录管理

linux下vsftpd虚拟用户创建与用户目录管理文档包含linux下vsftpd配置,MySql虚拟用户登录,用户文件夹自动创建与登录管理等各种问题,对细节有详细描述。

文档在opensuse32 64bit下亲测可用。

1.安装vsftpd以及pam-develzypper install vsftpdzypper install pam-devel2.安装mysql支持软件a)mysql有很多版本,在安装mysql前需要安装版本共享库zypper --force install MySQL-shared-compat-5.1.73-1.sles10.x86_64.rpmb)安装mysql-clientzypper se mysqlzypper install MySQL-client-community3.下载pam_mysql-0.7RC1并安装tar –xvf pam_mysql-0.7RC1.tar.gz./configure --with-opensslmakemake install安装完成后,pam_mysql.so会自动拷贝到/lib/security下pam的安装文件夹,如果不存在需要手动拷贝4.添加一个FTP用户,指定允许访问的根目录,创建文件夹,并指定权限useradd --home /data/ftp/vsftpd --gid nogroup -m --shell /bin/false vsftpdmkdir /data/ftpmkdir vsftpdmkdir userschown vsftpd:nogroup userschmod 777 users5.修改vsftpd.conf服务器要指定端口,在配置文件中需要指定端口和模式vi /etc/vsftpd.confanonymous_enable=YESlocal_enable=YESwrite_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESdirmessage_enable=YESdual_log_enable=YESvsftpd_log_file=/var/log/vsftpd.loguse_localtime=YESlisten=YESpam_service_name=/etc/pam.d/vsftpduser_config_dir=/etc/vsftpd/user_config_dirguest_enable=YESguest_username=vsftpdanon_umask=077anon_world_readable_only=NOwrite_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlisten_port=21virtual_use_local_privs=YESuser_sub_token=$USERlocal_root= /data/ftp/vsftpd/users/$USERchroot_local_user=YES6.修改/etc/pam.d/vsftpd,pam配置文件vi /etc/pam.d/vsftpd#@include common-account#@include common-session#@include common-auth#auth in MYSQLauth requisite /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=127.0.0.1:3306 db=ftp table=user usercolumn=userid passwdcolumn=pwd crypt=0 auth required /lib/security/pam_script.so onerr=success dir=/etc/pam-script#account in MYSQLaccount required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=127.0.0.1:3306 db=ftp table=user usercolumn=userid passwdcolumn=pwd crypt=0 7.Mysql添加访问权限GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON ftp.* TO 'vsftpd'@'127.0.0.1(vsftpd地址)' IDENTIFIED BY '123456';FLUSH PRIVILEGES;8.Pam_script安装a)解压与安装unzip pam-script-1.1.6.zipchmod +x ./configure/configure --prefix=/usr --libdir=/lib/security --sysconfdir=/etc/pam-script --mandir=/usr/share/manmakemake checkmake installb)修改运行脚本vi /etc/pam-script/pam_script_auth在文档的开始位置添加if [ ! -d "/data/ftp/vsftpd/users/$PAM_USER " ]; then/usr/bin/env mkdir /data/ftp/vsftpd/users/$PAM_USER/usr/bin/env chown vsftpd:nogroup /data/ftp/vsftpd/users/$PAM_USERfi9.启动FTP1-9步后FTP配置完成,service vsftpd start开启服务,如果启动失败,可能:a)vsftpd.conf配置有问题,配置文件中行尾部不能有空格b)ftp端口被其他占用netstat -nlp |grep LISTENc)防火墙设置service xinetd stopiptables -A INPUT -p tcp --dport 8000:8002 -j ACCEPTiptables -A OUTPUT -p tcp --sport 8000:8002 -j ACCEPT如果还是不起作用,修改配置文件添加ip_conntrack_ftp、modprobe ip_nat_ftp 模块。

suse系统vsftpd虚拟用户配置手册

suse系统vsftpd虚拟用户配置手册

Suse linux 11建立Vsftpd虚拟用户我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。

匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。

本地用户登录:使用系统用户登录,在/etc/passwd中。

虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。

FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。

本文实验的Linux系统是SuseLinux一、本地数据文件方式1. 添加虚拟用户口令文件[root@SuseLinux /]#mkdir /etc/vsftpd[root@SuseLinux /]#vi /etc/vsftpd/vftpuser.txt添加虚拟用户名和密码,一行用户名,一行密码,以此类推。

奇数行为用户名,偶数行为密码。

ipmsIPms!23$xdrdownloadXdrd!23$2. 生成虚拟用户口令认证文件将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。

首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。

[root@SuseLinux /]#rpm –qa |grep db4-utils[root@SuseLinux /]#rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm下面使用db_load命令生成虚拟用户口令认证文件。

[root@SuseLinux /]#db_load –T –t hash –f /etc/vsftpd/vftpuser.txt/etc/vsftpd/vftpuser.db3. 编辑vsftpd的PAM认证文件在/etc/pam.d目录下,[root@SuseLinux /]#cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_20160303bak [root@SuseLinux /]#vi /etc/pam.d/vsftpd将里面其他的都注释掉,添加下面这两行(注意系统是32位还是64位的):auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser4. 建立本地映射用户并设置宿主目录权限所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。

VSFTPD配置(匿名——本地用户——虚拟用户)

VSFTPD配置(匿名——本地用户——虚拟用户)

VSFTPD配置(匿名——本地⽤户——虚拟⽤户)1,下载VSFTPD.TAR.GZ程序下载地址:ftp:///users/cevans/2,检查和建⽴相应账户和⽬录1,nobody⽤户[root@main vsftpd-2.1.0]# cat /etc/passwd |grep nobodynobody:x:99:99:Nobody:/:/sbin/nologin如不存在请建⽴相关账户。

2,/usr/share/empty ⽬录,如不存在请创建3,如允许匿名访问,需创建Ftp⽤户,家⽬录为/var/ftp(⼀般ftp⽤户存在⽽家⽬录不存在)[root@main vsftpd-2.1.0]# mkdir /var/ftp/[root@main vsftpd-2.1.0]# chown root.root /var/ftp[root@main vsftpd-2.1.0]# chmod 755 /var/ftp3,解压、编译、安装程序(其实vsftpd⽤rpm和⽤源码安装差不多,编译安装反⽽不⽅便,推荐各位RPM安装,呵呵)[root@main ~]# tar xzfv vsftpd-2.1.0.tar.gz[root@main ~]# cd vsftpd-2.1.0[root@main vsftpd-2.1.0]# make && make install4,复制相关⽂件如果是⽤RPM安装,可能会和源码安装的⽂件路径略有不同,如/etc/vsftpd.conf变成了/etc/vsftpd/vsftpd.conf,这类变动请⾃⾏ find相关⽂件。

主配置⽂件[root@main vsftpd-2.1.0]# cp vsftpd.conf /etc/vsftpd.confPAM⾝份验证⽤⽂件[root@main vsftpd-2.1.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp5,配置vsftpd.conf启⽤/禁⽌匿名⽤户访问。

vsftpd用户管理 简书

vsftpd用户管理 简书

vsftpd用户管理简书vsftpd是一种常用的FTP服务器软件,用于在Linux系统上搭建FTP服务器。

用户管理是在vsftpd中非常重要的一部分,它涉及到用户的创建、权限设置、访问控制等方面。

下面我将从多个角度来全面回答关于vsftpd用户管理的问题。

1. 用户的创建和删除:在vsftpd中,可以使用系统自带的用户管理工具(如useradd、userdel)来创建和删除用户。

首先,你需要使用以下命令创建一个系统用户:sudo useradd -m username.其中,`username`是你要创建的用户名。

这个命令会在系统中创建一个与用户名相对应的用户,并为其分配一个家目录。

如果你想删除一个用户,可以使用以下命令:sudo userdel -r username.这个命令会删除指定的用户,并同时删除其家目录。

2. 用户的权限设置:在vsftpd中,用户的权限设置非常重要,它决定了用户在FTP 服务器上的操作权限。

vsftpd使用一个名为`/etc/vsftpd.conf`的配置文件来管理用户权限。

你可以编辑这个文件,找到并修改以下两个参数来设置用户的权限:write_enable=YES.local_umask=022。

将`write_enable`设置为`YES`表示允许用户上传和修改文件,将`local_umask`设置为`022`表示新建的文件和目录的默认权限为755。

3. 用户的访问控制:在vsftpd中,你可以通过配置文件来控制用户的访问权限。

你可以使用以下参数来实现访问控制:userlist_enable=YES.userlist_file=/etc/erlist.userlist_deny=NO.将`userlist_enable`设置为`YES`表示启用用户列表功能,`userlist_file`指定了一个包含允许访问FTP服务器的用户名列表的文件路径,`userlist_deny`设置为`NO`表示允许列表中的用户访问FTP服务器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

vsftpd 虚拟用户多用户管理
1.需要建立一个用户,这个用户是linux系统的本地用户,各ftp帐号使用它和vsftpd的配合间接存取服务器文件。

groupadd virtual
useradd -g virtual vuser
2.建立ftp用户帐号列表子文件logins.txt
anvycn
test0
dym529
test1
admin
test2
用户名和密码依次隔开
#db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
(没有db_load yum install db4-utils)
无论你在什么地方执行的,无论你的文件生成在哪里,请记住你
vsftpd_login.db的地址,另外建议删除logins.txt
3.建立vsftpd的pam_service文件,注意这里的db=path
#vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
(如果是64位的linux系统就要用下面的配置)
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd_login account required /lib64/security/pam_userdb.so db=/etc/vsftpd_login)
:qw保存
4.设置用户权限
建立用来存放用户权限设置文件的目录
#mkdir /etc/vsftpd/virtual
并在该文件夹下依次建立与logins.txt对应的帐号名称相同的文件
如:
[anvycn]仅仅允许下载
anon_world_readable_only=NO
local_root=/usr/local/apache/htdocs/anvy_test/
[dym529]允许建立,修改,但是不允许删除
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
local_root=/usr/local/apache/htdocs/dym_test/
[admin]全部权限
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/usr/local/apache/htdocs/
#local_umask=022
#file_open_mode=0755
5.设置vsftpd.conf
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
#vi /etc/vsftpd/vsftpd.conf
修改内容如下
listen=YES
#listen_port=10021
connect_from_port_20=YES
ftpd_banner=Welcome to FTP service.
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=vuser
pasv_min_port=30000
pasv_max_port=30999
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/virtual
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
virtual_use_local_privs 设置为 YES 时,虚拟用户使用与本地用户相同权限,设置为 NO 时,虚拟用户使用与匿名用户相同权限
virtual_use_local_privs=YES
6.重新启动vsftpd
#/sbin/service vsftpd restartp
反复2次,确认shutdown和start都是OK,如有错误,反复检查以上步骤
7.如有用户出现不能登入,目录意外拒绝现象,请检查目录是否存在,
pam.d/vsftpd.vu是否无误,重要的是
#ls -l 你的ftp根目录查看owner是否属于 vuser:virtual,如果不是
#chown -R vuser:virtual 你的ftp根目录
8.日常维护
壹。

#db_load -T -t hash -f ./logins.txt ./vsftpd_login.db 更新帐号贰。

更新vsftpd/virtual/下对应的权限
叁。

/sbin/service vsftpd restart
如果开的防火墙的话,登陆ftp的时候可能会出新“500 OOPS: cannot change directory:/home/ vuser”
解决方法:
在终端输入命令:
setsebool ftpd_disable_trans 1
service vsftpd restart这是SELinux的设置命令.
其实 man 一下setsebool也知道了:
setsebool - set SELinux boolean value
在不熟悉SELnux前,把SELinux关掉也可以的。

在想用SELinux但是又不熟悉的情况下可以把SELinux设置成Permissive,表示SELinux规则启动,但只是把违规的记录到log中。

相关文档
最新文档