vsftpd下(FTP)建立虚拟用户的添加基于Centos系列Linux

合集下载

linuxFTP创建虚拟用户

linuxFTP创建虚拟用户

新建虚拟用户登录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中添加用户,需要在转换一下。

CentOs下ftp虚拟用户的添加和配置

CentOs下ftp虚拟用户的添加和配置

CentOs下ftp虚拟用户的添加和配置备注:前提,已经安装好ftp服务:使用yum install vsftpd步骤如下:1 .添加用户名:/usr/sbin/adduser -d /home/public/paper -g ftp -s /sbin/nologinhitcerc解释:使用命令(adduser)添加hitcerc用户,不能登录系统(-s /sbin/nologin),自己的文件夹在(-d /opt/test_ftp)),属于组ftp(-g ftp)。

/home/public/paper这个目录可以为你系统上的任意一个目录。

也就是说,可以给不同用户分配不同的目录。

2 . (可选),把上面的/home/public/paper目录挂载到某个大的硬盘下,如:mount –bind /home/public/paper /mnt/winC/3. 在/etc/vsftpd/vsftpd.conf下有这个:chroot_local_user=YES4. 使用gedit vuser_passwd.txt 加入用户名和密码,其中奇数行为用户名,偶数行为密码如下:第1行:hitcerc第2行:12345.使用db_load–T –t hash –f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db生成用户名密码数据库6. 随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句auth required pam_userdb.so db=/etc/vsftpd/vuser_passwdaccount required pam_userdb.so db=/etc/vsftpd/vuser_passwd7. 进入/etc/vsftpd/vuser_conf目录,使用gedi+用户名形式,如gedithitcerc。

Linux建立基于用户与虚拟用户的vsftp服务详解

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.首先建立文本格式的用户名/密码列表文件,奇数行为用户名,偶数行为上一行中的用户所对应的密码。

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,⽤于匿名⽤户的映射。

Linux(Centos)配置vsftp使用账号密码(虚拟用户)登录ftp进行文件上传和修改

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虚拟用户创建与用户目录管理文档包含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系统学习十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问

Linux系统学习十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问

Linux系统学习十八、VSFTP服务—虚拟用户访问—配置虚拟用户访问配置虚拟用户访问首先至少要关闭userlist改完配置文件是要重启服务来使它生效其实在刚装好vsftp的时候的配置文件不用修改的情况下配置虚拟用户访问控制是最好的local_root选项不影响本地用户登录的目录和虚拟用户登录的目录是不产生影响的为防止有影响,把chroot也注释了配置虚拟用户登录的步骤:1、添加虚拟用户口令文件2、生成虚拟用户口令认证文件3、编辑vsftp的PAM认证文件4、建立本地映射用户并设置宿主目录权限5、修改配置文件6、重启vsftp服务,并测试7、调整虚拟用户权限第一步:添加虚拟用户口令文件(该文件可以叫任何名字也可以放在任何位置)vi /etc/vsftpd/vuser.txt #内容如下cangls #用户名123 #密码bols #用户名123 #密码以上的用户名密码并不能直接登录系统,所以不怕截取第二步:生成虚拟用户口令认证文件yum –y install db4-utils #如果没有安装口令认证命令,需要安装db_load –T –t hash –f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db #把文本文档转换为认证的数据库-T:转化-t:指定转换函数-f:指定文件第三步:编辑vsftp的PAM认证文件vi /etc/pam.d/vsftpdauth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuseraccount required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser#注释掉其他行,加入这两行即可#注释其他行,可以禁止本地用户登录,因为本地用户登录时的验证依然依赖这个文件该文件中本身就有一些规则,定义的是本地用户的验证规则在vsftp的配置文件最下面有一行设置,就是pam文件vi中将2~8行添加#号添加修改完成后,重启服务此时本地用户就不能登录了第四步:建立本地映射用户并设置宿主目录权限useradd –d /home/vftproot –s /sbin/nologin vuser #此用户不需要登录,只是映射用户#用户名必须和下一步配置文件中一致chmod 775 /home/vftproot创建完成后的vftproot的权限是700,这种权限下是不允许用户上传的,需要改权限为755第五步:修改配置文件vi /etc/vsftpd/vsftpd.confguest_enable=YES #开启虚拟用户guest_username=vuser #FTP虚拟用户对应的系统用户(用户名要和前面的名字一样)pam_service_name=vsftpd #PAM认证文件(默认存在)第六步:重启vsftpd服务并测试service vsftpd restart此时虚拟用户可以登录,查看、下载,不能上传默认上传文件的位置是宿主用户的家目录权限使用的是匿名用户权限进行管理注:正常情况下,此时就可以用前面设置的两个虚拟用户登录ftp 了,但是我这里是登陆失败,还没找的是哪里出错了,下面我重新恢复虚拟机,重头再来。

