- 安装和开启服务
$ yum install ftpd #安装
$ systemctrl start ftpd #启动
$ systemctl enable ftpd # 开机启动
$ firewall-cmd –-add-service= ftp # 防火墙开启服务
$ firewall-cmd --add-port=21/tcp #防火墙开启21端口,允许tcp协议
安装好了之后会在 /var 下生成一个ftp 文件夹,里面有一个pub文件夹
两个文件的权限都是 drwxr-xr-x.
此时可以直接用匿名帐户登陆这个ftp,根目录是/var/ftp/
并且加入在/var/ftp/pub/ 下有一个1.txt文件的话,这个文件是可以被直接下载的
- 配置匿名用户
首先在/var/ftp/pub/下新建目录 upload
$ mkdir /var/ftp/pub/upload/
修改权限为777。
$ chomd 777 /var/ftp/pub/upload/
注意,如果ftp服务的根目录根目录是 /var/ftp/ 的权限设置为777或者766,会导致无法使用匿名用户登陆。并且由于windows的ftp登陆状态会被缓存,所以你每次修改ftp服务之后,再次用windows登陆的时候都要F5刷新一下。
设置selinux对这个文件夹的管理
列出ftp的相关规则布尔值开启状态
$getsebool -a | grep ftp
允许匿名用户写入
$setsebool -P ftpd_anon_write on
查看ftp文件夹的具体属性,包括安全上下文
$ll -Z /var/ftp/
设置的FTP目录可以上传文件
$chcon -t public_content_rw_t /var/ftp/pub/upload
确认 upload 文件夹的selinux属性为public_content_rw_t:s0
$ll -Z /var/ftp/pub
然后一定要重启机器才能让刚才设置的selinux选项生效
配置文件的位置: /etc/vsftpd/vsftpd.conf
确认第12行 anonymous_enable=YES
第29行anon_upload_enable=YES
第33行anon_mkdir_write_enable=YES
# 文件末尾新增anon_other_write_enable=YES
至此,ftp服务已经可以使用匿名用户上传和下载了,但是不能删除和修改文件或文件夹