woshikid / blog

Apache License 2.0
8 stars 1 forks source link

vsftpd学习笔记 #198

Open woshikid opened 8 months ago

woshikid commented 8 months ago

安装vsftpd

apt install vsftpd

启动vsftpd

service vsftpd start

配置vsftpd vi /etc/vsftpd.conf

#listen=YES # 独立模式(需设置listen_ipv6=NO)
#listen_ipv6=NO # 不使用IPV6(需设置listen=YES)
#listen_address=127.0.0.1 # 监听特定地址(需设置listen=YES),默认为0.0.0.0
#listen_port=21 # 监听端口
#pasv_enable=YES # 被动模式,默认开启
pasv_max_port=30010 # 最大端口号
pasv_min_port=30000 # 最小端口号
#pasv_address=192.168.0.1 # 被动模式IP(需设置listen_ipv6=NO),默认自动获取
anonymous_enable=YES # 匿名登录,默认为NO
no_anon_password=YES # 匿名登录不询问密码,默认为NO
#ftp_username=ftp # 匿名用户,默认为ftp
#anon_root=/srv/ftp # 匿名主路径(ftp不可写)
#chown ftp /srv/ftp/pub
anon_upload_enable=YES # 允许匿名上传
anon_mkdir_write_enable=YES # 允许匿名创建目录
anon_other_write_enable=YES # 允许匿名删除改名
#anon_umask=077 # 匿名上传文件掩码
#chown_uploads=YES # 更改匿名上传文件所有者
#chown_username=root # 更改文件所有者,默认为root
local_enable=YES # 本地用户登录
write_enable=YES # 允许写入
chroot_local_user=YES # 限制用户路径,默认为NO
allow_writeable_chroot=YES # 限制路径时允许写入
#chroot_list_enable=YES # 限制路径时允许例外
#chroot_list_file=/etc/vsftpd.chroot_list # 限制路径的例外列表
max_clients=2000 # 独立模式最大连接数,默认2000
max_per_ip=50 # 独立模式每IP最大连接数,默认50
anon_max_rate=10240 # 限制匿名用户传输速度为10K

允许root登录 vi /etc/ftpusers

#root

虚拟用户

创建用户名密码 vi /etc/vsftpd.vusers_list

username
password
...

创建用户数据库

#apt install db-util
db_load -T -t hash -f /etc/vsftpd.vusers_list /etc/vsftpd.vusers.db

修改PAM验证 vi /etc/pam.d/vsftpd

# 必须清除原有内容
auth required pam_userdb.so db=/etc/vsftpd.vusers
account required pam_userdb.so db=/etc/vsftpd.vusers

启用虚拟用户 vi /etc/vsftpd.conf

guest_enable=YES # 非匿名用户映射为指定用户
guest_username=ftp # 默认,映射为ftp用户(匿名用户)
#useradd -d /data/vuser vuser -s /sbin/nologin
#guest_username=vuser # 映射为其他用户
#virtual_use_local_privs=YES # 映射为本地权限,默认为匿名权限

用户个性化配置(可选) vi /etc/vsftpd.conf

user_config_dir=/etc/vsftpd_conf

vi /etc/vsftpd_conf/{username}

local_root=/path/to/home