Linux vsftpd配置(含匿名帐户本地用户虚拟用户)

Linux vsftpd配置(含匿名帐户本地用户虚拟用户)

Linux vsftpd配置Linux下的ftp最常用的一種是vsftp(very security ftp),服務名稱叫做vsftpd,檢查vsftpd是否已安裝:rpm –qa | grep vsftpd,如果未安裝通過rpm –ivh vsftpd*或yum –y install vsftpd(已製作yum)來進行安裝,service vsftpd stop/start/restart/status開啟停止等操作,chkconfig vsftpd on/off或ntsysv命令打開圖形界面來管理該服務是否開機啟動。

Vsftp的配置文檔存放于/etc/vsftpd/vsftpd.conf,它支持兩種登錄方式,一種是匿名登錄,另一種是認證登錄,其中認證登錄又分為本地帳戶認證和虛擬帳戶認證。

剛開始學習vsftpd的配置時建議備份一份默認的配置:cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak。

一.匿名登錄該方式只要安裝好了vsftpd默認就可直接使用,登錄映射到的目錄是/var/ftp/,里面只有一個pub文件夾,pub只有只讀權限,改不了的,但可以在/var/ftp目錄下新建其它的文件夾則是可以通過修改/etc/vsftpd/vsftpd.conf來設定相關權限的。

二.本地帳戶登錄該類帳戶是Linux系統本地帳戶,只要你有Linux帳號那么就可以登錄到FTP。

但有一點需要注意,該類帳號默認登錄到的ftp目錄是本地帳戶的家目錄。

所以可以通過useradd –s account_name /sbin/nologin來創建無法登錄到Linux系統的帳戶來做ftp帳戶,但是要確保該帳號的家目錄被創建了哦,不然是會登錄不了的。

1.新建ftp1帳號,密碼123456,家目錄/var/ftp1。

useradd ftp1 -d /var/ftp1 -s /sbin/nologin 創建ftp1帳號passwd ftp1 修改ftp1的密碼2.將/etc/vsftpd/vsftpd.conf配置文件修改為如下內容,#注釋被刪除了。

VSftpd安装和配置FTP虚拟用户实践

VSftpd安装和配置FTP虚拟用户实践

ftpd_banner=This Vsftp server supports virtual users ^_^ 设定Vsftpd的登陆标语。
deny_email_enable=YES 可将某些特殊的 email address 抵挡住。如果以anonymous 登录服务器时,会要求输入密码,也就是您的email address, 如果很讨厌某些email address ,就可以使用此设定
anon_root=path 设定匿名用户的根目录,即匿名用户登入后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/。
anon_world_readable_only=YES|NO 控制是否只允许匿名用户下载可阅读文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。默认值为YES。
chown_username=whoever 指定拥有匿名用户上传文件所有权的用户
local_enable=YES|NO 控制vsftpd所在的系统的用户是否可以登录vsftpd。默认值为YES。
local_root= 定义所有本地用户的根目录。当本地用户登入时,将被更换到此目录下。默认值为无。
user_config_dir= 定义用户个人配置文件所在的目录。用户的个人配置文件为该目录下的同名文件
ascii_upload_enable=YES|NO 控制是否允许使用ascii模式上传文件,YES允许,NO不允许,默认为NO
ascii_download_enable=YES|NO 控制是否允许使用ascii模式下载文件,YES允许,NO不允许,默认为NO。
idle_session_timeout= numerical value 空闲用户会话的超时时间,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线。单位为秒,默认值为300。

linux CentOS FTP 虚拟用户设置全解

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。

Vsftpd 虚拟用户与目录的建立和设置

Vsftpd 虚拟用户与目录的建立和设置

Vsftpd 虚拟用户与目录的建立和设置vsftpd 的虚拟用户采用了不与系统账户口令文件合二为一的方法,也就是说,为了认证这些虚拟用户vsftpd 使用单独的口令库文件(pam_userdb),由可插拔认证模块(PAM)进行认证。

使用这种方式更加安全,并且配置更灵活。

