[Linux]vsftpd安装配置

1. vsftpd安装

通过yum安装即可。

1
yum install vsftpd

2. 关键配置文件和目录路径

  • /etc/vsftpd/vsftpd.conf:vsftpd的主要配置文件,包含了vsftpd的配置
  • /etc/vsftpd/ftpusers:全局禁用用户文件,里面的用户都不能通过ftp登录
  • /etc/vsftpd/user_list:该文件根据 vsftpd.conf 里的配置不同而作用不同,默认情况下是和 ftpusers 文件作用一样
  • /etc/vsftpd/vuser-list:虚拟用户登录的账号和密码
  • /mnt/data1/ftp:ftp文档的跟目录,该目录只允许 ftpuser 用户登录
  • /mnt/data1/ftp/wuliu 或 dianjian 或 ...:各个虚拟用户(子用户)的ftp文档目录,上传下载都在这些目录里

3. vsftpd.conf关键配置

  • anonymous_enable=NO:是否允许匿名用户登录

  • local_root=/mnt/data1/ftp:本地用户登录的ftp文件路径

  • anon_root=/mnt/data1/ftp:匿名用户登录的ftp文件路径

  • 虚拟用户相关配置

    虚拟用户相关
    1
    2
    3
    4
    5
    6
    7
    8
    # 启动虚拟用户
    guest_enable=YES
    # 指定虚拟用户的宿主用户
    guest_username=ftpuser
    # 设定虚拟用户的权限符合他们的宿主用户
    virtual_use_local_privs=YES
    # 配置虚拟用户权限文件夹
    user_config_dir=/etc/vsftpd/vuser_config
  • 被动ftp相关配置

    1
    2
    3
    4
    # 配置被动ftp,指定6000-7000端口,好在小科云管理后台开通对应端口范围
    pasv_enable=YES
    pasv_min_port=6000
    pasv_max_port=7000

4. vsftpd服务运行相关

1
2
3
4
5
6
7
8
# 启动服务
systemctl start vsftpd
# 重启服务
systemctl restart vsftpd
# 停止服务
systemctl stop vsftpd
# 查看服务状态
systemctl status vsftpd

5. 新增一个可登录用户过程,以“dianjian”用户新增为例

1)在 vuser-list 文件中添加用户的账号和密码,格式为一行账号,一行密码。

1
2
dianjian
12345

随后执行用户账号密码加密

1
db_load -T -t hash -f /etc/vsftpd/vuser-list /etc/vsftpd/vuser-list.db

2)创建dianjian用户的ftp文档目录

1
2
3
4
# 创建目录
mkdir /mnt/data1/ftp/dianjian
# 配置用户和组归属,不做次步操作则没权限登录
chown -R ftpuser:ftpuser /mnt/data1/ftp/dianjian

3)创建dianjian用户配置

1
2
# 打开 dianjian 配置文件,文件名一定要和用户名一致
vim /etc/vsftpd/vuser_config/dianjian

文档的内容

1
2
3
4
5
6
local_root=/mnt/data1/ftp/dianjian
write_enable=yes
anon_world_readable_only=no
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes

至此,一个虚拟用户整个流程创建完毕

(•̀ᴗ•́)و ̑̑

Share