安装 vsftpd
yum install -y vsftpd
进入 /etc/vsftpd
cd /etc/vsftjpd
/etc/vsftpd/vsftpd.conf
是核心配置文件。
/etc/vsftpd/ftpusers
是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
/etc/vsftpd/user_list
是白名单文件,是允许访问 FTP 服务器的用户列表
配置 vsftpd
常用配置
#允许匿名用户登录FTP
anonymous_enable=YES
#设置匿名用户的登录目录(如需要,需自己添加并修改)
anon_root=/var/ftp/pub
#打开匿名用户的上传权限
anon_upload_enable=YES
#打开匿名用户创建目录的权限
anon_mkdir_write_enable=YES
#打开匿名用户删除和重命名的权限(如需要,需自己添加)
anon_other_write_enable=YES
#匿名用户的掩码(如需要,需自己添加,含义:如umask是022,这时创建一个权限为666的文件,文件的实际权限为666-022=644)
anon_umask=022
vsftpd 安装后默认开启了匿名 FTP 的功能,使用匿名 FTP,用户无需输入用户名密码即可登录 >FTP 服务器,但没有权限修改或上传文件。
配置匿名用户上传文件权限
修改 vsftpd.conf 的配置文件的选项,可以赋予匿名 FTP 更多的权限。
①. 修改 /etc/vsftpd/vsftpd.conf: 运行 `vim /etc/vsftpd/vsftpd.conf`
③. 将写权限修改为 `write_enable=YES`
④. 将匿名上传权限修改为 `anon_upload_enable=YES`
运行以下命令更改 /var/ftp/pub 目录的权限,为 FTP 用户添加写权限,并重新加载配置文件。
chmod o+w /var/ftp/pub/
systemctl restart vsftpd.service
配置本地用户登录
本地用户登录就是指用户使用 Linux 操作系统中的用户账号和密码登录 FTP 服务器。
可在 ftpuser(黑名单)和 userlist(白名单)中添加用户。
vsftpd 安装后默只支持匿名 FTP 登录,用户如果试图使用 Linux 操作系统中的账号登录服务器,将会被 vsftpd 拒绝,但可以在 vsftpd 里配置用户账号和密码登录。具体步骤如下:
①. 运行以下命令创建 ftpuser 用户:`useradd ftpuser`
②. 运行以下命令修改 ftpuser 用户密码:`passwd ftpuser`
vsftpd.conf 的配置文件说明
用户登陆控制
参数 | 说明 |
---|---|
anonymous_enable=YES |
接受匿名用户 |
no_anon_password=YES |
匿名用户login时不询问口令 |
anon_root=(none) |
匿名用户主目录 |
local_enable=YES |
接受本地用户 |
local_root=(none) |
本地用户主目录 |
pam_service_name=vsftpd |
指出vsftpd进行pam认证时所使用的 pam 配置文件名。 |
userlist_enable=NO |
文件中的用户是否能够访问FTP服务器。若设置为YES,则user_list文件中的用户不允许访问FTP,若设置为NO,则只有user_list文件中的用户才能访问FTP。 |
listen_ipv6=YES |
设定是否支持IPV6。如要同时监听IPv4和IPv6端口。 |
listen=NO |
是否允许监听,如果设置为YES,则vsftpd将以独立模式运行,由vsftpd自己监听和处理IPv4端口的连接请求。 |
用户权限控制
参数 | 说明 |
---|---|
write_enable=YES |
可以上传(全局控制) |
local_umask=022 |
本地用户上传文件的umask |
file_open_mode=0666 |
上传文件的权限配合umask使用 |
anon_upload_enable=NO |
匿名用户可以上传 |
anon_mkdir_write_enable=NO |
匿名用户可以建目录 |
anon_other_write_enable=NO |
匿名用户修改删除 |
chown_username=lightwiter |
匿名上传文件所属用户名 |
tcp_wrappers=YES |
在vsftpd中使用tcp_wrappers远程访问控制机制 |
connect_from_port_20=YES |
指定FTP使用20端口进行数据传输,默认值为YES。 |
设置安全组
匿名访问端口设置
pasv_min_port=50000
pasv_max_port=60000
在安全组中开启端口范围
启动服务
-
开机自启动
systemctl enable vsftpd.service
-
启动服务
systemctl start vsftpd.service
-
查看 FTP 服务端口
netstat -antup | grep ftp
遇见问题
-
FileZilla 客户端使用
SFT
P可以正常连接但使用FTP
连服务器却提示服务器拒绝可能是防火墙未设置:开发端口
-
暂时开放 ftp 服务
firewall-cmd --add-service=ftp
-
永久开放 ftp 服务
firewall-cmd --add-service=ftp --permanent
-
永久关闭ftp服务
firewall-cmd --remove-service=ftp --permanent
-
重启防火墙让设定生效
systemctl restart firewalld
-
-
解决服务器发回了不可路由的地址。使用服务器地址代替的问题
先说一下ftp的配置:
- 设置——连接——FTP——被动模式,修改为“退回到主动模式”。
- 打开站点管理器,将【传输设置】选择为“主动”。
安全组设设置
- 开发所有端口
今天的文章阿里云搭建 ftp 服务器分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/32229.html