linuxFTP创建虚拟用户
vsftpd下(FTP)建立虚拟用户的添加基于Centos系列Linux
本人技术有限,是根据网上搜索修改后这样操作下来的是可以实现的,如有不妥之处望指正---作者:宗国锋---如有转载请著名出处,谢谢系统环境Centos5装包(用rpm包安装也可以)[root@localhost ~]yum -y install vsftpd[root@localhost ~]yum -y install db4-utils#添加虚拟的用户帐户![root@localhost ~]cd /tmp[root@localhost ~]vi ftpuser_listzongguofengguofeng[root@localhost ~]rm -rf /etc/vsftpd_login.db //注释此文件可能不存在,首次建立的时候是不存在的不需要删除[root@localhost ~]# db_load -T -t hash -f /tmp/ftpuser_list /etc/vsftpd_lo gin.db[root@localhost ~]chmod 600 /etc/vsftpd_login.db[root@localhost ~]vi /etc/pam.d/ftp.vuauth required /lib/security/pam_userdb.so db=/etc/vsftpd_loginaccount required /lib/security/pam_userdb.so db=/etc/vsftpd_login#添加本地计算机用户名和密码;[root@localhost ~]useradd -d /ftp -s /sbin/nologin vsftp[root@localhost ~]chown -R vsftp.vsftp /ftp[root@localhost ~]touch /tmp/new_ftppwd[root@localhost ~]echo "vsftp:password" >/tmp/new_ftppwd[root@localhost ~]chpasswd < /tmp/new_ftppwd#配置vsftpd.conf全局设置:[root@localhost ~]cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak.00 然后编辑配置文件写入如下内容直接执行即可![root@localhost ~]echo "anonymous_enable=NOanonymous_enable=NO#本地帐户配置!local_enable=YESlocal_umask=022dirmessage_enable=YESconnect_from_port_20=YES#启用来宾帐号,也就是虚拟用户使用的帐号的权限用户。
Linux建立基于用户与虚拟用户的vsftp服务详解
构建vsftp服务器前言:下面讲述如何设置vsftp服务器实现不同的验证方式登录FTP!现实中根据实际情况选择适合的方法搭建FTP服务。
这里我用的Linux版本是RHEL5。
1.首先要检查是否安装服务。
(安装了便显示安装版本。
)没安装显示如下:2.若没有放入光盘挂载。
(挂载成功如下:)3.安装服务。
4.下面首先建立一个匿名的FTP访问。
在RHEL5(Linux系统的一个版本)中,匿名用户对应帐号是ftp,其宿主目录为“/var/ftp/”,该目录便是匿名访问vsftp服务时的根目录。
5.将上面的根目录中的pub子目录的属主修改为ftp,并保留可写权限,以提供给匿名用户上传文件使用。
6.修改vsftpd.conf配置文件,开放匿名用户访问、上传许可。
用vim/etc/vsftpd/vsftpd.conf打开配置文件。
修改如下:7.启动服务,匿名访问搭建完成。
8.客户端验证访问(这里我用的是XP客户端)。
9.接着配置一个本地用户访问FTP。
提供基于登录名/密码的登录验证。
本地用户登录默认位于自己的宿主目录下,且允许切换其它目录。
使用chroot_local_user配置项可以将本地用户禁锢在宿主目录里,使用local_root配置项可以将本地用户的FTP 根目录设置为同一个文件夹。
10.添加FTP测试用户(即本地用户)。
11.修改vsftp.conf配置文件,开放本地用户。
修改如下:12.重新启动服务:执行“service vsftpd restart”命令。
13.客户端验证登录FTP。
(这里用的是XP客户端,登录进去成功!)14.最后建立基于虚拟用户的vsftpd服务。
Vsftpd服务的虚拟用户数据库是使用BerKeley DB 格式的数据文件。
建立该数据库文件需要用到db_load命令工具,从系统光盘中安装db4-utils-4.3.29-9.fc6.i386.rpm软件包后可获得该工具。
15.首先建立文本格式的用户名/密码列表文件,奇数行为用户名,偶数行为上一行中的用户所对应的密码。
建立多个虚拟用户支持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)为可插拔认证模块,不必重新安装应用系统,通过修改指定的配置文件,调整对该程序的认证方式。
Linux FTP虚拟用户
虚拟用户是FTP专有用户,使用虚拟用户登录FTP只能访问FTP服务器提供的资源,大大增强了系统的安全,即这些用户名并不在FTP服务器本地存在(即不能用这些用户名登录到服务器中,而只能登录到FTP)。
有两种方式可以实现虚拟用户:本地数据文件和数据库服务器。
在此只介绍使用本地数据文件方式创建虚拟用户的方法。
使用本地数据文件创建虚拟用户的步骤如下:⑴建立虚拟用户口令文件。
⑵生成vsftpd的认证文件。
⑶建立虚拟用户所需的PAM配置文件。
⑷建立虚拟用户访问所需要的目录。
⑸修改vsftpd.conf配置文件。
(1)建立用户口令文件使用vi命令创建用户口令文件,该文件是一个文本文件,其中的奇数行为用户名,偶数行为用户密码,文件名可以任意。
如,使用以下命令:vi login.txt创建一个login.t xt文件,文件的内容如下所示。
(2)生成口令认证文件接下来要使用db_load命令来创建口令库文件。
(db_load命令需要linux安装db4-utils-***包,安装盘server目录下有,用rpm –qa |grep db4检查是否有安装) db_load –T –t hash –f ~/login.txt /etc/vsftpd/vsftpd_login.db通过以上命令可以在/etc/vsftpd/目录中创建vsftpd_login.db库文件(口令认证文件)。
接着使用以下命令设置该库文件的权限:chmod 600 /etc/vsftpd/vsftpd_login.db(3)建立配置文件进入/etc/pam.d/中创建vsftpd.v在此文件中添加如下信息auth required /lib/security/pam_userdb.so db=/etc/ vsftpd/vsftpd_loginaccount required /lib/security/pam_userdb.so db=/etc/ vsftpd/vsftpd_login(4)建立虚拟用户目录建立好虚拟用户的PAM口令认证文件后,接下来还要创建虚拟用户的工作环境,在FTP服务器上创建一个用户,用来映射所有的虚拟用户,具体命令如下:useradd –d /var/ftp –s /sbin/nologin vftp在/var/ftp/创建目录并改变其属性和它的属主useradd -d /var/ftp/test vftpchmod 700 /var/ftp/test在目录中添加test_file测试文件(5) 修改vsftpd.conf配置文件Listen_yesAnonymous_enable=noLocal_enable=yesWrite_enable=noAnon_upload_enable=noAnon_mkdir_write_enable=noAnon_other_write_enable=noChroot_local_user=yesGuest_enable=yes----------起用虚拟用户Guest_username=vftp-----将虚拟用户映射为本地用户Listen_port=5555Max_client=10Max_per_ip=1Ftpd_banner=this is a virtual server and usersPam_service_name=ftp.v注:在主配置文件中给的权限越低,在后面分用户管理的时候对拥护的权限划分的空间就越大,因为主配置文件最高的限制服务先读主配置文件,然后再读用户的配置文件。
02 Linux 配置vsftpd虚拟FTPyonghu
a,建立虚拟用户口令库文件。
[root@localhost ~]# cat logins.txtmike123john321口令库文件中奇数行设置用户名,偶数行设置口令。
b,生成vsftpd的认证文件(在第3张光盘中安装)。
[root@localhost RPMS]# rpm -ivh db4-utils-4.2.52-7.1.i386.rpmwarning: db4-utils-4.2.52-7.1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60ePreparing... ########################################### [100%]1:db4-utils ########################################### [100%][root@localhost RPMS]# db_load -T -t hash -f /root/logins.txt /etc/vsftpd/vsftpd_login.db 生成认证文件。
c, 设置认证文件只对用户可读可写。
# chmod 600 /etc/vsftpd/vsftpd_login.dbd,建立虚拟用户所需的PAM配置文件。
手工建立vsftpd.vu文件。
# cat /etc/pam.d/vsftpd.vuauth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_logine,建立虚拟用户及要访问的目录并设置相应的权限。
建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号宿主目录的权限。
# useradd -d /home/ftpsite virtual# chmod 700 /home/ftpsitef,设置vsftpd.conf配置文件。
Linux(Centos)配置vsftp使用账号密码(虚拟用户)登录ftp进行文件上传和修改
Linux(Centos)配置vsftp使⽤账号密码(虚拟⽤户)登录ftp进⾏⽂件上传和修改安装vsftpyum install vsftpd -y安装完成之后进⼊vsftp的配置⽂件夹cd /etc/vsftpd/⽂件夹内容如下[root@VM-0-12-centos vsftpd]# lltotal 20-rw------- 1 root root 125 Oct 1400:10 ftpusers-rw------- 1 root root 361 Oct 1400:10 user_list-rw------- 1 root root 5116 Oct 1400:10 vsftpd.conf-rwxr--r-- 1 root root 338 Oct 1400:10 vsftpd_conf_migrate.sh在当前⽬录下创建⼀个⽤户名和密码的⽂件⽂件名名称为 ftp_user.txtvim /etc/vsftpd/ftp_user.txt再ftp_user.txt⽂件⾥配置⽤户和密码yvioo123456kaifa12345678其中yvioo 是ftp登录的⽤户名123456 是ftp中yvioo⽤户登录的密码kaifa 是ftp登录的⽤户名12345678 是ftp中kaifa⽤户登录的密码以此内推,可以添加多个然后保存退出wq!执⾏命令⽣成虚拟数据库db_load -T -t hash -f /etc/vsftpd/ftp_user.txt /etc/vsftpd/ftp_login.db其中/etc/vsftpd/ftp_user.txt 是上⾯存放⽤户名和密码⽂件的绝对路径/etc/vsftpd/ftp_login.db 这个是⽣成的数据库的路径数据库名称为 ftp_login.db设置⽣成的数据库的访问权限chmod 777 /etc/vsftpd/ftp_login.db编辑账号的pam验证⽂件vim /etc/pam.d/vsftpd在最上⽅增加auth sufficient pam_userdb.so db=/etc/vsftpd/ftp_loginaccount sufficient pam_userdb.so db=/etc/vsftpd/ftp_login其中db=/etc/vsftpd/ftp_login 这个就是上⼀步⽣成的虚拟数据库(⽂件名称根据⾃⼰的来),注意:这⾥不⽤加 .db 后缀如下图所⽰创建⼀个⽂件夹mkdir /home/vsftpd新建⼀个系统⽤户vsftpd⽤户登录终端设为/bin/false(即不能登录系统)useradd vsftpd -d /home/vsftpd -s /bin/false其中vsftpd 这个就是创建的⽤户的⽤户名(这个下⾯配置⽂件⾥会使⽤)/home/vsftpd 就是刚才创建的⽂件夹根据需要创建修改/etc/vsftpd/vsftpd.conf,以下设置vim /etc/vsftpd/vsftpd.conf修改配置#禁⽤匿名登⼊anonymous_enable=YES 改为 anonymous_enable=NO#监听为专⽤模式listen=NO 改为 listen=YES#将ipv6监听注释掉listen_ipv6=YES 改为 #listen_ipv6=YES在配置⽂件底部增加#对⽤户访问只限制在主⽬录不能访问其他⽬录(这个已经有了但是默认是注释的可以取消注释或者直接新增)chroot_local_user=YES#启⽤guestguest_enable=YES#使⽤虚拟账号形式(vsftpd 就是我们上⾯创建的⽤户的⽤户名)guest_username=vsftpd#虚拟账号配置⽬录(这个还没创建我们下⾯再进⾏创建,先这样写)user_config_dir=/etc/vsftpd/user_conf#对vsftpd的⽤户使⽤pam认证(这个就是我们上⾯改的pam验证⽂件的⽂件名,这个默认已经有了,所以不⽤添加,没有的话再添加)pam_service_name=vsftpd#允许本地⽤户登录(这个默认的也有了,没有的话添加上)local_enable=YES然后保存退出接着创建虚拟账号配置⽬录mkdir /etc/vsftpd/user_conf进⼊⽂件夹cd /etc/vsftpd/user_conf/创建⽂件vim /etc/vsftpd/user_config/yvioo其中yvioo 就是我们上⾯ftp_user.txt中配置的ftp的账号的⽤户名(这⾥创建的⽂件名要对应上,如果有多个ftp⽤户就创建多个ftp⽂件对应的⽤户名⽂件,然后在⾥⾯设置权限即可)然后添加write_enable=YESanon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESlocal_root=/data/www说明如下#是否允许登陆⽤户有写权限。
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 模块。
Linux的FTP的三种登录方式:剖析
Linux的FTP的三种登录方式:我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。
匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
本地用户登录:使用系统用户登录,在/etc/passwd中。
虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。
FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。
本文实验的Linux系统是CentOS 5 update2一、本地数据文件方式1.添加虚拟用户口令文件[root@CentOS5 /]#vi /etc/vsftpd/vftpuser.txt添加虚拟用户名和密码,一行用户名,一行密码,以此类推。
奇数行为用户名,偶数行为密码。
将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。
首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。
[root@CentOS5 /]#rpm –qa |grep db4-utils[root@CentOS5 /]#rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm下面使用db_load命令生成虚拟用户口令认证文件。
[root@CentOS5 /]#db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db3.编辑vsftpd的PAM认证文件在/etc/pam.d目录下,[root@CentOS5 /]#vi /etc/pam.d/vsftpd将里面其他的都注释掉,添加下面这两行:auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuseraccount required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser4.建立本地映射用户并设置宿主目录权限所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
Red Hat Enterprise Linux Vsftp的配置及虚拟用户的创建
Vsftp的配置及虚拟用户的创建1、安装vsftpd和db4-ulis#rpm –ivh vsftp*#rpm –ivh db4-ulis*2、创建匿名用户的主目录:#mkdir /var/frp/anno3、创建本地用户#useradd –s /sbin/nologin abc#passwd abc#chown abc /var/ftp/anno4、配置ftp的主配置文件#vim /etc/vsftpd/vsftpd.conf将其改为:5、启动ftp服务#service vsftpd start6、限制本地用户的主目录。
更改主配置文件,找到chroot部分将其前面的注释去掉。
再编辑chroot_list文件,加入用户名即可#vim /etc/vsftpd/chroot_listabc重新启动ftp服务#killall -9 vsftpd#service vsftpd start开启客户端测试、7、虚拟用户的创建:(1)建立用户文件(vsftpd目录下)#vim userfile写入用户名和密码如:vabc123vbcd123保存退出(2)将用户信息写入db4数据库#db_load –T –t hash –f userfile vuser.db #chmod 600 vuser.db(3)配置ftp的验证方式#vim /etc/pam.d/vsftpd 将其改为:(4)修改主配置文件,启用虚拟用户将下面的语句加入即可:guest_enable=YESguest_usernname=abc保存退出,重启ftp服务后就可以用vabc vbcd用户名登录ftp了但是这时其权限是匿名用户的权限。
在主配置文件中加入下面这句就可以使虚拟用户得到本地用户的权限virtual_use_local_privs=YES。
Linux下ftp配置虚拟用户登录
Linux下ftp配置虚拟用户登录
默认安装ftp后是匿名用户访问的,我们首先要禁用匿名用户访问:
进入配置文件(/etc/vsftpd/vsftpd.conf)
然后在/etc/vsftpd目录下创建vlogin,txt文件用来存储虚拟用户的用户名和密码
编辑格式:奇数行:用户名偶数行:密码
先检查系统是否安装下列软件包该软件包用于创建数据库文件
缺少软件,挂载第三张光盘,安装相应软件包
使用db_load命令把vlogin.txt文件转换成数据库文件
如果没有将这两个软件包安装到系统里,会提示找不到命令
安装两个软件包后,就不会出现这个问题了
更改文件权限,保证安全
编辑PAM文件(PAM模块配置文件路径为etc/pam.d/目录)此目录下保存着大量与认证有
关的配置文件并以服务名称命名
编辑内容
建立虚拟用户设置该用户所要访问额目录,并设置虚拟用户的访问权限,
编辑/etc/vsftpd/vsftpd.conf
重启服务
使用虚拟用户登录ftp服务器进行测试,发现登录成功。
Linux操作系统安装配置FTP
Linux操作系统如何安装配置FTP一、安装FTP首先,您需要在Linux系统上安装FTP服务器软件。
在本例中,我们将使用vsftpd作为FTP 服务器软件。
您可以使用以下命令在CentOS上安装vsftpd:sudo yum install vsftpd二、配置FTP接下来,您需要编辑vsftpd的配置文件。
在CentOS上,vsftpd的配置文件位于/etc/vsftpd/vsftpd.conf。
您可以使用以下命令编辑此文件:sudo vi /etc/vsftpd/vsftpd.conf您需要按照以下步骤进行配置:1、设置FTP服务器使用的端口。
默认情况下,vsftpd使用的端口是21,但是您可以通过设置listen_port选项来使用其他端口:listen_port=212、禁用匿名访问。
如果您不想允许匿名用户访问FTP服务器,请设置anonymous_enable选项为NO:anonymous_enable=NO3、启用虚拟用户。
虚拟用户是指不在系统用户列表中的用户,而是由FTP服务器本身管理的用户。
要启用虚拟用户,请设置以下选项:virtual_users=YESuser_config_dir=/etc/vsftpd/vusers这将告诉vsftpd从/etc/vsftpd/vusers目录中读取每个虚拟用户的配置文件。
4、启用虚拟用户的写入权限。
默认情况下,虚拟用户没有写入权限。
要允许虚拟用户上传文件,请设置以下选项:write_enable=YESvirtual_use_local_privs=YESguest_enable=YESguest_username=ftpchroot_local_user=YES这将为虚拟用户启用本地权限,并使用ftp作为guest用户的用户名。
同时,chroot_local_user选项将限制用户只能访问其主目录。
三、授权接下来,您需要为虚拟用户授权。
Linux的FTP的三种登录方式:
Linux的FTP的三种登录方式:我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。
匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
本地用户登录:使用系统用户登录,在/etc/passwd中。
虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。
FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。
本文实验的Linux系统是CentOS 5 update2一、本地数据文件方式1.添加虚拟用户口令文件[root@CentOS5 /]#vi /etc/vsftpd/vftpuser.txt添加虚拟用户名和密码,一行用户名,一行密码,以此类推。
奇数行为用户名,偶数行为密码。
将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。
首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。
[root@CentOS5 /]#rpm –qa |grep db4-utils[root@CentOS5 /]#rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm下面使用db_load命令生成虚拟用户口令认证文件。
[root@CentOS5 /]#db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db3.编辑vsftpd的P AM认证文件在/etc/pam.d目录下,[root@CentOS5 /]#vi /etc/pam.d/vsftpd将里面其他的都注释掉,添加下面这两行:auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuseraccount required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser4.建立本地映射用户并设置宿主目录权限所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
ftp的虚拟用户的使用
ftp的虚拟⽤户的使⽤虚拟⽤户原理因为在linux之下,使⽤vsftp建⽴⽤户之后,默认使⽤ftp访问的时候,是会访问到对应的⽤户家⽬录。
如果想多个⽤户同时访问某⼀个⽬录,同时对同⼀⽬录下有着不同的权限,⽐如部分⽤户只能看,不修改,或者有的⽤户只能下载不能上传这些权限,这些设定只能通过vsftp中的虚拟⽤户来进⾏设定,普通的⽤户⽆法达到这样的效果。
故先通过建⽴⼀个普通系统⽤户,建⽴家⽬录,然后将所有的虚拟⽤户映射到对应的普通系统⽤户家⽬录中,然后再对各虚拟⽤户进⾏权限控制,达到上述的效果。
新建⽤户新建⽤户marility,⽤户锁定在/var/www/ruibiaofangxuan⽬录内mkdir /var/www/ruibiaofangxuanuseradd -d /var/www/ruibiaofangxuan marilitychown marility.marility /var/www/ruibiaofangxuanchmod u-w /var/www/ruibiaofangxuan给虚拟⽤户⽣成随机密码[root@marility ~]# tr -cd '[:alnum:]' < /dev/urandom | fold -w32 |head -n1eFEBgVTfWJ66OhQ3rTuGB4kt5k5r0aMWvsftp的相关配置⽂件设置[root@marility vsftpd]# grep ^[^#] /etc/vsftpd/vsftpd.confanonymous_enable=NO ##禁⽌匿名⽤户local_enable=YES ##开启本地账户,虚拟账户需要映射到本地账户write_enable=YESlocal_umask=022 ##本地⽤户的umask值anon_umask=022 ##虚拟⽤户的umask值设定dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_file=/var/log/xferlog ##⽇志路径xferlog_std_format=YESascii_upload_enable=YES ##允许上传ascii格式⽂件ascii_download_enable=YESftpd_banner=Welcome to blah FTP service.chroot_local_user=YES ##禁锢⽤户在家⽬录chroot_list_enable=NO ##不启⽤本地禁⽤⽬录,使⽤虚拟⽤户时不需要开户本地列表过滤listen=YES ##监听ipv4listen_ipv6=NOallow_writeable_chroot=YES ##可以写,因为禁锢家⽬录需去掉⽤户写权限tcp_wrappers=YESguest_enable=YES ##开启虚拟账户功能guest_username=marility ##虚拟账号映射到本地哪个⽤户pam_service_name=ftp ##加载pam.d中哪个⽂件的机制user_config_dir=/etc/vsftpd/config ##虚拟⽤户的单个权限[root@marility vsftpd]# cat /etc/vsftpd/vuser_listruibiaofangxuan ##账户eFEBgVTfWJ66OhQ3rTuGB4kt5k5r0aMW ##rubiaofangxuan的密码admini ##账户adminipw ##admini的密码将密码⽂件进⾏db格式的转化[root@marility vsftpd]# db_load -T -t hash -f vuser_list /etc/vsftpd/vuser_list.db没有db命令的可以先yum -y install db4-utils然后再改变权限chmod 600 /etc/vsftpd/vuser_list.db⽤户密码设定及db解析的设定[root@marility vsftpd]# cat /etc/pam.d/ftpauth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_listaccount required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_listauth是指对⽤户的⽤户名⼝令进⾏验证。
linux搭建ftp服务器虚拟账户
搭建FTP服务器,配置虚拟账号要求:为客户(ftp)提供文档下载,禁止上传为合作单位(vip)提供上传和下载,但不可以删除。
ftp服务器:192.168.0.60 rpm -ivh vsftpd-2.2.2-6.el6_0.1.x86_64.rpmftp客户端:192.168.0.61 rpm -ivh lftp-4.0.9-1.el6.x86_64.rpm1、创建用户文件[root@badboy60 root]# vim user.file2、把用户文件生成数据库并设置权限[root@badboy60 root]# db_load -T -t hash -f user.file user.db [root@badboy60 root]# rm -rf user.file[root@badboy60 root]# chmod 600 user.db3. 配置PAM认证[root@badboy60 root]# vim /etc/pam.d/vsftpd #/etc/pam.d/下保存大量与认证相关文件,以服务命名##%PAM-1.0#session optional pam_keyinit.so force revoke#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed#auth required pam_shells.so#auth include password-auth#account include password-auth#session required pam_loginuid.so#session include password-authauth required /lib64/security/pam_userdb.so db=/etc/vsftpd/user#作为用户名和密码的认证account required /lib64/security/pam_userdb.so db=/etc/vsftpd/user#作为权限的认证4. 添加虚拟用户对应的系统用户及ftp共享的目录[root@badboy60 root]# useradd -d /var/vsftpd/share ftpuser[root@badboy60 root]# chmod -R 500 /var/vsftpd/share[root@badboy60 root]# useradd -d /var/vsftpd/vip ftpvip[root@badboy60 root]# chmod -R 700 /var/vsftpd/vip5. 配置vsftpd主配置文件[root@badboy60root]# ls /etc/vsftpd/ftpusers user.db user_list vsftpd.conf vsftpd_conf_migrate.sh #黑名单白名单配置文件[root@badboy60root]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.abk #在配置配置文件之前先备份一下[root@badboy60 root]# vim /etc/vsftpd/vsftpd.confanonymous_enable=No#禁止匿名用户登录local_enable=YES#允许系统用户登录write_enable=YES #开启全局上传local_umask=022 #本地文件上传的umask为022dirmessage_enable=YESxferlog_enable=YES #登录日志 /var/log/vsftpd.logconnect_from_port_20=YESxferlog_std_format=YESchroot_local_user=YES#将所有用户锁定的家目录下listen=YESpam_service_name=vsftpd#配置vsftpd使用的pam模块为vsftpduser_config_dir=/etc/vsftpd/vuserconfig/#这只虚拟账号的主目录max_clients=300#最大接入客户端数max_per_ip=10#每个IP最大连接数userlist_enable=YEStcp_wrappers=YES6. 建立虚拟账号配置文件[root@badboy60 root]# mkdir /etc/vsftpd/vuserconfig[root@badboy60 root]# touch /etc/vsftpd/vuserconfig/ftp[root@badboy60 root]# touch /etc/vsftpd/vuserconfig/vip[root@badboy60 root]# vim /etc/vsftpd/vuserconfig/ftpguest_enable=yes #开启虚拟账号登录guest_username=ftpuser #设置虚拟账号对应的系统用户anon_world_readable_only=no #禁止匿名用户浏览整个文件系统anon_max_rate=50000 #限定传输速度为50KB[root@badboy60 root]# vim /etc/vsftpd/vuserconfig/vipguest_enable=yes #开启虚拟账号登录guest_username=ftpvip #设置虚拟账号对应的系统用户anon_world_readable_only=no #禁止匿名用户浏览整个文件系统write_enable=yes #允许写权限anon_mkdir_write_enable=yes #允许创建文件夹anon_upload_enable=yes #允许上传anon_max_rate=100000 #限定传输速度为100KB#anon_other_write_enable=yes #允许删除重命名等7. 重启服务[root@badboy60 root]# service vsftpd restart8. 测试[root@badboy61 lib]# lftp 192.168.0.60 -u vip口令:lftp vip@192.168.0.60:~> ls-rw-r--r-- 1 0 0 26970687 Dec 11 02:56 a.gz dr-xr-xr-x 5 0 0 4096 Dec 11 02:51 boot-rw-r--r-- 1 0 0 1663 Dec 11 02:51 passwd lftp vip@192.168.0.60:/> getlftp vip@192.168.0.60:/> putlftp vip@192.168.0.60:/> rm。
linux CentOS FTP 虚拟用户设置全解
linux CentOS FTP /redhat ftp linux ftp 安装vsftp 虚拟用户设置全解让Vsftp支持虚拟用户环境:CentOS 5.5 操作系统一.安装:1.安装Vsftpd服务相关部件:[root@KcentOS5 ~]# yum install vsftpd*DependenciesResolved============================================================= ================Package Arch Version Repository Size===================================================================== ========Installing:vsftpd i386 2.0.5-10.el5 base 137 kTransaction Summary===================================================================== ========Install 1 Package(s)Update 0 Package(s)Remove 0 Package(s)2.确认安装PAM服务相关部件:[root@KcentOS5 ~]# yum install pam*Dependencies Resolved===================================================================== ========Package Arch Version Repository Size===================================================================== ========Installing:pam-devel i386 0.99.6.2-3.14.el5base 186 kTransaction Summary===================================================================== ========Install 1 Package(s)Update 0 Package(s)Remove 0 Package(s)开发包,其实不装也没有关系,主要的目的是确认PAM。
Linux系统Vsftpd服务器虚拟用户和被动模式的配置方法
Linux系统Vsftpd服务器虚拟用户和被动模式的配置方法导读:Linux用户在使用vsftpd服务器的时候,一般都是使用它的主动模式,不过vsftpd服务器还有被动模式,今天小编就和大家一起分享下vsftpd服务器的被动模式的设置方法,以及如何配置vsftpd服务器的虚拟用户吧。
如何配置vsftpd服务器的被动模式和虚拟用户:一、安装最简单的RMP包安装,因为光盘中有,所以不需要编译。
yum install db4* vsftpd -y二、配置1、新建系统用户useradd vsftpd -s /sbin/nologin限制vsftpd用户登录,此用户将最为vsftpd服务的宿主用户useradd ftp -s /sbin/nologin这里是Vsftpd虚拟宿主用户,默认情况下这个用户应该有。
当然这些用户你可以用另外的名字。
2、修改vsftpd的配置。
anonymous_enable=NO #设定不允许匿名访问local_enable=YES #设定本地用户可以访问。
如果设定为NO那么所有虚拟用户将无法访问。
write_enable=YES #设定可以进行写操作。
local_umask=022 #设定上传后文件的权限掩码。
anon_upload_enable=NO #禁止匿名用户上传。
anon_mkdir_write_enable=NO #禁止匿名用户建立目录。
dirmessage_enable=YES #设定开启目录标语功能。
xferlog_enable=YES #设定开启日志记录功能。
connect_from_port_20=NO #禁止端口20进行数据连接。
这里用被动模式chown_uploads=NO #设定禁止上传文件更改宿主。
xferlog_file=/var/log/vsftpd.log #设定Vsftpd的服务日志保存路径xferlog_std_format=YES #设定日志使用标准的记录格式。
linux中ftp虚拟用户配置
account required /lib/security/pam_userdb.so db=/etc/vsftpd/user
4、建立虚拟用户及要访问的目录并设置相应的权限
1、建立虚拟用户口令库文件;
# vi yy.txt
test1
123
test2
123
注意:奇数行为用户,偶数行为密码;
2、生成vsftpd的认证文件;
# db_load -T -t hash -f yy.txt /etc/vsftpd/user.db //生成vsftpd的认证文件
Password: //输FTP的密码
230 Login successful. //成功
ftp> get a.txt //下载a.txt文件
200 PORT command successful. Consider using PASV.
user_config_dir=/etc/vsftpd_user_conf //设置在/etc/vsftpd_user_conf这个目录下保存虚拟用户的配置文件,
2)建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf
3)为虚拟用户建立单独的配置文件
# vi /etc/vsftpd_user_conf/ky //虚拟用户ky的配置文件
C:\Documents and Settings\admin>ftp 192.168.2.101
Connected to 192.168.2.101.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
新建虚拟用户登录ftp
第一步,在服务器上安装软件包如图(1)
(1)
第二步,建立虚拟用户口令库文件,创建文件logins.txt,在其内写入用户名和密码,奇数行为用户名,偶数行为密码如图(2)(在/root下创建)
(2)
第三步,生成vsftpd的认证文件
在命令行输入db_load –T –t hash –f login.txt /etc/vsftpd/login.db如图(3)
(3)第四步,建立虚拟用户所需要的pam配置文件
进入/etc/pam.d目录,创建ts118的文件(不是目录)在里面写入内容如图(4)
(4)
第五步,建立虚拟用户所要访问的目录并设置权限
创建用户,并且指定其宿主目录如图(5)
(5)
进入/home/ftpsite目录,创建目录,目录名称要与logins.txt 的用户名称相同如图(6)
(6)
要更改其所属主和所数组如图(7)
(7)
第六步,修改主配置文件
打开/etc/vsftpd/vsftpd.conf文件,在里面添加命令如图(8)
(8)第七步,启动服务
输入service vsftpd start(或者是restart)如图(10)
(10)
第八步,使用客户机做测试
客户机登陆到ftp服务器,使用虚拟用户如图(11)
(11)
想设置虚拟用户的权限,需要在主配置文件中添加命令如图
(12)
(12)
创建用户配置文件目录如图(13)
为虚拟用户创建单独的配置文件如图(14)
运行用户进行上传,在配置文件中写入
local_root=/home/ftpsite/bob,并开启允许上传的权限如图
(15)
(15)
启动服务如图(16)
(16)
使用bob登陆,就可以上传文件
补充
要在logins.txt中添加用户,需要在转换一下。