安装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`
shell
第二步:配置环境
编辑/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
properties

如果希望本地账户也可以登录需要将
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
properties

命令行解释
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=ftpsecurevsftpd 需要的非特权系统用户use_localtime是否使用主机的时间,默认使用 GMT 时间,比北京时间晚 8小时,建议设定为 YESascii_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 中用户允许访问
properties

用户操作
# 添加用户
useradd ftpuser
# 为用户设置密码
passwd ftpuser
shell
全部评论 (0)
还没有任何评论哟~
