老爹
老爹
发布于 2026-02-26 / 11 阅读
0
0

ftp

linux

  • 默认配置即可,追加下述几条,这狗日的软件每个版本都总有他妈奇奇怪怪的配置问题 /etc/vsftpd/vsftpd.conf

#开启vsftpd的独立运行模式
listen=YES
#指定独立运行模式监听的端口号
listen_port=21
#指定主动模式数据传输的使用端口号
connect_from_port_20=YES
#全局开启可写权限
write_enable=YES
#全局开启可下载权限
download_enable=YES
#关闭匿名访问
anonymous_enable=NO
#开启xferlog日志
xferlog_enable=YES
#设置日志文件路径
xferlog_file=/var/log/xferlog
#将日志文件保存成标准的xferlog格式
xferlog_std_format=YES
#设置PAM认证名,此项必需开。对应/etc/pam.d/vsftpd文件
pam_service_name=vsftpd
#开启用户访问
local_enable=YES
# 开启被动模式
pasv_enable=YES
# 被动模式最小端口
pasv_min_port=24500
pasv_max_port=24600
#给每个用户指定一个配置文件
user_config_dir=/etc/vsftpd/userconfig/
#是否将用户禁锢在home目录
#chroot_local_user=YES
#只允许指定用户登陆
chroot_list_enable=YES
#允许登陆的用户名字们
chroot_list_file=/etc/vsftpd/chroot_list
check_shell=NO

#有些版本可能要加这个
allow_writeable_chroot=YES
#ipv4, ipv6不能同时监听
listen_ipv6=NO
  • 新建chroot_list文件内容改为你的ftp用户名

  • 新建userconfig/ftp用户名文件,并写入

#用户的根目录
local_root=/home/data/
#用户创建文件对应的掩码755
local_umask=022
  • 创建用户

useradd -s /sbin/nologin -d /home/data/ {usr}

echo {pwd} | passwd {usr} --stdin

  • 设置ftp组

groupadd ftpgroup # 创建组

usermod -aG ftpgroup ftpusr # 将虚拟用户加入组

chown -R :ftpgroup /home/data # 修改所属组

chmod -R 2775 /home/data # 组读写

setfacl -R -m g:ftpgroup:rwx /home/data # 使用ACL确保组权限

setfacl -R -d -m g:ftpgroup:rwx /home/data # 确保新文件继承权限

  • 要额外注意/etc/pam.d/vsftpd,注释此行,不然登录会被拦截,无限530

# auth required pam_shells.so

windows

  • filezillaserver配置方法

校验模式:server listeners>Protocol>Explicit FTP over TLS and insecure plain FTP(第二项)

被动模式:protocols settings>FTP and FTP over TLS>passive mode>use custom port range


评论