欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

centos 6 安装vsftpd与PAM虚拟用户的方法

程序员文章站 2022-07-25 16:06:11
使用yum 安装vsftp yum install vsftpd pam pam-* db4 db4-* 创建一个保存用户及密码的文件 cd...

使用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虚拟用户的方法,希望对大家有所帮助