安装
#安装ftp服务
yum install vsftpd -y
#禁用防火墙或者开启21 3000 端口
systemctl stop firewalld
# ftp 服务启动、停止、重启
systemctl start vsftpd.service(service vsftpd start)
systemctl stop vsftpd.service(service vsftpd stop)
systemctl restart vsftpd.service(service vsftpd restart)
-
默认公开的文件夹为 /var/ftp/pub
-
常用的全局配置项:
listen=YES:是否以独立运行的方式监听服务
listen_address=192.168.4.1:设置监听的 IP 地址
listen_port=21:设置监听 FTP 服务的端口号
write_enable=YES:是否启用写入权限
download_enable=YES:是否允许下载文件
userlist_enable=YES:是否启用 user_list 列表文件
userlist_deny=YES:是否禁用 user_list 中的用户
userlist_file=/etc/vsftpd/user_list:指定userlis
max_clients=0:限制并发客户端连接数
max_per_ip=0:限制同一 IP 地址的并发连接数
anonymous_enable=YES:启用匿名访问
anon_umask=022:匿名用户所上传文件的权限掩码
anon_root=/var/ftp:匿名用户的 FTP 根目录
anon_upload_enable=YES:允许上传文件
anon_mkdir_write_enable=YES:允许创建目录
anon_other_write_enable=YES:开放其他写入权
anon_max_rate=0:限制最大传输速率(字节/秒)
local_enable=YES:是否启用本地系统用户
local_umask=022:本地用户所上传文件的权限掩码
local_root=/var/ftp:设置本地用户的 FTP 根目录
chroot_local_user=YES:是否将用户禁锢在主目录
local_max_rate=0:限制最大传输速率(字节/秒)
如果你想禁止所有用户调转到上级目录,可以设置
chroot_local_user=YES 前提:需要设置local_root目录
或者设置下面两行,将禁止跳转的用户写到vsftpd.chroot_list里
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
// 设置本地用户登录后所在的目录。默认配置文件中没有设置该项,此时用户登录FTP服务器后,所在的目录为该用户的主目录,对于root用户,则为/root目录。
local_root=/var/ftp
//设置匿名用户登录后所在的目录。若未指定,则默认为/var/ftp目录。
anon_root=/var/ftp
可以下载,无法上传新建文件
SELINUX的问题。
- 临时关闭
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
- 永久关闭
vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled
重启服务reboot