在本文中,我们将详细介绍CentOS6.3下vsftpd通过pam认证实现虚拟用户文件共享的各个方面,并为您提供关于centos7vsftpd配置虚拟用户的相关解答,同时,我们也将为您带来关于Cent
在本文中,我们将详细介绍CentOS6.3下vsftpd通过pam认证实现虚拟用户文件共享的各个方面,并为您提供关于centos7 vsftpd配置虚拟用户的相关解答,同时,我们也将为您带来关于CentOS 5.3系统设置vsftpd虚拟用户的具体步骤、CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户、centos 6 安装vsftpd与PAM虚拟用户的方法、CentOS 6.2 快速配置vsftpd虚拟用户的步骤分享的有用知识。
本文目录一览:- CentOS6.3下vsftpd通过pam认证实现虚拟用户文件共享(centos7 vsftpd配置虚拟用户)
- CentOS 5.3系统设置vsftpd虚拟用户的具体步骤
- CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户
- centos 6 安装vsftpd与PAM虚拟用户的方法
- CentOS 6.2 快速配置vsftpd虚拟用户的步骤分享
CentOS6.3下vsftpd通过pam认证实现虚拟用户文件共享(centos7 vsftpd配置虚拟用户)
FTP的全称是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.它工作在OSI模型的第七层,即是应用层,使用TCP传输而不是UDP.这样FTP客户端和服务器建立连接前就要经过一个"三次握手"的过程.FTP服务还有一个非常重要的特点是它可以独立于平台。
LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等。Red Hat Enterprise Linux中默认安装的是vsftpd。
通常,访问FTP服务器时需要经过验证,只有经过了FTP服务器的相关验证,用户才能访问和传输文件.vsftpd提供了3种ftp登录形式:
(1)anonymous(匿名帐号)
使用anonymous是应用广泛的一种FTP服务器.如果用户在FTP服务器上没有帐号,那么用户可以以anonymous为用户名,以自己的电子邮件地址为密码进行登录.当匿名用户登录FTP服务器后,其登录目录为匿名FTP服务器的根目录/var/ftp.为了减轻FTP服务器的负载,一般情况下,应关闭匿名帐号的上传功能。
(2)real(真实帐号)
real也称为本地帐号,就是以真实的用户名和密码进行登录,但前提条件是用户在FTP服务器上拥有自己的帐号.用真实帐号登录后,其登录的目录为用户自己的目录,该目录在系统建立帐号时系统就自动创建。
(3)guest(虚拟帐号)
如果用户在FTP服务器上拥有帐号,但此帐号只能用于文件传输服务,那么该帐号就是guest,guest是真实帐号的一种形式,它们的不同之处在于,geust登录FTP服务器后,不能访问除宿主目录以外的内容。
下面就对其详细介绍。
接下来我们开始实现vsftpd的虚拟用户的功能:
1、yum安装vsftpd程序:
2、修改配置文件
备份修改配置文件
3、在/etc/vsftpd/下创建两个目录
4、更改pam认证模块
5、为虚拟用户创建对应的文件
到这里基本上算是配置完成了,可以启动vsftpd服务了:
然后可以直接在windows下登录测试一下看了:
OK,到这里就完全实现了pam认证的vsftpd虚拟用户的配置了,可以实现虚拟用户登录FTP功能了。
本文出自 “温水煮青蛙” 博客,请务必保留此出处http://tanxw.blog.51cto.com/4309543/1599747
CentOS 5.3系统设置vsftpd虚拟用户的具体步骤
我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。
匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。
本地用户登录:使用系统用户登录,在/etc/passwd中。
虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。
FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。
本文的Linux系统是CentOS 5.3
yum -y install vsftpd
一、建立Vsftpd虚拟用户:
1、添加虚拟用户口令文件安装Vsftpd
[root@51ou.com ~]#vi /etc/vsftpd/vftpuser.txt
添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。
ftp1 #用户名
123456 #密码
ftp2 #用户名
123456 #密码
2、生成虚拟用户口令认证文件
将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。
首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。
下面使用db_load命令生成虚拟用户口令认证文件。
[root@51ou.com ~]# db_load -T -t hash -f /home/vuser.txt /etc/vsftpd_login.db
-bash: db_load: command not found
###############################
出现没有db_load的提示是因为有些db4的包没有安装,需要安装下列包:
db4-*.rpm
db4-tcl-*.rpm
db4-utils-*.rpm
或者直接: yum -y install db4 db4-tcl db4-utils
db_load命令主要是用来生成db数据库使用的
格式:
db_load -T -t hash -f passwd.txt /etc/vsftpd/user_passwd.db
生成一个hash码型的数据库文件供ftp虚拟用户使用。
##########################
[root@51ou.com ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
3、编辑vsftpd的PAM认证文件
在/etc/pam.d目录下,
[root@51ou.com ~]#vi /etc/pam.d/vsftpd
将里面其他的都注释掉,添加下面这两行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
4、建立本地映射用户并设置宿主目录权限
所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
[root@51ou.com ~]#useradd -d /home/vftpsite -s /sbin/nologin vftpuser
[root@51ou.com ~]#chmod 755 /home/vftpsite //网上为700,设置为700后FTP用户无上传权限
5、配置vsftpd.conf(设置虚拟用户配置项)
[root@51ou.com ~]#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES #开启虚拟用户
guest_username=vftpuser #FTP虚拟用户对应的系统用户[useradd -d /home/vftpsite -s
/sbin/nologin vftpuser]
pam_service_name=vsftpd #PAM认证文件
6、重启vsftpd服务
[root@51ou.com ~]#service vsftpd restart
7、测试虚拟用户登录FTP
C:Documents and SettingsAdministrator>ftp 192.168.2.12
Connected to 192.168.2.12.
220 (vsFTPd 2.0.5)
User (192.168.2.12:(none)): ftp1
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/vftpsiteConnection closed by remote host
.//在配置vsftpd的时候连接vsftpd出现了500 OOPS: cannot change directory:/home/vftpsite
的错误,vftpsite为登录时使用的本地用户名。
解决办法:
[root@51ou.com ~]# setsebool -P ftp_home_dir on
也有网上说在终端输入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
就OK了!
测试:
C:Documents and SettingsAdministrator>ftp 192.168.2.12
Connected to 192.168.2.12.
220 (vsFTPd 2.0.5)
User (192.168.2.12:(none)): ftp1
331 Please specify the password.
Password:
230 Login successful.
二、虚拟用户高级设置:
1、virtual_use_local_privs参数
当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。
当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除
、重命名)。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。
2. 建立各个虚拟用户自身的配置文件
[root@51ou.com ~]#vi /etc/vsftpd/vsftpd.conf
添加:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
[root@51ou.com ~]#mkdir /etc/vsftpd/vsftpd_user_conf
编辑ftp1的配置文件
[root@51ou.com ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp1
添加:
anon_world_readable_only=NO #开放ftp1的下载权限(只能下载)。注意这个地方千万不能写成YES
,否则ftp1将不能列出文件和目录。
编辑ftp2的配置文件
[root@51ou.com ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp2
添加:
write_enable=YES #开放ftp2的写权限
anon_world_readable_only=NO #开放ftp2的下载权限
anon_upload_enable=YES #开放ftp2的上传权限
anon_mkdir_write_enable=YES #开放ftp2创建目录的权限
anon_other_write_enable=YES #开放ftp2删除和重命名的权限
3、所有虚拟用户使用一般配置
[root@51ou.com ~]#vi /etc/vsftpd/vsftpd.conf
write_enable=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=vftpuser
virtual_use_local_privs=NO
pam_service_name=vsftpd
anon_world_readable_only=NO #可以下载
anon_upload_enable=NO(默认值) #不能上传
anon_mkdir_write_enable=NO(默认值) #不能新建文件夹
anon_other_write_enable=NO(默认值) #不能删除和重命名文件
ftpd_banner=Welcome to yoozhu FTP server
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
tcp_wrappers=NO
setproctitle_enable=YES
listen_port=21
connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=0
max_per_ip=3
local_max_rate=512000
4、各个虚拟用户使用自身配置
[root@51ou.com ~]#vi /etc/vsftpd/vsftpd.conf
write_enable=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=vftpuser
virtual_use_local_privs=NO
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf #设定用户配置文件存放目录
ftpd_banner=Welcome to yoozhu FTP server
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
tcp_wrappers=NO
setproctitle_enable=YES
listen_port=21
connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=0
max_per_ip=3
local_max_rate=512000
[root@51ou.com ~]#mkdir /etc/vsftpd/vsftpd_user_conf
编辑ftp1的配置文件
[root@51ou.com ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp1
anon_world_readable_only=NO
编辑ftp2的配置文件
[root@CentOS5 /]#vi /etc/vsftpd/vsftpd_user_conf/ftp2
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
以上就是CentOS 5.3系统设置vsftpd虚拟用户的具体步骤,谢谢阅读,希望能帮到大家,请继续关注江湾时代,我们会努力分享更多优秀的文章。
CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户
环境:centos5.5+Vsftpd-2.3.4
一、下载当前vsftp最新版本
wget http://www.centoscn.com/tool/vsftpd-2.3.4.tar.gz
二、安装前准备
1、创建虚拟用户映射的本地用户wwwftp
useradd wwwftp -d /data/www -s /sbin/nologin
2、创建自定义配置目录
mkdir -p /data/soft/vsftpd/conf mkdir -p /data/soft/vsftpd/bin mkdir -p /data/soft/vsftpd/lib mkdir -p /data/soft/vsftpd/user_conf mkdir -p /data/soft/vsftpd/empty mkdir -p /data/soft/vsftpd/logs mkdir -p /data/www mkdir -p /data/www/user1 mkdir -p /data/www/user2
3、对自定义目录设置权限
chown -R wwwftp:www /data/www chmod -R 700 /data/soft/vsftpd/empty/ chown -R wwwftp:wwwftp /data/soft/vsftpd/empty/
4、复制用于验证用户登录的库文件到自定义目录方便管理
cp /lib/security/pam_userdb.so /data/soft/vsftpd/lib/
5、安装所需软件
yum -y install gcc db4* pam*
三、解压安装vsftpd
tar zxvf vsftpd-2.3.4.tar.gz cd vsftpd-2.3.4
源码安装默认不支持tcp_wrappers和ssl
需要修改builddefs.h
/*默认值如下:*/ #undef VSF_BUILD_TCPWRAPPERS /*是否支持TCP WRAPPERS*/ #define VSF_BUILD_PAM /*是否支持自定义虚拟用户登录*/ #undef VSF_BUILD_SSL /*是否支持SSL传输*/ /*支持则将对应项设为define,否则设为undef*/
编译vsftpd
make
查看编译的vsftpd二进制文件是否加载了pam
ldd vsftpd
如下:
[root@CentOS5 vsftpd-2.3.4]# ldd vsftpd linux-gate.so.1 => (0x00628000) libwrap.so.0 => /lib/libwrap.so.0 (0x00cee000) libnsl.so.1 => /lib/libnsl.so.1 (0x0015f000) libpam.so.0 => /lib/libpam.so.0 (0x00fc4000) libdl.so.2 => /lib/libdl.so.2 (0x007dc000) libresolv.so.2 => /lib/libresolv.so.2 (0x008d8000) libutil.so.1 => /lib/libutil.so.1 (0x00110000) libcap.so.1 => /lib/libcap.so.1 (0x00d99000) libc.so.6 => /lib/libc.so.6 (0x0029a000) libaudit.so.0 => /lib/libaudit.so.0 (0x00114000) /lib/ld-linux.so.2 (0x004a2000)
看到libpam.so.0 => /lib/libpam.so.0 (0x00fc4000)表示已成功加载pam认证模块
cp vsftpd /data/soft/vsftpd/bin
四、配置vsftpd
1、创建主配置文件
vi /data/soft/vsftpd/conf/vsftpd.conf
如下:
local_enable=YES anonymous_enable=NO anon_upload_enable=NO anon_other_write_enable=NO anon_mkdir_write_enable=NO ftpd_banner=Welcome to FTP service. listen=YES listen_port=21 connect_from_port_20=YES nopriv_user=nobody tcp_wrappers=YES chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/data/soft/vsftpd/chroot_list userlist_enable=yes userlist_deny=no userlist_file=/data/soft/vsftpd/allow dual_log_enable=YES vsftpd_log_file=/data/soft/vsftpd/logs/vsftpd.log xferlog_enable=YES xferlog_file=/data/soft/vsftpd/logs/xferlog pasv_enable=YES pasv_min_port=50000 pasv_max_port=60000 guest_enable=YES guest_username=wwwftp pam_service_name=vsftpd virtual_use_local_privs=YES use_localtime=YES user_config_dir=/data/soft/vsftpd/user_conf secure_chroot_dir=/data/soft/vsftpd/empty
2、创建允许登录ftp的用户文件
vi /data/soft/vsftpd/allow
如下:
user1 user2
3、创建用于锁定用户目录的用户列表文件
vi /data/soft/vsftpd/chroot_list
如下
user1 user2
4、配置vsftpd的pam认证模块(用于虚拟用户认证)
vi /etc/pam.d/vsftpd
如下
auth required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login account required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login
保存退出
5、创建用户名密码文本文件
vi /data/soft/vsftpd/login.txt
如下:一行用户名一行密码
user1 123456 user2 654321
保存退出
6、用db_load生成用户数据库
db_load -T -t hash -f /data/soft/vsftpd/login.txt /data/soft/vsftpd/login.db chmod 600 /data/soft/vsftpd/login.db rm -rf /data/soft/vsftpd/login.txt
7、配置虚拟用户自定义配置文件
vi /data/soft/vsftpd/user_conf/user1
user1所有权限
local_root=/data/www/user1 write_enable=YES local_umask=022
保存退出
vi /data/soft/vsftpd/user_conf/user2
user2只允许下载
local_root=/data/www/user2 write_enable=NO download_enable=YES local_umask=022
保存退出
8、启动vsftpd服务
/data/soft/vsftpd/bin/vsftpd /data/soft/vsftpd/conf/vsftpd.conf &
五、测试
user1登录可读、写、删除、创建、修改一切权限
user2登录仅有下载权限
centos 6 安装vsftpd与PAM虚拟用户的方法
使用yum 安装vsftp
yum install vsftpd pam pam-* db4 db4-*
创建一个保存用户及密码的文件
cd /etc/vsftpd/ touch vuser_passwd.txt
添加用户(奇行用户,偶行密码)
vim vuser_passwd.txt tom DSfaoewLD3 ken GetpOIIofd324DLJhg
将文本内的帐号及密码添加到db4的数据库文件内
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
将vsftpd原内容全部注释掉,并添加如下:
sed -ir ''s/^/#/g'' /etc/pam.d/vsftpd auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
创建一个vsftpd服务的用户vsftpd,你也可以使用-d来指定他的家目录
useradd -d /home/vsftpd -s /sbin/nologin vsftpd
更改 vsftpd的配置文件,先备份一下vsftpd.conf
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
配置如下:
#不允许匿名访问 anonymous_enable=NO #设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问 local_enable=YES #允许写操作 write_enable=YES #创建或上传后文件的权限掩码 local_umask=022 #禁止匿名用户上传 anon_upload_enable=NO #禁止匿名用户创建目录 anon_mkdir_write_enable=NO #进入目录时可以显示一些设定的信息,可以通过message_file=.message来设置 dirmessage_enable=YES #开启日志 xferlog_enable=YES #主动连接的端口号 connect_from_port_20=YES #设定禁止上传文件更改宿主 chown_uploads=NO #日志路径,记得自己创建一下并且对这个文件进行chown vsftpd.vsftpd /var/log/vsftpd.log xferlog_file=/var/log/vsftpd.log #就是格式话日志格式的,你懂得。使用wu ftp软件时设置yes就行 xferlog_std_format=YES #因为我们把vsftpd的shell设置为nobody 了,所以 这个地方写vsftpd就可以啦!当然或者可以写成系统内的nobody nopriv_user=vsftpd #设定支持异步传输功能 async_abor_enable=YES #设定支持ASCII模式的上传 ascii_upload_enable=YES #设定支持ASCII模式的上传 ascii_download_enable=YES #登陆欢迎语 ftpd_banner=Welcome to dongnan FTP service. #限定在自己的目录内,不让他出去,就比如如果设置成NO,那么当你登陆到ftp的时候,可以访问服务器的其他一些有权限目录。设置为YES后即,锁定你的目录了 chroot_list_enable=YES #待会要把用户写到这个里面,写到这里的用户乖乖的呆在家目录下吧 chroot_list_file=/etc/vsftpd/chroot_list #以standalone方式来启动 listen=YES #/etc/pam.d/下的vsftpd文件 pam_service_name=vsftpd #在/etc/vsftpd/user_list中的用户将不得使用FTP userlist_enable=YES #支援 TCP Wrappers 的防火墙机制 tcp_wrappers=YES #启用虚拟用户功能 guest_enable=YES guest_username=vsftpd #虚拟用户的权限符合他们的宿主用户 virtual_use_local_privs=YES #虚拟用户个人vsftpd的配置文件存放路径。vsftpd_config是文件夹啊。注意:配置文件名必须和虚拟用户名相同 user_config_dir=/etc/vsftpd/vuser_conf #设置被动模式 pasv_enable=yes #被动模式数据传输端口范围 pasv_min_port=8888 pasv_max_port=8899
创建保存虚拟用户配置文件的目录
mkdir /etc/vsftpd/vuser_conf/
创建vsftp日志文件
touch /var/log/vsftpd.log chmod 600 /var/log/vsftpd.log chown vsftpd.vsftpd /var/log/vsftpd.log
创建要将哪些用户固定在家目录的配置文件
touch /etc/vsftpd/chroot_list echo -e "vsftpd\ntom\nken" > /etc/vsftpd/chroot_list
将需要固定用户目录的用户名字写进去即可
cd /etc/vsftpd/vuser_conf/ cat > tom << EOF #起用虚拟用户,centos下yes必须为小写字母 local_root=/home/ftp/tom write_enable=YES anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
注:行末不能有空格
启动vsftpd
/etc/init.d/vsftpd start
总结
以上所述是小编给大家介绍的centos 6 安装vsftpd与PAM虚拟用户的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
- VSFTPD配置(匿名——本地用户——虚拟用户)
- vsftpd 虚拟用户配置步骤
- Centos6.9安装vsftpd并配置多用户的方法
- Linux编译安装vsftpd服务器(本地用户验证方式)
- vsftpd匿名用户上传和下载的配置方法
- 建立基于虚拟用户的VSftpd服务
- 构建基于虚拟用户的vsftpd服务器应用
- 用shell脚本防ssh和vsftpd暴力破解的详解讲解
- vsftpd用户禁止ssh登陆的实现方法
CentOS 6.2 快速配置vsftpd虚拟用户的步骤分享
比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
之前就有弄过vsftpd,就不再介绍了!
安装:
复制代码
代码如下:
[root@linuxde ~]# mount /dev/cdrom /media #挂载镜像 省去yum源的配置
[root@linuxde ~]# yum install vsftpd #yum安装vsftpd
[root@linuxde ~]# mv /etc/vsftpd/vsftpd.conf <a>/etc/vsftpd/@vsftpd.conf.bak</a> #备份原始配置文件,以供日后的参照及使用
[root@linuxde ~]# vi /etc/vsftpd/vsftpd.conf #创建vsftpd.conf
内容如下:
复制代码
代码如下:
listen=YES
background=YES
anonymous_enable=NO
local_enable=YES
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=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to Nanu FTP server
pam_service_name=vsftpd
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
guest_enable=YES
guest_username=linuxde
nopriv_user=linuxde
user_config_dir=/etc/vsftpd/user_config
max_clients=100
max_per_ip=20
创建chroot虚拟用户映射文件
复制代码
代码如下:
[root@linuxde ~]# cat /etc/vsftpd/vsftpd.chroot_list
linuxde #该文件为手动建立,每一行代表一个欲将虚拟用户映射到本地账户的名称创建用户账户文件
复制代码
代码如下:
[root@linuxde ~]# cat /etc/vsftpd/passwd.file
chenchen #该文件默认也不存在的,该文件用来存储用户账户以及明文密码,格式为每个账户两行,第一行是用户名,第二行是密码,以此类推!
123
密码可以使用CentOS 自带的强密码生成工具创建
复制代码
代码如下:
[root@linuxde ~]# mkpasswd 参数 用户名
•-l 定义生成密码的长度,默认9
•-d 定义密码里面包含数字个数,默认2
•-c 定义包含小写字母个数,默认2
•-C 定义包含大写字母个数,默认2
•-s 定义包含特殊字符个数,默认1
•-p 另外指定一个生成密码的程序,默认是/etc/yppasswd
mkpasswd 隶属于 expect RPM 包,如果系统中没有,可以通过yum安装!
复制代码
代码如下:
[root@linuxde ~]# yum install expect
创建用户账户编译脚本
vsfptd使用DBD数据库进行账户验证,因此需要将用户账户文件passwd.file编译为DBD格式。
复制代码
代码如下:
[root@linuxde ~]# vi /etc/vsftpd/db_load.sh #创建一个脚本,也可以不创建,直接使用命令实现!
[root@linuxde ~]# cat /etc/vsftpd/db_load.sh</p>
<p>#!/bin/bash
# DBD convert for vsftpd passwd.file
db_load -T -t hash -f /etc/vsftpd/passwd.file /etc/vsftpd/ftpuser_passwd.db</p>
<p>[root@linuxde ~]# chmod 755 /etc/vsftpd/db_load.sh #进行相应的赋权,对passwd.file账户文件进行编译,并生成ftpuser_passwd.db格式文件,db_load 隶属于db4 RPM包,如没有请自行安装。
[root@linuxde ~]# sh /etc/vsftpd/db_load.sh
[root@linuxde ~]# ll /etc/vsftpd/ftpuser_passwd.db
-rw-r–r–. 1 root root 12288 12月 6 09:33 /etc/vsftpd/ftpuser_passwd.db
创建用户配置文件
建立好账户后,需要为每个用户创建记录FTP目录位置、用户权限等信息的配置文件
复制代码
代码如下:
[root@linuxde ~]# mkdir /etc/vsftpd/user_config
配置文件以FTP用户名为文件名称,每个FTP用户一个文件,例如chenchen
复制代码
代码如下:
[root@linuxde ~]# vi /etc/vsftpd/user_config/chenchen
内容如下:
复制代码
代码如下:
[root@linuxde ~]# cat /etc/vsftpd/user_config/chenchen
local_root=/vsftptest/www.linuxde.net/ #该路径对应的目录必须存在
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
注:FTP 用户所映射到的系统帐户必须对 FTP 用户主目录拥有相应的读/写权限。仍然以chenchen用户为例,本文中chenchen虚拟用户是被映射到 linuxde 系统帐户的,所以 linuxde 系统帐户必须拥有对 chenchen 的 FTP 主目录/vsftptest/www.linuxde.net/ 的读/写权限
复制代码
代码如下:
[root@linuxde ~]# chown -R linuxde:linuxde /vsftptest/www.linuxde.net/
修改Pam 认证模块
备份vsftpd 原始的pam认证模块配置文件:
复制代码
代码如下:
[root@linuxde ~]# mv /etc/pam.d/vsftpd <a>/etc/pam.d/@vsftpd.bak</a> #如想使用原配置,后面的配置参数必须在前排!
写入新的PAM认证模块配置:
复制代码
代码如下:
[root@linuxde ~]# cat /etc/pam.d/vsftpd #此处后缀无须带上.db
auth required pam_userdb.so db=/etc/vsftpd/ftpuser_passwd
account required pam_userdb.so db=/etc/vsftpd/ftpuser_passwd
启动vsftpd
复制代码代码如下:[root@linuxde ~]# service vsftpd start关于添加其他相应虚用户的过程就略过的,你看懂了 自然会明白如何做!到这里就配置完成了,如果你出现vsftpd 500 OOPS: cannot change directory,为selinux 未关闭!原文地址:http://www.linuxde.net/2013/02/12272.html关于CentOS6.3下vsftpd通过pam认证实现虚拟用户文件共享和centos7 vsftpd配置虚拟用户的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于CentOS 5.3系统设置vsftpd虚拟用户的具体步骤、CentOS 5.5编译安装vsftpd-2.3.4配置虚拟用户、centos 6 安装vsftpd与PAM虚拟用户的方法、CentOS 6.2 快速配置vsftpd虚拟用户的步骤分享等相关内容,可以在本站寻找。
本文标签: