实验:利用vsftpd搭建FTP服务器

一、准备FTP服务
  • 查看官方网站( https://security.appspot.com/vsftpd.html )
yum info vsftpd
  • yum安装
yum -y install vsftpd
  • 查看软件包文件构成
rpm -ql vsftpd
二、匿名用户可以上传和修改的FTP
  • 修改 /etc/vsftpd/vsftpd.conf 配置文件
anonymous_enable=YES  # 默认是启用匿名访问,所以不需要修改
no_anon_password=YES(默认NO)  # 匿名用户略过口令检查 anon_world_readable_only (默认YES)只能下载全部读的文件
anon_upload_enable=YES # 匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES  # 匿名建目录
anon_other_write_enable=YES # 可删除和修改上传的文件
  • 修改文件系统的权限。注意:不能把写的权限给到FTP用户的伪根上,否则出错
mkdir upload
setfacl -m u:ftp:rwx upload/
  • FTP客户端工具测试
# 在upload目录上传文件和文件夹
lftp 192.168.30.115:/upload> ls
drwx------    2 14       50             22 May 13 08:03 test
# 删除上传的文件
lftp 192.168.30.115:/upload> ls
drwx------    2 14       50             22 May 13 08:03 test
-rw-------    1 14       50        2399595 May 13 08:24 test.txt
lftp 192.168.30.115:/upload> rm test.txt 
rm ok, `test.txt' removed

# 在upload子目录中上传文件,并查看 ( 大坑 )
lftp 192.168.30.115:/upload/test> put install.log
20453 bytes transferred   
lftp 192.168.30.115:/upload/test> ls                 # 但是没法看到刚才上传的文件 ☹
# 这是应为默认上传的文件权限是600,所以需要修改 anon_umask 设置,这个值的默认值是077
ll /var/ftp/upload/test/
total 20
-rw------- 1 ftp ftp 20453 May 13 16:26 install.log
-rw------- 1 ftp ftp     0 May 13 16:03 test.txt

vim /etc/vsftpd/vsftpd.conf
anon_umask=022                                       # 指定匿名上传文件的umask

你可能感兴趣的:(实验)