CentOS系统安装vsftpd

下载并安装vsftpd

apt-get install vsftpd

安装后检查 service vsftpd status

修改配置文件(被动/匿名用户模式)

vi  /etc/vsftpd.conf

anonymous_enable=NO

listen=YES

listen_port=21

ascii_upload_enable=YES

ascii_download_enable=YES

local_enable=YES

guest_enable=YES

guest_username=ftp

virtual_use_local_privs=YES

pasv_enable=YES

port_enable=NO

pasv_min_port=28000

pasv_max_port=28999

anon_world_readable_only=NO

write_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

chroot_local_user=YES

pam_service_name=vsftpd.vu

user_config_dir=/etc/vsftpd/vsftpd_user_conf

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

allow_writeable_chroot=YES

配置匿名用户的文本文件

mkdir /etc/vsftpd

cd /etc/vsftpd

vi login.txt

输入文本:

ftp

$ftpPassword

注:奇数行账号,偶数行密码

导入用户文本文件到数据库

db_load -T -t hash -f  /etc/vsftpd/login.txt /etc/vsftpd/login.db

如果没有找到命令db_load,需安装

apt-get install db-util

配置pam_service_name对应文件

首先,全局查找文件pam_userdb.so的路径。

find / -name pam_userdb.so

vi /etc/pam.d/vsftpd.vu

输入以下内容:

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

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

配置匿名用户的ftp根目录和权限

mkdif /etc/vsftpd/vsftpd_user_conf

vi /etc/vsftpd/vsftpd_user_conf/ftp

注:文件名称要与ftp账号文件中输入的ftp账号一致

输入以下内容:

local_root=/home/terry/store/ftp

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,则安装vsftpd时已默认创建了该用户,需要修改用户根目录与上面local_root一致。


vi /etc/passwd

例如:

ftp:x:127:132:ftp daemon,,,:/home/terry/store/ftp:/usr/sbin/nologin

如果是其他账号,则需要新增用户。比如新增账号ftp2,

useradd -d/home/terry/store/ftp2 -s /sbin/nologin ftp2

修改ftp目录的访问权限

chown ftp:ftp /home/terry/store/ftp

chmod 755 /home/terry/store/ftp

配置防火墙

 sudo ufw allow 21

 sudo ufw allow 28000:28999/tcp

 sudo ufw reload

重启vsftpd服务

 sudo service vsftpd restart

你可能感兴趣的:(centos,linux,运维,vsftpd,被动模式,匿名用户)