CentOS 6.3 FTP 安装vsftp虚拟用户设置全解
CentOS vsftp同时使用本地账号和虚拟账号
# directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). chroot_local_user=YES chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES # # When "listen" directive is enabled, vsftpd runs in standalone mode and # listens on IPv4 sockets. This directive cannot be used in conjunction # with the listen_ipv6 directive. listen=YES # listen_port=21 # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6 # sockets, you must run two copies of vsftpd with two configuration files. # Make sure, that one of the listen options is commented !! #listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES userlist_deny=YES tcp_wrappers=YES #cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNT O,SIZE,STC #enable virtual user guest_enable=YES #指定虚拟用户的宿主用户 guest_username=ftp #设定虚拟用户的权限符合他们的宿主用户 virtual_use_local_privs=YES #设定虚拟用户个人 Vsftp 的配置文件存放路径,也就是说,这个被指定的目录里,将存放每个 Vsftp 虚拟用
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#启用来宾帐号,也就是虚拟用户使用的帐号的权限用户。
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。
vsftp虚拟用户配置
1、在/etc/vsftpd/vsftpd.conf加入或者更改以下配置语句: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_loginaccount required pam_userdb.so db=/etc/vsftpd/vsftpd_login3、建立用户列表/tmp/logins.txt 内容如下cph1 (帐号)111111 (用户密码)cph2 (帐号)222222 (用户密码)cph3 (帐号)333333 (用户密码)注意:不要有空行,一行账号一行密码;奇数行为帐号,偶数行为密码4、建立访问者数据文件(如果没有可以安装:yum install db4-utils)#db_load -T -t hash -f /tmp/logins.txt /etc/vsftpd/vsftpd_login.db5、建立本地虚拟用户:#useradd -d /home/vsftp -s /sbin/nologin virtual6、在/home/ftp/创建目录并改变其属性和它的宿主#chown virtual /home/vsftp#chmod 700 /home/vsftp7、创建ftp用户配制文件目录:/etc/vsftpd/user_conf#mkdir /etc/vsftpd/user_conf8、在/etc/vsftpd/user_conf目录中创建以用户名命名的配置文件、cph1、cph2、cph3“cph1”文件内容如下:local_root=/home/ftpanon_world_readable_only=NOwrite_enable=YES (写权限)anon_mkdir_write_enable=YES (新建目录权限)anon_upload_enable=YES(上传权限)anon_other_write_enable=YES(删除/重命名的权限)“cph2”文件内容如下:local_root=/home/ftp (当然,你高兴也可以设置成其它,但要注意virtual用户对此目录的权限)anon_world_readable_only=NO (使download用户的能下载,也只能下载;写成YES,将不能列出文件和目录)“cph3”文件内容如下:local_root=/var/wwwanon_world_readable_only=NOanon_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注意事项:erdb的pam认证配置文件(pam_userdb.so)最好不要加路径,不然有可能会报错.2.添加allow_writeable_chroot=YES到vsftp.conf使得拥有写权限的虚拟root用户也可以登陆.。
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,⽤于匿名⽤户的映射。
CentOS 6 vsftp详解
CentOS 6.3 深入vsftpd的高级应用vsftp服务上产、下载、创建、删除、重命名大纲:一、匿名用户二、系统用户三、虚拟用户------------------------ftp> ?Commands may be abbreviated. Commands are:! debug mdir sendport site $ dir mget Put size account disconnect mkdir pwd status Append exit mls quit struct ascii form mode Quote system bell get modtime recv suniqueBinary glob mput reget tenex bye hashnewer rstatus tick case help nmap rhelptrace cd idle nlist rename type cdupimage ntrans reset user chmod lcd openrestart umask close ls prompt rmdir verbosecr macdef passive runique ?delete mdelete proxy send常用的命令!:退出quit:退出exit:退出cd:在登陆vsftpd后,切换目录lcd:切换系统上目录delete:删除文件,文件rmdir:删除目录,目录put:上传;一次上传一个文件mput:上传;一次上传多个文件get:下载;一次下载一个文件mget:下载:一次下载多个文件rename:重命名mkdir:创建目录dir:查看目录列表ls: 查看目录列表#参数禁用匿名用户和系统用户访问anonymous_enable=NOlocal_enable=NO#访问结果如下[root@localhost vsftpd]# ftp localhostTrying ::1...ftp: connect to address ::1拒绝连接Trying 127.0.0.1...Connected to localhost (127.0.0.1).500 OOPS: vsftpd: both local and anonymous access disabled!ftp>=========================创建目录权限================================ 首先来看匿名用户1、在匿名用户的根目录下创建一个子目录[root@vsftpd ~]# mkdir /var/ftp/upload[root@vsftpd ~]# ll -d /var/ftp/upload/drwxr-xr-x 2 root root 4096 7月 19 19:11 /var/ftp/upload/2、匿名用户在upload目录中第一次创建test目录[root@vsftpd ~]# ftp localhostTrying ::1...ftp: connect to address ::1拒绝连接Trying 127.0.0.1...Connected to localhost (127.0.0.1).220 (vsFTPd 2.2.2)Name (localhost:root): ftp331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> dir227 Entering Passive Mode (127,0,0,1,134,99).150 Here comes the directory listing.drwxr-xr-x 2 0 0 4096 Mar 01 2013 pubdrwxr-xr-x 2 0 0 4096 Jul 19 11:11 upload226 Directory send OK.ftp> cd upload250 Directory successfully changed.ftp> mkdir test #权限被拒绝,错误代码550550 Permission denied.3、修改vsftpd的配置文件,增加创建目录的权限[root@vsftpd vsftpd]# vim vsftpd.confanon_mkdir_write_enable=YES4、修改配置文件后,每次都要重新载入配置文件[root@vsftpd vsftpd]# service vsftpd restart关闭 vsftpd: [确定]为 vsftpd 启动 vsftpd: [确定]5、匿名用户第二次登录并在upload目录中创建test目录[root@vsftpd ~]# ftp localhostTrying ::1...ftp: connect to address ::1拒绝连接Trying 127.0.0.1...Connected to localhost (127.0.0.1).220 (vsFTPd 2.2.2)Name (localhost:root): ftp331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> cd upload250 Directory successfully changed.ftp> mkdir test #提示创建目录操作失败,错误代码依旧是550550 Create directory operation failed.注释:同样是错误代码550,但是代表的意义是不一样的。
centos下安装vsfptd架设ftp服务器
谢谢你了,
LINUX 默认会起这个防火墙吗??
顺便说一下刚才发现一个查看服务的命令
/sbin/service --status-all
ftp:connect:未知错误号
可能的原因是ftp服务没有真正启动成功,可以做以下几步
1、查看两台机器间能否ping通
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
OK表示重启成功了.
启动和关闭分别把restart改为start/stop即可.
如果是源码安装的,到安装文件夹下找到start.sh和shutdown.sh文件,执行它们就可以了.
默认vsftpd.conf中不包含这些设定项目,需要自己手动添加CentOS FTP服务配置。
guest_enable=YES 设定启用虚拟用户功能。
guest_username=ftp 指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了
user_config_dir=/etc/vsftpd/vuser_conf 设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。
请问在字符方式下如何关闭我LINUX上的防火墙?
yongpeng
我的FTP无法访问提示ftp: connect :未知错误号
service iptables stop
or
/etc/rc.d/init.d/iptables stop
nios
我的FTP无法访问提示ftp: connect :未知错误号
3.与vsftpd服务器有关的文件和文件夹
vsftpd服务器的配置文件的是: /etc/vsftpd/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说明如下#是否允许登陆⽤户有写权限。
vsftp添加虚拟用户
之前配置的vsftp,为了省事和方便,都是用系统用户。
今天有人找我配置一个采用虚拟用户的系统CU看了看精华帖子,然后照做之,很容易就成功了需要说明的是,如果系统已经安装了rpm,可以直接修改rpm的配置文件rpm的配置文件在/etc/vsftpd/vsftpd.conf如果是tar源码安装,配置文件在/etc/vsftpd.confrpm的可执行文件在/usr/sbin/vsftpdtar的可执行文件在/usr/local/sbin/vsftpd不要在已经安装了rpm的情况下去用tar编译,我就是这么干的,结果弄的我晕死因为默认的PATH搜索路径中,/usr/sbin/ 是比/usr/local/sbin/优先的。
rpm安装很简单,tar安装也很简单,需要做的工作就是修改配置文件如果从源码安装,我们可以打开一些功能# vi builddefs.h \\编辑builddefs.h 文件,文件内容如下:#ifndef VSF_BUILDDEFS_H#define VSF_BUILDDEFS_H#undef VSF_BUILD_TCPWRAPPERS#define VSF_BUILD_PAM#undef VSF_BUILD_SSL把需要的功能前面的undef 改成define,然后编译就可以用了。
tcp_wrappers是一个比较有用的功能,创建必要的帐号,目录:# useradd nobody //可能你的系统已经存在此帐号,那就不用建立# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立# chown root:root /var/ftp# chmod og-w /var/ftp请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL 设置成/sbin/nologin,比如以上的nobody和ftp我就设置成/sbin/nologin#make#make install这样就安装完成了。
CentOS中vsftp安装与配置详解
CentOS中vsftp安装与配置详解⼀般我们在安装完系统后都会⾃动安装了vsftp服务了,但是有时候还是得需要⾃⼰动⼿的,⽐如这两天就在给我朋友配置了⼀下,顺⼿把过程记录下来,以便需要的时候查阅或者给需要的朋友提供⽅便:)1. 安装使⽤chkconfig --list来查看是否装有vsftpd服务;使⽤yum命令直接安装:yum -y install vsftpd然后为它创建⽇志⽂件:touch /var/log/vsftpd.log这样简单的两个命令就完成了vsftp的安装,但是如果你现在想这样ftp://your_ip来访问的话,那还不⾏,为什么??很简单,权限的问题!2. 启动与配置⾃启动使⽤chkconfig --list来查看vsftpd服务启动项情况;如果看到的是如下显⽰的结果:vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off服务全部都是off的,注意这⾥的off表⽰的是服务器启动的时候是否会⾃启动服务,我们使⽤如下命令来配置其⾃启动:chkconfig --level 2345 vsftpd on #2345对应的是上⾯对应的0-6项查看与管理ftp服务:启动ftp服务:service vsftpd start查看ftp服务状态:service vsftpd status重启ftp服务:service vsftpd restart关闭ftp服务:service vsftpd stop3. 配置vsftp服务编辑/etc/vsftpd/vsftpd.conf⽂件,配置vsftp服务#vi /etc/vsftpd/vsftpd.conf3.1 编辑修改如下项⽬:anonymous_enable=NO #设定不允许匿名访问local_enable=YES #设定本地⽤户可以访问。
注:如使⽤虚拟宿主⽤户,在该项⽬设定为NO的情况下所有虚拟⽤户将⽆法访问。
centos6安装ftp+添加用户配置
1.安装vsftp:yum -y install vsftp2.修改配置文件mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak //备份vi /etc/vsftpd/vsftpd.conf //创建配置文件列出我的配置,根据环境修改做适当修改,注意每行后面不可有空格anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022anon_upload_enable=NOanon_mkdir_write_enable=NOdirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESchown_uploads=NOxferlog_file=/var/log/xferlogxferlog_std_format=YESnopriv_user=ftpdeasync_abor_enable=YESascii_upload_enable=YESascii_download_enable=YESftpd_banner=Welcome to blah FTP service.chroot_local_user=NOchroot_list_enable=YESchroot_list_file=/etc/vsftpd/vsftpd.chroot_listlisten=YESpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YES#You need to add contentbackground=YESguest_enable=YESguest_username=ftpdeuser_config_dir=/etc/vsftpd/user_configmax_clients=100max_per_ip=20pasv_enable=YESpasv_min_port=6000pasv_max_port=70003.创建本地用户ftpde 以及chroot虚拟用户映射文件useradd ftpde //创建ftpde用户,此用户为系统用户vi /etc/vsftpd/vsftpd.chroot_listftpde //该文件为手动建立,每一行代表一个欲将虚拟用户映射到本地账户的名称4.创建用户账户文件passwd.file该文件默认也不存在的,该文件用来存储用户账户以及明文密码,格式为每个账户两行,第一行是用户名,第二行是密码,以此类推!vi /etc/vsftpd/passwd.fileftpdemo1234565.生成虚拟用户认证的db文件db_load -T -t hash -f /etc/vsftpd/passwd.file /etc/vsftpd/ftpuser_passwd.db6.创建用户配置文件建立好账户后,需要为每个用户创建记录FTP目录位置、用户权限等信息的配置文件mkdir /etc/vsftpd/user_config配置文件以FTP用户名为文件名称,每个FTP用户一个文件,例如ftedemovi /etc/vsftpd/user_config/ftpdemo内容如下:local_root=/data/FTP/ftpuser //该路径对应的目录必须存在,下一步创建write_enable=YESanon_umask=022anon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES7.创建ftp用户目录,并赋读/写权限mkdir -p /data/FTP/ftpdemoFTP 用户所映射到的系统帐户必须对FTP 用户主目录拥有相应的读/写权限。
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值中的数字。
vsftpd_虚拟用户配置详解
一在线安装vsftpd需要的组件yum -y install vsftpd*yum -y install pam*yum -y install db4二建立虚拟用户[root@localhost ~]#vi /etc/vsftpd/vftpuser.txt添加虚拟用户名和密码奇数行为用户名反之为密码qiu123cancan123456三生成虚拟用户口令认证文件把刚添加的vftpuser.txt虚拟用户口令转换成系统的口令认证文件root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vu_list.db四编辑vsftpd的PAM认证[root@localhost ~]#vi /etc/pam.d/vsftpd.vu录入下文auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_listaccount required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list五建立本地映射用户并设置宿主权限[root@localhost ~]#mkdir /opt/tonecan (在/opt建立一个tonecan)[root@localhost ~]#useradd -d /opt/tonecan -s /sbin/nologin vftpuser[root@localhost ~]#chmod 777 /opt/tonecan并且设置权限为777.六配置vsftpd.conf (设置虚拟用户配置项)[root@localhost ~]#vi /etc/vsftpd/vsftpd.confguest_enable=YES #开启虚拟用户user_config_dir=/etc/vsftpd/vsftpd_user_conf 虚拟用户配置文件存放位置guest_username=vftpuser (FTP虚拟用户对用的系统用户useradd -d /opt/tonecan -s/sbin/nologin vftpuser)pam_service_name=vsftpd#PAM认证文件七测试登录root@localhost ~]#service vsftpd restart重启vsftpd服务然后测试登录。
CentOS vsftp安装与配置
重启计算机后,防火墙默认已经开放了20和21两个ftp端口。
设置防火墙开放端口的方法如下:
vi /etc/sysconfig/iptables
修改防火墙时注意最好留下VNC和SSH的管理端口。
下面是一个iptables的示例:
~~~~~~~~~~~~~~~~~~~~~~~
VsFTP出现500 OOPS: cannot change directory的解决办法
匿名时可以访问,但是用root访问时报500 错误,错误如下:
Connecting to 192.168.0.16 , 15 dec 2009 09:35:27
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
重启vsftpd服务即可。
注意,禁止root访问是处于安全性考虑,正常情况下,不要开启root的ftp访问。
Preparing... ########################################### [100%]
1:vsftpd ########################################### [100%]
[root@localhost /]# cd /mnt/cdrom/Server/
[root@localhost Server]# rpm -ivh vsftpd-2.0.5-12.el5.i386.rpm 安装vsftp RPM包
warning: vsftpd-2.0.5-12.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
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的安装与配置
设置vsftpd 2345为启动状态:chkconfig --level 2345 vsftpd on
2.查看,修改防火墙状态
查看防火墙状态:/etc/init.d/iptables status
添加开放21号端口:/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
配置文件中没有的就添加,没有的就对值进行修改.
修改文件夹权限
cd /var/ftp
chmod 757 pub
注:
修改文件夹权限的命令:chmod 777 pub
777的意思就是 root root组 other 的权限,7=4+2+1=r+w+x=读+写+执行
查看文件夹权限的命令
三、vsftpd 的安装
1. 对于Debian和Ubuntu系统,可以直接通过: sudo apt-get install vsftpd 来安装
启用,停用和重新启动是: /etc/init.d/vsftpd start(stop 和 restart)
2. 对于Redhat, Fedoar和Centos一般这3类系统,都自带vsftpd,可以通过: rpm -qa|grep vsftp,来查询下是否已经安装了。如果没装,可以从光盘里面找到安装包双击安装,或者也可以: yum install vsftpd 来安装。(我是安装的CentOS 5.4 我用的命令就是yum install vsftpd)
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.init
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六。
Centos6,ftp配置,vsftpd,553,227,解决
client
登录
[root@nxccntp ~]# ftp 172.30.130.220 Connected to 172.30.130.220 (172.30.130.220). 220 (vsFTPd 2.2.2) Name (172.30.130.220:root): ftpUser 331 Please specify the password. Password: 500 OOPS: cannot change directory:/home/ftpUser/ Login failed. ftp> ftp> ftp> ! setsebool -P ftpd_disable_trans 1 setsebool -P ftp_home_dir=1 service vsftpdserver 1.查看是否已安装 :rpm -qa | grep vsftpd 2.安装vsftpd:yum install -y vsftpd 启动vsftpd:/etc/rc.d/init.d/vsftpd 3.备份配置:cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk 4.修改配置:vi /etc/vsftpd/vsftpd.conf 匿名上传 no ; 日志文件chroot_list_file=/etc/vsftpd/chroot_list 5.关闭vi /etc/selinux/config SELINUX=disabled 6.建ftp用户:useradd -d /home/ftpUser -g ftp -s /sbin/nologin ftpUser 编辑文件chroot_list: vi /etc/vsftpd/chroot_list 内容为ftp用户名,每个用户占一行 ,如: ftpUser 7.启动vsftpd:/etc/rc.d/init.d/vsftpd
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、准备安装环境:CentOS 6.3安装:Minimal(最小)注意:修改时区和时间所需要的软件:vsftp http pam db4-devel ftp(客户端安装包)二、安装:1.安装Vsftpd服务相关部件:[root@server ~]# rpm -qa |grep vsftp[root@server ~]# yum install vsftpd* -y2.确认安装PAM服务相关部件:[root@server ~]# rpm -qa |grep pam[root@server ~]# yum install pam*开发包,其实不装也没有关系,主要的目的是确认PAM。
3.安装DB4部件包:这里要特别安装一个db4的包,用来支持文件数据库。
[root@server ~]# rpm -qa |grep db4[root@server ~]# yum install db4*确保DB4工具包安装:db4-utils-4.7.25-17.el6.i6864.安装http软件包:[root@server ~]# yum install httpd*三、系统帐户1.建立系统帐户:[root@server ~]# useradd ftp01[root@server ~]# passwd ftp01更改用户 ftp01 的密码。
新的密码:无效的密码:它没有包含足够的不同字符无效的密码:是回文重新输入新的密码:passwd:所有的身份验证令牌已经成功更新。
2.建立Vsftpd服务的宿主用户:[root@server ~]#useradd vsftpd -s /sbin/nologin默认的Vsftpd的服务宿主用户是root,但是这不符合安全性的需要。
这里建立名字为vsftpd的用户,用他来作为支持Vsftpd的服务宿主用户。
由于该用户仅用来支持Vsftpd服务用,因此没有许可他登陆系统的必要,并设定他为不能登陆系统的用户。
3.建立Vsftpd虚拟宿主用户:[root@server ~]#useradd virtusers -s /sbin/nologin本篇主要是介绍Vsftp的虚拟用户,虚拟用户并不是系统用户,也就是说这些FTP的用户在系统中是不存在的。
他们的总体权限其实是集中寄托在一个在系统中的某一个用户身上的,所谓Vsftpd的虚拟宿主用户,就是这样一个支持着所有虚拟用户的宿主用户。
由于他支撑了FTP的所有虚拟的用户,那么他本身的权限将会影响着这些虚拟的用户,因此,处于安全性的考虑,也要非分注意对该用户的权限的控制,该用户也绝对没有登陆系统的必要,这里也设定他为不能登陆系统的用户。
四、调整Vsftpd的配置文件1.编辑配置文件前先备份[root@server ~]#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak编辑主配置文件vsftpd.conf[root@server ~]#vim /etc/vsftpd/vsftpd.conf这里我将原配置文件的修改完全记录,凡是修改的地方我都会保留注释原来的配置。
其中加入我对每条配置项的认识,对于一些比较关键的配置项这里我做了我的观点,并且原本英语的说明我也不删除,供参考对比用。
------------------------------------------------------------------------------# Example config file /etc/vsftpd/vsftpd.conf## The default compiled in settings are fairly paranoid. This sample file# loosens things up a bit, to make the ftp daemon more usable.# Please see vsftpd.conf.5 for all compiled in defaults.## READ THIS: This example file is NOT an exhaustive list of vsftpd options.# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's# capabilities.## Allow anonymous FTP? (Beware - allowed by default if you comment this out).#anonymous_enable=YESanonymous_enable=NO //设定不允许匿名访问## Uncomment this to allow local users to log in.local_enable=YES //设定本地用户可以访问。
注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问。
## Uncomment this to enable any form of FTP write command.write_enable=YES //设定可以进行写操作。
## Default umask for local users is 077. You may wish to change this to 022,# if your users expect that (022 is used by most other ftpd's)local_umask=022 //设定上传后文件的权限掩码。
## Uncomment this to allow the anonymous FTP user to upload files. This only# has an effect if the above global write enable is activated. Also, you will# obviously need to create a directory writable by the FTP user.#anon_upload_enable=YESanon_upload_enable=NO //禁止匿名用户上传。
## Uncomment this if you want the anonymous FTP user to be able to create# new directories.#anon_mkdir_write_enable=YESanon_mkdir_write_enable=NO //禁止匿名用户建立目录。
## Activate directory messages - messages given to remote users when they# go into a certain directory.dirmessage_enable=YES //设定开启目录标语功能。
## Activate logging of uploads/downloads.xferlog_enable=YES //设定开启日志记录功能。
## Make sure PORT transfer connections originate from port 20 (ftp-data).connect_from_port_20=YES //设定端口20进行数据连接。
## If you want, you can arrange for uploaded anonymous files to be owned by# a different user. Note! Using "root" for uploaded files is not# recommended!#chown_uploads=YESchown_uploads=NO //设定禁止上传文件更改宿主。
#chown_username=whoeverchroot_local_user=YES //设定登陆后.只可以访问自己的属主目录.不可访问上一层目录文件## You may override where the log file goes if you like. The default is shown# below.xferlog_file=/var/log/vsftpd.log //设定Vsftpd的服务日志保存路径。
注意,该文件默认不存在。
必须要手动touch出来,并且由于这里更改了Vsftpd的服务宿主用户为手动建立的Vsftpd。
必须注意给与该用户对日志的写入权限,否则服务将启动失败。
## If you want, you can have your log file in standard ftpd xferlog formatxferlog_std_format=YES //设定日志使用标准的记录格式。
## You may change the default value for timing out an idle session.#idle_session_timeout=600 //设定空闲连接超时时间,这里使用默认。
将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值600,单位秒。
## You may change the default value for timing out a data connection.#data_connection_timeout=120 //设定单次最大连续传输时间,这里使用默认。
将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值120,单位秒。
## It is recommended that you define on your system a unique user which the# ftp server can use as a totally isolated and unprivileged user.#nopriv_user=ftpsecurenopriv_user=vsftpd //设定支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户。
注意,一旦做出更改宿主用户后,必须注意一起与该服务相关的读写文件的读写赋权问题。
比如日志文件就必须给与该用户写入权限等。
## Enable this and the server will recognise asynchronous ABOR requests. Not# recommended for security (the code is non-trivial). Not enabling it,# however, may confuse older FTP clients.async_abor_enable=YES //设定支持异步传输功能。