配置简单的虚拟用户FTP 服务器1、生成虚拟用户口令库文件2、配置生成vsftpd 的认证文件3、建立虚拟用户所要访问的目录并设置相应权限4、建立配置文件//生成虚拟用户口令库文件,为了建立此口令库文件,先要生成一个文本文件下面我们开始完成建立一个虚拟用户的步骤:用户:xinlisn密码:123456第一步:建立虚拟用户名和密码对应的文本文件,logins.txt 放在/home/ftp 服务弄好以后记得删除这个文件,为了安全xinlisn123456此文本文件的格式是:单数行为用户名,偶数行为口令,即:用户xinlisn的口令为123456第二步:下面使用db_load 命令生成口令库文件,需要安装db4-utils-4.2.52-7.1.i386.rpmdb_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.dbchmod 600 /etc/vsftpd_login.db第三步:给虚拟用户创建目录mkdir /home/snuser/ftpchmod 700 /home/snuser/ftp第四步:-s是让其不能登陆系统,-d 是指定用户目录为/home/snuser/ftpuseradd –s /sbin/nologin –d /home/snuser/ftp ftpuser第五步:编辑生成虚拟用户所需的PAM 配置文件vi /etc/pam.d/vsftpd插入如下两行auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login第六步:生成主配置文件 vsftpd.conf,也就是虚拟用户启动所需要的配置文件,不是执行 service vsftpd starts 所默认执行的 /ect/vsftpd/vsftpd.conf 的配置文件,把它放在/etc/vsftpd.confJava代码1.# Example config file /etc/vsftpd/vsftpd.conf2.#3.# The default compiled in settings are fairly paranoid. This sample file4.# loosens things up a bit, to make the ftp daemon more usable.5.# Please see vsftpd.conf.5 for all compiled in defaults.6.#7.# READ THIS: This example file is NOT an exhaustive list of vsftpd options.8.# Please read the vsftpd.conf.5 manual page to get a full ideaof vsftpd's9.# capabilities.10.#11.# Allow anonymous FTP? (Beware - allowed by default if you comment this out)12.#禁止匿名登录13.anonymous_enable=NO14.#15.# Uncomment this to allow local users to log in.16.#接受本地用户17.local_enable=YES18.#19.# Uncomment this to enable any form of FTP write command.20.#可以上传(全局控制)21.write_enable=YES22.#23.# Default umask for local users is 077. You may wish to change this to 022,24.# if your users expect that (022 is used by most other ftpd's)25.#local_umask=00226.#27.# Uncomment this to allow the anonymous FTP user to upload files. This only28.# has an effect if the above global write enable is activated. Also, you will29.# obviously need to create a directory writable by the FTP user.30.#允许上传31.anon_upload_enable=YES32.#33.# Uncomment this if you want the anonymous FTP user to be able to create34.# new directories.35.#anon_mkdir_write_enable=YES36.#37.# Activate directory messages - messages given to remote users when they38.# go into a certain directory.39.#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容40.dirmessage_enable=YES41.#42.# Activate logging of uploads/downloads.43.#开启日记功能44.xferlog_enable=YES45.#46.# Make sure PORT transfer connections originate from port 20(ftp-data).47.#connect_from_port_20=YES48.#49.# If you want, you can arrange for uploaded anonymous files to be owned by50.# a different user. Note! Using "root" for uploaded files isnot51.# recommended!52.#chown_uploads=YES53.#chown_username=whoever54.#55.# You may override where the log file goes if you like. The default is shown56.# below.57.#日志文件位置58.xferlog_file=/var/log/vsftpd.log59.#60.# If you want, you can have your log file in standard ftpd xferlog format61.#使用标准格式62.xferlog_std_format=YES63.#64.# You may change the default value for timing out an idle session.65.#空闲连接超时66.idle_session_timeout=60067.#68.# You may change the default value for timing out a data connection.69.#数据连接超时70.data_connection_timeout=60071.#72.# It is recommended that you define on your system a unique user which the73.# ftp server can use as a totally isolated and unprivileged user.74.#nopriv_user=ftpsecure75.#76.# Enable this and the server will recognise asynchronous ABORrequests. Not77.# recommended for security (the code is non-trivial). Not enabling it,78.# however, may confuse older FTP clients.79.#async_abor_enable=YES80.#81.# By default the server will pretend to allow ASCII mode butin fact ignore82.# the request. Turn on the below options to have the server actually do ASCII83.# mangling on files when in ASCII mode.84.# Beware that turning on ascii_download_enable enables malicious remote parties85.# to consume your I/O resources, by issuing the command "SIZE/big/file" in86.# ASCII mode.87.# These ASCII options are split into upload and download because you may wish88.# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),89.# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be90.# on the client anyway..91.#ascii_upload_enable=YES92.ascii_download_enable=YES93.#94.# You may fully customise the login banner string:95.#ftpd_banner=Welcome to blah FTP service.96.#97.# You may specify a file of disallowed anonymous e-mail addresses. Apparently98.# useful for combatting certain DoS attacks.99.#deny_email_enable=YES100.# (default follows)101.#banned_email_file=/etc/vsftpd.banned_emails102.#103.# You may specify an explicit list of local users to chroo t() to their home104.# directory. If chroot_local_user is YES, then this list b ecomes a list of105.# users to NOT chroot().106.#chroot_list_enable=YES107.# (default follows)108.#chroot_list_file=/etc/vsftpd.chroot_list109.#110.# You may activate the "-R" option to the builtin ls. This is disabled by111.# default to avoid remote users being able to cause excess ive I/O on large112.# sites. However, some broken FTP clients such as "ncftp"and "mirror" assume113.# the presence of the "-R" option, so there is a strong ca se for enabling it.114.#ls_recurse_enable=YES115.#定义PAM 所使用的名称,预设为vsftpd116.#pam_service_name=vsftpd117.#若启用此选项,userlist_deny选项才被启动erlist_enable=YES119.anon_umask=000120.#enable for standalone mode121.#绑定到listen_port指定的端口122.listen=YES123.#开启tcp_wrappers支持124.tcp_wrappers=YES125.126.guest_enable=YES127.pam_service_name=ftp.vu128.guest_username=ftpuser129.pasv_enable=YES130.#virtual_use_local_privs=YES131.pasv_enable=YES132.pasv_min_port=30000133.pasv_max_port=30999134.#是否能使用ls -R命令以防止浪费大量的服务器资源135.ls_recurse_enable=YES136.#允许删除137.anon_other_write_enable=YES特别注意: anon_umask=000理解umask:umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。

