当前位置:首页 > FTP
Debian 系列下安装配置 vsftpd
来源:靑龍一笑的博客  作者:靑龍一笑  发布时间:2016-12-04 14:24:41  点击量:1066  评论:0

    一、安装 vsftpd

[root@RicenOS ~]# apt-get install vsftpd

    二、创建本地系统用户 vsftpd,并且禁止该用户登录访问系统

[root@RicenOS ~]# mkdir -pv /home/vsftpd
[root@RicenOS ~]# useradd -d /home/vsftpd -s /bin/false vsftpd
[root@RicenOS ~]# mkdir -pv /etc/vsftpd

    三、创建虚拟用户列表

[root@RicenOS ~]# vi /etc/vsftpd/ftpusers

    内容如下:

ricen
12345678
Smart
87654321

    其中,第一行为第一个用户的帐号 ricen,第二行为 ricen 用户的密码。第三行为第二个用户的帐号 smart,第四行为 smart 用户的密码。以此类推……
    四、创建虚拟用户数据库

[root@RicenOS ~]# apt-get install db5.3-util
[root@RicenOS ~]# db5.3_load -T -t hash -f /etc/vsftpd/ftpusers /etc/vsftpd/vsftpd_login.db
[root@RicenOS ~]# chmod 600 /etc/vsftpd/vsftpd_login.db

    五、配置 PAM 文件

[root@RicenOS ~]# vi /etc/pam.d/vsftpd

    把里面的内容全部注释掉,并添加以下两行代码:

auth    required        /lib/x86_64-linux-gnu/security/pam_userdb.so    db=/etc/vsftpd/vsftpd_login
account required        /lib/x86_64-linux-gnu/security/pam_userdb.so    db=/etc/vsftpd/vsftpd_login

    六、配置 vsftpd

[root@RicenOS ~]# vi /etc/vsftpd.conf

    1、将“listen=NO”改为“listen=YES”,将“listen_ipv6=YES”注释掉。
    2、去掉“#write_enable=YES”和“#local_umask=022”前的注释。
    3、去掉“#ascii_upload_enable=YES”和“#ascii_download_enable=YES”前的注释。
    4、去掉“#chroot_local_user=YES”前的注释,阻止用户向上级切换目录。
    5、添加“allow_writeable_chroot=YES”,解决 vsftpd 用户因为 home 目录为 root 权限而无法登录问题。
    6、添加“guest_enable=YES”,开启虚拟用户。
    7、添加“guest_username=vsftpd”,虚拟用户对应的系统用户 vsftpd。
    8、添加“user_config_dir=/etc/vsftpd/vusers”,设置用户配置文件的存放目录。
    9、添加“virtual_use_local_privs=YES”,使用虚拟用户和本地用户有相同权限。
    七、配置虚拟用户权限

[root@RicenOS ~]# mkdir -pv /etc/vsftpd/vusers

    以 ricen 用户为例,创建用户配置文件:

[root@RicenOS ~]# vi /etc/vsftpd/vusers/ricen

    内容如下:

# 虚拟用户的根目录
local_root=/opt/websites
# 开放 ricen 的下载权限
anon_world_readable_only=NO
# 开放 ricen 的上传权限
anon_upload_enable=YES
# 开放 ricen 创建目录的权限
anon_mkdir_write_enable=YES
# 开放 ricen 删除和重命名的权限
anon_other_write_enable=YES
# 虚拟用户的上传掩码
anon_umask=022

    把虚拟用户根目录的权限赋给虚拟用户映射的本地系统用户 vsftpd:

[root@RicenOS ~]# chown -R vsftpd:vsftpd /opt/websites/

    重启 vsftpd,使以上配置生效:

[root@RicenOS ~]# service vsftpd restart
版权所有 © 2005-2023 靑龍一笑的博客  Powered by C.S.Ricen
Copyright © 2005-2023 by www.ricensoftwares.com.cn  All Rights Reserved.

欢迎光临本站,这里是靑龍一笑的博客。

因资金匮乏,本站已迁到国外的免费空间,可能导致本站的访问速度较慢,由此给您带来的不便,敬请谅解。

您可以通过下方的“支持本站建设”链接,给本站提供资金支持。

Free Web Hosting