Centos搭建FTP

FTP搭建

安装vsftpd

shell 复制代码
#安装vsftpd
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
systemctl restart vsftpd

创建测试用户

shell 复制代码
#创建测试用户
useradd -d /home/ftptest -g ftp -s /sbin/false ftptest
passwd ftptest #admin12@#$..
echo "/sbin/false">>/etc/shells
#并将用户添加到chroot_list中 只添加用户名
vi /etc/vsftpd/chroot_list

配置防火墙

shell 复制代码
#配置防火墙
firewall-cmd --zone=public --add-port=21/tcp --permanent 
# 重启防火墙
firewall-cmd --reload
firewall-cmd --zone=public --list-ports

FTP配置更改

shell 复制代码
vim /etc/vsftpd/vsftpd.conf

#配置config
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/xferlog
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#设置本地用户登录后所在目录。
# local_root=/var/ftp/test
##全部用户被限制在主目录。
chroot_local_user=YES
##启用例外用户名单。
chroot_list_enable=NO
##指定例外用户列表文件,列表中用户不被锁定在主目录。
#chroot_list_file=/etc/vsftpd/chroot_list
##开启被动模式。
pasv_enable=YES
allow_writeable_chroot=YES
##本教程中为Linux实例的公网IP。
pasv_address=101.126.18.12
##设置被动模式下,建立数据传输可使用的端口范围的最小值。
##建议您把端口范围设置在一段比较高的范围内,例如50000~50010,有助于提高访问FTP服务器的安全性。
pasv_min_port=50000
##设置被动模式下,建立数据传输可使用的端口范围的最大值。
pasv_max_port=50010
cmds_allowed=MKD,FEAT,REST,CWD,LIST,MDTM,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

FTP配置详解

关于userlist_enable的解释https://blog.csdn.net/weixin_34411563/article/details/92101684

参数 默认值 描述
anonymous_enable YES 控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许。
write_enable YES 是否允许登陆用户有写权限。全局设置,默认值为YES。
no_anon_password NO 若启动此功能,则匿名登入时不会询问密码。默认值为NO。
ftp_username ftp 定义匿名登入的用户名。默认值为ftp。
anon_root /var/ftp 匿名登入时所登入的目录。默认值为/var/ftp。注意,ftp目录不能具有777权限属性。
anon_upload_enable NO 如果设为YES,则允许匿名登入者上传文件(非目录),前提是write_enable=YES,并且匿名用户必须具有对上层目录的写入权限。默认值为NO。
anon_world_readable_only YES 如果设为YES,则允许匿名登入者下载可读的文件(下载到本地阅读,不能直接在FTP服务器中打开)。默认值为YES。
anon_mkdir_write_enable NO 如果设为YES,则允许匿名登入者创建目录,前提是write_enable=YES,并且匿名用户必须具有对上层目录的写入权限。默认值为NO。
anon_other_write_enable NO 如果设为YES,则允许匿名登入者除了上传和创建目录外的其他操作,例如删除或重命名文件。默认值为NO。
chown_uploads NO 设置是否更改匿名用户上传文件的所有者。默认值为NO。
chown_username username 设置匿名用户上传文件的所有者名称。建议不设置为root。
anon_umask 077 设置匿名用户上传或创建文件时的umask值。默认为077,即新创建的文件权限为700。
deny_email_enable NO 若启用此功能,则必须提供/etc/vsftpd/banner_emails文件,其中包含不允许访问的email地址。匿名登入时会要求输入email地址,如果地址在此文件中,则拒绝访问。默认值为NO。
banned_email_file /etc/vsftpd/banner_emails 包含不允许访问的email地址的文件路径。仅在deny_email_enable=YES时使用。
local_enable YES 控制是否允许本地用户登入,YES为允许,NO为不允许。默认值为YES。
local_root /home/username 本地用户登入时切换到的目录。默认为各用户的家目录。
local_umask 022 本地用户创建文件时的umask值。默认为022。
file_open_mode 0755 本地用户上传文件后的文件权限。与chmod使用的数值相同。默认为0666。
dirmessage_enable YES 如果启用此选项,用户首次进入目录时,系统会检查是否存在.message文件,并显示其内容(通常为欢迎信息或目录说明)。默认为开启。
message_file .message 设置目录消息文件的名称,文件中包含要显示的信息。默认为.message。
banner_file /etc/vsftpd/banner 用户登入时显示的欢迎信息或说明的文件路径。默认为无。如果欢迎信息较多,则使用此配置项。
ftpd_banner Welcome to BOB's FTP server 定义显示的欢迎信息字符串。banner_file为文件形式,而ftpd_banner为字符串形式。默认为无
相关推荐
古希腊数通小白(ip在学)几秒前
HCIA实现不同vlan间的通信
linux·服务器·网络
半桔14 分钟前
【Linux手册】从接口到管理:Linux文件系统的核心操作指南
android·java·linux·开发语言·面试·系统架构
禁默22 分钟前
Linux Vim 编辑器详解:从入门到进阶(含图示+插件推荐)
linux·vim·excel
许白掰2 小时前
Linux入门篇学习——Linux 工具之 make 工具和 makefile 文件
linux·运维·服务器·前端·学习·编辑器
longze_76 小时前
Ubuntu连接不上网络问题(Network is unreachable)
linux·服务器·ubuntu
Dirschs6 小时前
【Ubuntu22.04安装ROS Noetic】
linux·ubuntu·ros
qianshanxue116 小时前
ubuntu 操作记录
linux
AmosTian8 小时前
【系统与工具】Linux——Linux简介、安装、简单使用
linux·运维·服务器
荔枝吻9 小时前
【保姆级喂饭教程】Windows下安装Git Flow
windows·git·git flow
这我可不懂11 小时前
Python 项目快速部署到 Linux 服务器基础教程
linux·服务器·python