Linux下vsftpd虚拟用户建立方法

Linux下vsftpd虚拟用户建立方法

有几种方式可以实现虚拟用户:本地数据文件和数据库服务器。

在此只介绍使用本地数据文件方式创建虚拟用户的方法。

使用本地数据文件创建虚拟用户的步骤如下:⑴建立虚拟用户口令文件。

⑵生成vsftpd的认证文件。

⑶建立虚拟用户所需的PAM配置文件。

⑷建立虚拟用户访问所需要的目录。

⑸修改vsftpd.conf配置文件。

(1)建立用户口令文件使用vi命令创建用户口令文件,该文件是一个文本文件,其中的奇数行为用户名,偶数行为用户密码,文件名可以任意。

(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注:在主配置文件中给的权限越低,在后面分用户管理的时候对拥护的权限划分的空间就越大,因为主配置文件最高的限制服务先读主配置文件,然后再读用户的配置文件。

vsftpd虚拟用户配置步骤

vsftpd虚拟用户配置步骤

vsftpd虚拟⽤户配置步骤yum -y install vsftpd*yum -y install db4*============================================================================先建⽴⼀个包含虚拟⽤户名及其⼝令的⽂本⽂件 , 然后在此基础上⽣成虚拟⽤户⼝令库⽂件 :#vim logins.txt添加以下信息 ( 单数⾏为⽤户名 , 偶数⾏为⼝令 ) :123 // ⽤户名456 // 密码:wq // 保存并退出==================================================================================db_load -T -t hash -f logins.txt /etc/vsftpd_login.dbchmod 600 /etc/vsftpd_login.db=============================================================================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==============================================================================建⽴虚拟⽤户访问⽬录并设置 virtual ⽤户访问的权限#useradd -d /var/ftp/share -s /sbin/nologin virtual#chmod 700 /var/ftp/share===================================================================================================== vim /etc/vsftpd/vsftpd.conf 在最下⾯添加chroot_local_user=YESguest_enable=YESguest_username=virtualpam_service_name=ftp.vuuser_config_dir=/etc/vsftpd_user_conf==================================================================================================建⽴ user_config_dir ⽂件⽬录,并创建以⽤户名命名的配置⽂件#mkdir /etc/vsftpd/user_config_dir#vi /etc/vsftpd/user_config_dir/1anon_world_readable_only=NO # 浏览权限anon_upload_enable=YES #?write_enable=YES # 上传权限download_enable=YES # 下载权限anon_other_write_enable=YES # 删除权限anon_mkdir_write_enable=YES # 建⽴⽂件夹权限local_root=/var/ftp/share/123 # 指定⽤户登陆的默认路径其他账户配置依以上参数并根据需要设定 ..===============================================================vim /etc/vsftpd_user_conf/123anon_world_readable_only=NOanon_upload_enable=YESwrite_enable=YESdownload_enable=YESanon_other_write_enable=YESanon_mkdir_write_enable=YESlocal_root=/var/ftp/share/123mkdir -p /var/ftp/share/123================================================每当在创建⼀个虚拟⽤户的步骤1 修改⼀下vim logins.txt 添加⽤户和密码2 在⽣成数据库db_load -T -t hash -f logins.txt /etc/vsftpd_login.dbchmod 600 /etc/vsftpd_login.db3在针对每个虚拟⽤户名设置不同的权限cp -p /etc/vsftpd_user_conf/123 /etc/vsftpd_user_conf/7894 设置 vim /etc/vsftpd_user_conf/789⽤户的权限anon_world_readable_only=NOanon_upload_enable=YESwrite_enable=YESdownload_enable=YESanon_other_write_enable=YESanon_mkdir_write_enable=YESlocal_root=/var/ftp/share/789======================================================= mkdir -p /var/ftp/share/789chown -R virtual.virtual /var/ftp/share。

Centos下vsftpd多用户安装配置

Centos下vsftpd多用户安装配置

添加一个用户需要重新db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db一。

安装vsftp和db4yuminstall vsftpdyum install db4-utils.x86_64 (这里操作系统版本不一样,显示的库名也不一定一样,安装不了请先yum search db查询)二。

建立虚拟用户口令库文件cd /etc/vsftpd新建名为logins.txt的用户口令文件,nano /etc/vsftpd/logins.txt奇数行为用户名。

偶数行为密码,如下用户User1的密码为123456,User2的密码为12345 User1123456User212345adminadmin三。

生成vsftpd的认证文件使用db_load命令生成认证文件:db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db将vsftpd_login.db的权限设为只对root可读写,即600chmod 600 /etc/vsftpd/vsftpd_login.db四。

建立虚拟用户所需的PAM配置文件在/etc/pam.d目录中建立vsftpd.vu内容如下nano /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_login上面两行注意了,有的64位的机器,路役可能不一样,如/lib64/security/pam……五。

建立虚拟用户所需的系统用户和主目录#group add ftpusers#useradd -d /www -g ftpusers -s /sbin/nologin upload ftpuser#chown –R ftpuser:ftpusers /www#mkdir /www/User1#chownftpuser:ftpusersi /www/User1#mkdir /www/User2#chownftpuser:ftpusersi /www/User2#chmod 700 /www六。

阿里云服务器Linux下ftp(vsftpd)添加用户及设置用户权限

阿里云服务器Linux下ftp(vsftpd)添加用户及设置用户权限

Linux下ftp添加用户及设置用户权限mark:最近,打算租用一个阿里云linux服务器用作网站,并做一些数据存放使用,最重要的是,阿里云内网互传数据免费,这样租用一个服务器做数据备份存储,有需要高性能服务器计算机时再按需租用一个高性能服务器做编译、开发等工作就非常划算。

这里我租用的linux用作一定数据备份使用,在linux 中配制ftp,按需租用一个windows server用做计算、大型程序编译,但流量较贵,所以将部分数据保留在linux中,通过ftp传回windows。

以下ftp配制可规避权限问题。

以下为转载内容:1、环境:ftp为vsftp。

被限制用户名为test。

被限制路径为/home/test2、建用户:在root用户下:useradd test //增加用户test,并制定test用户的主目录为/home/testpasswd test //为test设置密码3、更改用户相应的权限设置:usermod -s /sbin/nologin test //限定用户test不能telnet,只能ftpusermod -s /sbin/bash test //用户test恢复正常usermod -d /test test //更改用户test的主目录为/test4、限制用户只能访问/home/test,不能访问其他路径修改/etc/vsftpd/vsftpd.conf如下:chroot_list_enable=YES //限制访问自身目录# (default follows)chroot_list_file=/etc/vsftpd/vsftpd.chroot_list编辑vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行改完配置文件,不要忘记重启vsFTPd服务器[root@linuxsir001 root]# /etc/init.d/vsftpd restart 或service vsftpd status5、如果需要允许用户修改密码,但是又没有telnet登录系统的权限:usermod -s /usr/bin/passwd test //用户telnet后将直接进入改密界面6.别忘记更改文件夹的权限,否则会服务器上传下载文件额。

两种方式建立Vsftpd虚拟用户

两种方式建立Vsftpd虚拟用户

两种方式建立Vsftpd虚拟用户在每次重启linux 服务器的时候vsftpd 目录有时候会自动关闭掉,每次得去按 setsebool ftp_home_dir 1 开启目录 ftp 才能正常登陆,今天我发现有一个这样的命令以后再也不用按了echo "setsebool ftp_home_dir 1" >> /etc/rc.local我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。

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

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

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

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

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

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

bobyuan #用户名123456 #密码markwang #用户名123456 #密码2. 生成虚拟用户口令认证文件将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。

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

[root@jock]#rpm –qa |grep db4-utils如果没有请使用以下命令:[root@jock]#yum install db4-utils下面使用db_load命令生成虚拟用户口令认证文件。

[root@jock]# db_load -T -t hash -f ./ftpusr.txt /etc/vsftpd/ftpusr.db[root@jock]# chmod 600 /etc/vsftpd/ftpusr.db3. 编辑vsftpd的PAM认证文件在/etc/pam.d目录下,[root@jock]#vi /etc/pam.d/vsftpd_login将里面其他的都注释掉,添加下面这两行:auth required /lib/security/pam_userdb.so db=/etc/vsftpd/ftpusraccount required /lib/security/pam_userdb.so db=/etc/vsftpd/ftpusr4. 建立本地映射用户并设置宿主目录权限所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。

Centos7搭建vsftp并配置虚拟用户,实现多用户多权限

Centos7搭建vsftp并配置虚拟用户,实现多用户多权限

Centos7搭建vsftp并配置虚拟⽤户,实现多⽤户多权限⼀、安装ftp服务yum install -y vsftp# 安装虚拟⽤户数据库yum -y install libdb-utils⼆、增加⼀个系统⽤户‘virftp’ ,所有虚拟⽤户都会映射到此⽤户后对⽂件系统进⾏读写操作#添加⽤户,⽤户登录时使⽤nologinuseradd -s /sbin/nologin virftp#设置⽤户密码passwd virftp三、配置vsftp主配置⽂件#备份vsftpd主配置⽂件cp /etc/vsftpd/vsftpd.conf{,.bak}#查看过滤配置⽂件注释后内容grep -v "#" /etc/vsftpd/vsftpd.confvim /etc/vsftpd/vsftpd.conf#禁⽌匿名⽤户登录anonymous_enable=NO#允许本地⽤户登录local_enable=YES#启⽤虚拟账户guest_enable=YES#把虚拟账户映射到系统账户virftpguest_username=virftp#使⽤虚拟⽤户验证(PAM验证)pam_service_name=vsftpd#设置存放各虚拟⽤户配置⽂件的⽬录(此⽬录下与虚拟⽤户名相同的⽂件为它的配置⽂件)user_config_dir=/etc/vsftpd/vsftpd_viruser#启⽤chroot时,虚拟⽤户根⽬录允许写⼊allow_writeable_chroot=YES#被动模式,⽂件传输端⼝的最⼤最⼩范围pasv_min_port=30000pasv_max_port=35000四、配置vsftpd pam验证⽂件#备份cp /etc/pam.d/vsftpd{,.bak}#将auth及account的所有配置⾏均注释掉,再添加如下两⾏vim /etc/pam.d/vsftpdauth required pam_userdb.so db=/etc/vsftpd/vir_useraccount required pam_userdb.so db=/etc/vsftpd/vir_user五、配置虚拟⽤户访问vsftpd服务#创建虚拟⽤户密码⽂件(奇数⾏为帐号,偶数⾏为密码)vim /etc/vsftpd/vir_usertest01pwd_test01test02pwd_test02六、配置虚拟⽤户各⾃的配置⽂件#创建‘虚拟⽤户配置⽂件’的存放⽬录mkdir /etc/vsftpd/vsftpd_viruser/#创建和配置虚拟⽤户各⾃的配置⽂件(⽂件名称是‘虚拟⽤户名’)vim /etc/vsftpd/vsftpd_viruser/test01# 允许写⼊write_enable=YES#允许浏览FTP⽬录和下载anon_world_readable_only=NO#禁⽌⽤户下载#download_enable=NO# 允许虚拟⽤户上传⽂件anon_upload_enable=YES# 允许虚拟⽤户创建⽬录anon_mkdir_write_enable=YES# 允许虚拟⽤户执⾏其他操作(如改名、删除)anon_other_write_enable=YES# 上传⽂件的掩码,如022时,上传⽬录权限为755,⽂件权限为644anon_umask=022# 指定虚拟⽤户的虚拟⽬录(虚拟⽤户登录后的主⽬录,即登录ftp后访问的根⽬录)local_root=/home/virftp/test01七、⽣成虚拟⽤户数据库db_load -T -t hash -f /etc/vsftpd/vir_user /etc/vsftpd/vir_user.dbchmod700 /etc/vsftpd/vir_user.db⼋、创建虚拟⽤户的根⽬录,要保证虚拟⽤户映射的系统⽤户,对这个根⽬录有读写权限#创建虚拟⽤户对应根⽬录mkdir -p /home/virftp/test01#修改⽬录权限chown -R virftp.virftp /home/virftp/test01九、重启服务systemctl restart vsftpd#开放端⼝firewall-cmd --zone=public --add-port=21/tcp --permanentfirewall-cmd --zone=public --add-port=30000-35000/tcp --permanentfirewall-cmd --reload注:若添加新虚拟⽤户,创建⽤户对应根⽬录⽂件夹、在/etc/vsftpd/vsftpd_viruser/⽬录下创建⽤户名为⽂件名的配置⽂件,/etc/vsftpd/vir_user⽂件中添加帐号密码#再执⾏db_load -T -t hash -f /etc/vsftpd/vir_user /etc/vsftpd/vir_user.db#重启服务systemctl restart vsftpd#被动模式,⽂件传输端⼝的最⼤最⼩范围pasv_min_port=30000pasv_max_port=35000。

Centos7中支持虚拟用户vsftpd 服务的配置word精品文档6页

Centos7中支持虚拟用户vsftpd 服务的配置word精品文档6页

Centos7中支持虚拟用户vsftpd 服务的配置vsftp是Linux系统首推的FTP服务器软件,在安全、稳定、速度上有一定优势。

本文结合单位实际介绍了FTP服务配置,最终实现这样一个功能,匿名用户仅能登录下载文件,虚拟用户能登录并能在自己的文件夹内上传文件,这些文件夹对匿名用户可见,虚拟用户的用户名、密码存储在MySQL数据库中,同时修改Firewall、SeLinux配置保护系统安全。

1软件安装考虑服务器效率及安全,Centos7选用最小安装,并配置基本编译环境。

vsftp安装采用yum安装,运行命令如下:yum install vsftpdMySQL不采用yum安装,否则在编译pam_mysql时会发生找不到mysql.h文件的错误,解决起来比较麻烦,采用源代码编译安装比较好,安装后mysql的头文件和库安装在/usr/local/mysql目录下。

pam_mysql是基于MySQL数据库的PAM认证模块,是vsftpd与MySQL 之间的桥梁,最新源代码包为pam_mysql-0.7RC1.tar.gz,在字符命令界面下,可通过wget命令下载。

下载解压后在编译时要设置两个参数:--with-pam-mods-dir=/lib64/security #pam_mysql.so安装位置。

--with-mysql=/usr/local/mysql #mysql头文件和库安装位置。

2服务配置过程2.1 pam_mysql配置配置文件在/etc/pam.d目录下,文件名用户自己确定,本文中命名为vsftpd.mysql,文件中包括pam_mysql.so文件位置,MySQL数据库用户名,密码,用户数据库名称,用户表名称,表结构,加密方式等,具体如下:auth required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=*** host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 verbose=1account required /usr/lib64/security/pam_mysql.so user=vsftpd passwd=*** host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 verbose=1verbose=1选项用于调试,输出信息在/var/log/secure中。

使用VSFTPD添加用户及添加后修改问题

使用VSFTPD添加用户及添加后修改问题

使用VSFTPD添加用户及添加后修改问题VSFTPD的安装网上有很多教程这里就不多说了,这里主要是针对做主机空间服务的朋友在安装好vsftpd后如何为用户增加ftp账号先来看一看我们一般在*inux系统下面如何增加用户的#adduser 用户名<----------你要加的用户名#passwd 用户名<----------你要设置密码的用户名回车后系统会给出以下提示:Changing password for user XX用户名.New password:BAD PASSWORD: it does not contain enough DIFFERENT charactersRetype new password:passwd: all authentication tokens updated successfully.但像以上这样增加用户是不行的,加样加出来的用户为普通用户,有系统登陆权限,所以我要在adduser命令后后面加上参数,如下:[root@srsman]# adduser -g ftp -s /sbin/nologin srsman[root@srsman]# passwd beinanChanging password for user beinan.New password:Retype new password:passwd: all authentication tokens updated successfully.这样加出来的用户也是普通用户,但这个用户是不能登入系统的,只能是登入FTP通过上面的命令加的用户系统会在/home目录下建立一个同名的文件夹,用户FTP上来后指向的目录也为此目录,如何为ftp用户指定到特定的目录呢?命令如下:[root@srsman]# adduser -d /opt/srsman -g ftp -s /sbin/nologin srsman[root@srsman]# passwd srsmanChanging password for user beinan.New password:Retype new password:passwd: all authentication tokens updated successfully.这样就为系统增加了一个名为srsman,目录指向为/opt/srsman 的ftp用户Tips:很多朋友在增加用户后ftp上服务器的时候总是提示ftp服务器连接失败,错误提示:500 OOPS: cannot change directory:/home/*******500 OOPS: child died当你看到以上提示时,试着在输入以下命令解决setsebool -P ftpd_disable_trans 1service vsftpd restart第一行中的-P参数是为了以后不需要每次开机都输入这个命令//===================================== ==============================修改vsftpd.conf文件:user_config_dir=/etc/vsftpd/user_config_dir并在这个文件夹下面添加用户名的文件anon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES//===================================== ==============================修改文件夹的读写权限:chown ftp /var/ftp/uploadchmod 777 /var/ftp/upload。

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

本人技术有限,是根据网上搜索修改后这样操作下来的是可以实现的,如有不妥之处望指正---作者:宗国锋---如有转载请著名出处,谢谢
系统环境Centos5
装包(用rpm包安装也可以)
[root@localhost ~]yum -y install vsftpd
[root@localhost ~]yum -y install db4-utils
#添加虚拟的用户帐户!
[root@localhost ~]cd /tmp
[root@localhost ~]vi ftpuser_list
zongguofeng
guofeng
[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.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account 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=NO
anonymous_enable=NO
#本地帐户配置!
local_enable=YES
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES
#启用来宾帐号,也就是虚拟用户使用的帐号的权限用户。

guest_enable=YES
guest_username=vsftp
user_config_dir=/etc/vsftpd/user_config_dir
local_root=/var/www/html
write_enable=YES
pam_service_name=ftp.vu
userlist_enable=YES
listen=YES
chroot_local_user=YES
tcp_wrappers=YES
#ftp用户日志配置!(双日志方案!)
xferlog_enable=YES
xferlog_std_format=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log" >/etc/vsftpd/vsftpd.conf #配置虚拟用户名的设置:
[root@localhost ~]mkdir -p /etc/vsftpd/user_config_dir
[root@localhost ~]mkdir -p /var/www/html/zongguofeng
[root@localhost ~]chmod -R 777 /var/www/html/zongguofeng
[root@localhost ~]touch /etc/vsftpd/user_config_dir/zongguofeng [root@localhost ~]echo "anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/var/www/html/zongguofeng
anon_mkdir_write_enable=YES" >/etc/vsftpd/user_config_dir/zongguofeng #重启vsftpd服务器,就OK了。

[root@localhost ~]service vsftpd restart
#zongguofeng 这个帐户,就弄好了。

添加后的ftp账户用户名zongguofeng
密码是guofeng
这些都是测试用的当然实际情况修改用户名和密码即可
###################################################################
如果你要添加新的虚拟用户,可以在这个文件里面加入新的用户:加入的虚拟用户是user 1密码是passwd是成功的
[root@localhost ~]vi /tmp/ftpuser_list然后保存。

(注意ftpuser_list的格式。

)zongguofeng #用户名
guofeng #密码
user1 #用户名
passwd #密码
记住中间没有空行和空格。

再使用:
[root@localhost ~]rm -rf /etc/vsftpd_login.db
[root@localhost ~]db_load -T -t hash -f /tmp/ftpuser_list /etc/vsftpd_login.db 就可以添加新的用户了。

添加新用户后:不用重启服务,就可以生效了。

[root@localhost ~]mkdir -p /var/www/html/user1
[root@localhost ~]chmod -R 777 /var/www/html/user1
[root@localhost ~]touch /etc/vsftpd/user_config_dir/user1
[root@localhost ~]echo "anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/var/www/html/user1
anon_mkdir_write_enable=YES" >/etc/vsftpd/user_config_dir/user1
此时新用户即可添加成功
/etc/vsftpd/user_config_dir/user1此文件是配置虚拟用户的一些参数限制,网上也有很多参考比如说限制超时,限制连接数都是可以实现的,具体的由于时间有限没有来的及测试及验证。

相关文档
最新文档