欢迎光临
我们一直在努力

vsftpd虚拟用户安装及配置

安装命令

sudo apt-get install vsftpd #安装vsftp
sudo apt-get install db-util #用来生成口令库文件

程序文件及配置文件目录

/etc/vsftpd.conf #主配置文件
/usr/sbin/vsftpd #vsftp主程序
/etc/rc.d/init.d/vsftpd #启动脚本
/etc/pam.d/vsftpd #PAM认证文件
/var/ftp #匿名用户主目录
/var/log/vsftpd.log #vsftp日志文件

默认配置文件部分说明

listen=YES #以standalone模式允许
anonymous_enable=NO #是否开启匿名用户登录
local_enable=YES #是否开启本地用户
write_enable=YES #是否允许本地用户上传
local_umask=022 #本地用户文档的权限
anon_upload_enable=YES #是否允许匿名用户上传文件
anon_mkdir_write_enable=YES #是否允许匿名用户穿件目录
dirmessage_enable=YES #是否为目录配置显示信息
xferlog_enable=YES #日志功能开关
connect_from_port_20=YES 使用20端口来传输数据
chown_uploads=YES #开启后匿名用户上传的文件所属用户将被给为chown_username
chown_username=whoever #匿名用户上传文件所属的用户
xferlog_file=/var/log/vsftpd.log #日志文件存放位置
xferlog_std_format=YES #使用标准的日志格式
idle_session_timeout=600 #空闲连接超时时间,单位秒
data_connection_timeout=120 #数据传输超时时间,单位秒
nopriv_user=ftpsecure #服务运行时使用的用户
async_abor_enable=YES #是否允许使用“async ABOR”命令
ascii_upload_enable=YES #是否使用ASCII模式上传,默认NO
ascii_download_enable=YES #是否使用ASCII下载,默认NO
tpd_banner=Welcome to blah FTP service. #登录ftp时显示的欢迎信息,如果设置了banner_file则此设置无效
deny_email_enable=YES #是否开启email地址黑名单
banned_email_file=/etc/vsftpd.banned_emails #email地址黑名单文件
chroot_local_user=YES #启用后登录用户将不能切换到用户目录以外的其他目录
chroot_list_enable=YES #启用后chroot_list_file中的使用者不能改变其根目录
chroot_list_file=/etc/vsftpd.chroot_list #定义不能更改用户根目录的文件
ls_recurse_enable=YES #是否允许使用ls -R命令
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd #设置PAM模块使用的文件名,即/etc/pam.d/vsftpd文件

创建宿主用户用来虚拟用户传输文件即guest_username

useradd -d /home/vsftp -s /sbin/nologin vsftp

创建虚拟用户列表文件

sudo mkdir /etc/vsftpd
sudo vi /etc/vsftpd/users

以下是密码文件内容(奇数是用户名,偶数是密码)

test
123456

:wq #保存文件并退出

创建虚拟用户认证文件

sudo db_load -T -t hash -f /etc/vsftpd/users /etc/vsftpd/users.db
sudo chmod 600 /etc/vsftpd/users.db

虚拟用户认证配置(PAM)

sudo vi /etc/pam.d/vsftpd_virtual

添加以下内容

auth    required        /lib/x86_64-linux-gnu/security/pam_userdb.so   db=/etc/vsftpd/users #如果你的是32位系统pam_userdb.so文件需要修改路径
account required        /lib/x86_64-linux-gnu/security/pam_userdb.so   db=/etc/vsftpd/users #如果你的是32位系统pam_userdb.so文件需要修改路径

:wq #保存文件并退出

虚拟用户配置文件

sudo mkdir /etc/vsftpd/users.d
sudo vi /etc/vsftpd/users.d/test

添加以下内容

local_root=/home/nixonli/www #用户根目录,所属用户及组必须与宿主一致
allow_writeable_chroot=YES #虚拟用户只能访问用户目录不能切换到用户目录以外的其他目录
write_enable=YES #允许用户上传文件

创建虚拟用户根目录

sudo mkdir -p /home/nixonli/www
sudo chown -R vsftp:vsftp

配置vsftpd.conf

sudo mv /etc/vsftpd.conf /etc/vsftp.conf.bak
sudo vi /etc/vsftpd.conf

添加如下内容

listen=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=vsftp
nopriv_user=vsftp
anon_root=/
xferlog_enable=YES
virtual_use_local_privs=YES
pam_service_name=vsftpd_virtual
user_config_dir=/etc/vsftpd/users.d
chroot_local_user=YES
hide_ids=YES

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=YES

pasv_enable=YES
pasv_min_port=55536
pasv_max_port=55599

force_dot_files=YES
local_umask=002
chmod_enable=YES
file_open_mode=0644

seccomp_sandbox=NO
赞(0) 打赏
未经允许不得转载:NixonLi博客 » vsftpd虚拟用户安装及配置

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