安装ftp服务器

安装ftp服务器

参考文档:https://gnu-linux.readthedocs.io/zh/latest/Chapter02/90_vsftpd.html

帆软文档:https://help.fanruan.com/finereport/doc-view-2790.html

基础环境

第一步:安装

编辑`/etc/vsftpd/vsftpd.conf`

第二步:配置环境
编辑/etc/vsftpd.conf

匿名用户登录最小配置

# 不以独立模式运行
listen=NO
# 支持 IPV6,如不开启 IPV4 也无法登录
listen_ipv6=YES
# 匿名用户登录
anonymous_enable=YES
# 系统用户登录
local_enable=YES
# 对文件具有写权限,否则无法上传
write_enable=YES
# 允许匿名用户上传文件
anon_upload_enable=YES
# 允许匿名用户新建文件夹
anon_mkdir_write_enable=YES
# 匿名用户删除文件和重命名文件
anon_other_write_enable=YES
# 匿名用户的掩码(022 的实际权限为 666-022=644)
anon_umask=022
# 匿名用户访问路径
anon_root=/var/www/html/web
# 指定端口号
listen_port=5001
# 使用主机时间
use_localtime=YES
pam_service_name=vsftpd

如果希望本地账户也可以登录需要将local_root目录改为:可读可写或者可读可写可执行(chmod 777 目录),这样这个目录就有足够权限去读写

配置相关

# ***********匿名用户相关***********
# 允许匿名访问
anonymous_enable=NO
# 不允许匿名用户上传文件,需要配合write_enable=yes
anon_upload_enable=NO
# 允许匿名用户创建目录
anon_mkdir_write_enable=NO
# 控制匿名用户对文件和文件夹的删除和重命名(自己添加,没有该配置)
anon_other_write_enable=NO
# 匿名用户上传文件权限
anon_umask=022
# 允许写入操作,否则不能上传文件
write_enable=YES
# 匿名用户的根目录。这个非常重要
anon_root=/var/www/html/web
# 匿名用户不要密码就靠这个
no_anon_password=YES
# 匿名登录后的使用者
ftp_username=ftpuser


# 是否允许本地用户,如root用户登陆。默认允许
local_enable=YES
# 设置本地用户登录所在的目录。默认配置文件中没有该配置项,本地用户登录FTP服务器后所在的目录为所登录用户的主目录,
# 如:对于root用户,则为/root目录,默认没有的
local_root=/home/ftpuser
# 本地用户上传文件权限
local_umask=022


# ******系统日志功能******
# 是否激活目录欢迎信息功能
dirmessage_enable=YES
# 默认日志文件为 /var/log/vsftpd.log
xferlog_enable=YES
# 服务器上传、下载的日志存储路径
xferlog_file=/var/log/vsftpd.log
# 以 xferlog 格式记录日志文件
xferlog_std_format=YES
# 是否将日志写入系统日志中
syslog_enable=NO


# ******系统设置******
# 指定端口号
listen_port=2222
# 是否开启监听
listen=NO
# 支持 IPV6,如不开启 IPV4 也无法登录
listen_ipv6=YES
# 数据传输中断间隔时间(以秒为单位)
idle_session_timeout=2
# 数据连接超时时间(以秒为单位)
data_connection_timeout=2
# 运行 vsftpd 需要的非特权系统用户
pam_service_name=vsftpd
# 是否使用主机的时间
use_localtime=YES
# ftp工具连接成功提示
ftpd_banner=欢迎使用Bunny FTP
# 是否启动限制用户的名单。YES为启用,NO禁用。默认禁用,防止切换到root目录这样服务器就是透明的不安全!!!
chroot_list_enable=NO
# 所有用户均不能切换到上级目录,如果关闭可以访问服务器中任意文件夹
chroot_local_user=YES
# 坑,添加以下配置。不添加此项,文件无法上传。报错:550 Permission denied。
# 新版本vsftpd加入了安全需求,切根不允许写,要添加这个配置并设置为YES才可以
allow_writeable_chroot=YES
# 是否允许递归查询
ls_recurse_enable=YES
# 是否阻止 user_list 文件中的用户登录服务器
userlist_deny=YES
# 是否阻止 ftpusers 文件中的用户登录服务器
userlist_enable=YES


