Vsftpd
📮 返回服务页
1. 安装
检查
检查系统是否已经安装服务:
rpm -qa | grep -i vsftpd
安装
安装服务:
yum install -y vsftpd
2. 配置
用户
创建ftp访问用户:
useradd 【用户名】
添加用户密码:
passwd 【用户名】
文件
修改配置文件:
vi/vim /etc/vsftpd/vsftpd.conf
是否开启匿名用户访问
anonymous_enable=YES/NO是否开启本地用户登录
local_enable=YES/NO本地用户根目录(自行配置)
local_root=【路径】匿名用户根目录,非常重要(自行配置;此目录不可为linux已有账号的家目录)
anon_root=【路径】本地用户上传文件权限掩码
local_root=022匿名用户上传文件权限掩码(自行配置)
anon_umask=022是否对登录用户开启写权限,关闭则上传不了文件。
write_enable=YES/NO是否允许匿名用户上传文件,需要配合write_enable=YES(默认注释)
anon_upload_enable=YES/NO控制匿名用户对文件和文件夹的删除和重命名(自行配置)
anon_other_write_enable=YES/NO是否允许匿名用户创建新目录(默认注释)
anon_mkdir_write_enable=YES/NO是否将所有用户限制在主目录(默认注释;如不配置,本地用户可以向上切换到目录之外)
chroot_local_user=YES/NO是否启用限制用户名单(默认注释;此名单即区域隔离的例外机制)
chroot_list_enable=YES/NO限制用户名单路径。如果路径上没有此限制名单,则所有本地用户无法登陆(默认注释)
chroot_list_file=【路径】不添加此项,文件无法上传报错:550 Permission denied。新版本vsftpd加入了安全需求,切根不允许写,要添加这个配置并设置为YES才可以。
allow_writeable_chroot=YES匿名用户不要密码就靠这个(自行配置)
no_anon_password=YES匿名登录后使用者(自行配置)
ftp_username=【用户名】
Ftpusers、user_list(默认)文件下的用户均不允许登录 FTP 服务器。
3. 启动
端口
启动之前先查看端口是否占用:
netstat -anpt | grep 【端口号】
防火墙
开放端口:
firewall-cmd --zone=public --add-port=20/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --reload
关闭安全子系统:
vi /etc/sysconfig/selinux => SELINUX=disabled
or
vi /etc/selinux/config => SELINUX=disabled
setenforce 0
注:此命令将selinux设置成permissive模式,即临时关闭
启动
启动:
systemctl start vsftpd #启动服务
systemctl enable vsftpd #开机自启动服务
如更新配置文件,需重启服务:
systemctl restart vsftpd
4. 要点
- 匿名用户根目录为了安全考虑,不可设置成777,否则将禁止匿名登录或500报错
可以给根目录下子目录可以设置成777
- 只有本地用户可以访问上级目录,匿名用户不行
5. 访问
浏览器
浏览器使用Ftp本地用户登录:
ftp://【用户名】@【服务器地址】
如果需要输入密码,但是不想输入密码:
ftp://【用户名】:【用户密码】@【服务器地址】
由于Ftp自身弊端,大部分浏览器都已经抛弃ftp,可用火狐75.0旧版进行浏览器访问测试
文件夹
文件管理器:
ftp://【服务器地址】
默认访客登录