# 开启主动模式后是否启用默认的 20 端口监听
# connect_from_port_20=YES

命令行解释

  • anonymous_enable 是否允许匿名登录服务器
  • local_enable 是否允许本地用户登录服务器
  • write_enable 是否允许本地用户具有写权限
  • local_umask 本地用户的文件掩码
  • local_root 系统用户登录路径
  • anon_root 匿名用户登录路径
  • chroot_local_user 是否锁定用户登录目录为其根目录
  • anon_upload_enable 是否允许匿名用户上传文件,须开启 write_enable 选项
  • anon_mkdir_write_enable 是否允许匿名用户创建新文件夹
  • dirmessage_enable 是否激活目录欢迎信息功能
  • xferlog_enable 如果启用此选项,系统将会记录服务器上传和下载的日志文件,默认日志文件为 /var/log/vsftpd.log,也可以通过 xferlog_file 选项设定
  • xferlog_file=/var/log/vsftpd.log 服务器上传、下载的日志存储路径
  • xferlog_std_format 以 xferlog 格式记录日志文件
  • syslog_enable 是否将日志写入系统日志中
  • connect_from_port_20=YES 开启主动模式后是否启用默认的 20 端口监听
  • chown_uploads 是否允许改变上传文件的属主,与下面选项配合使用
  • chown_username 改变上传文件的属主,输入一个系统用户名,whoever:任何人
  • idle_session_timeout 数据传输中断间隔时间
  • data_connection_timeout 数据连接超时时间
  • nopriv_user=ftpsecure 运行 vsftpd 需要的非特权系统用户
  • use_localtime 是否使用主机的时间,默认使用 GMT 时间,比北京时间晚 8小时,建议设定为 YES
  • ascii_upload_enable 以 ASCII 方式上传数据
  • ascii_download_enable 以 ASCII 方式下载数据
  • ftpd_banner 登录 FTP 服务器时显示的欢迎信息
  • chroot_list_enable 用户是否具有访问自己目录以外文件的权限,设置为 YES 时,用户被锁定在自己的 home 目录中
  • chroot_list_file=/etc/vsftpd/chroot_list 不能访问自己目录以外的用户名,需要和 chroot_list_enable 配合使用
  • ls_recurse_enable 是否允许递归查询
  • listen 是否让 vsftpd 以独立模式运行,由 vsftpd 自己监听和处理连接请求
  • listen_ipv6 是否支持 IPV6,不开启IPv4也无法访问
  • userlist_enable 是否阻止 ftpusers 文件中的用户登录服务器
  • userlist_deny 是否阻止 user_list 文件中的用户登录服务器
  • tcp_wrappers 是否使用 tcp_wrappers 作为主机访问控制方式
  • max_client 允许的最大客户端连接数,0 为不限制
  • max_per_ip 同一 IP 允许的最大客户端连接数,0 为不限制
  • local_max_rate 本地用户的最大传输速率(单位:B/s),0 为不限制
  • anon_max_rate 匿名用户的最大传输速率

自定义用户访问

userlist_enable=YES
   # ftpusers 中用户允许访问,user_list 中用户允许访问

userlist_enable=NO
   # ftpusers 中用户禁止访问,user_list 中用户允许访问

userlist_deny=YES
   # ftpusers 中用户禁止访问,user_list 中用户禁止访问

userlist_deny=NO
   # ftpusers 中用户禁止访问,user_list 中用户允许访问

userlist_deny=YES
userlist_enable=YES
   # ftpusers 中用户禁止访问,user_list 中用户禁止访问

userlist_deny=NO
userlist_enable=YES
   # ftpusers 中用户禁止访问,user_list 中用户允许访问

用户操作

# 添加用户
useradd ftpuser
# 为用户设置密码
passwd ftpuser
  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值