RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置
1.vsftpd服务软件包
vsftpd-2.0.5-10.el5.i386.rpm:vsftpd主程序包
2.vsftpd相关文档
/etc/vsftpd/vsftpd.conf:vsftpd的核心配置文件
/etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP服务器
/etc/vsftpd/user_list:指定允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd操作的一些变量和设置脚本
/var/ftp/:默认情况下匿名用户的根目录
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_攻略
 
FTP常规配置应用案例1:
需求:

公司技术部准备搭建一台功能简单的FTP服务器,允许所有员工上传和下载文件,并允许创建用户自己的目录。
分析:
允许所有员工上传和下载文件需要设置成允许匿名用户登录并且需要将允许匿名用户上传功能开启,最后anon_mkdir_write_enable字段可以控制是否允许匿名用户创建目录。
解决方案:
(1)配置vsftpd.conf主配置文件(服务器配置支持上传)
允许匿名用户访问
anonymous_enable=YES
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_攻略_02
允许匿名用户上传文件并可以创建目录
anon_upload_enable=YES
anon_mkdir_write_enable=YES

[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_Vsftpd_03
保存退出
(2)上传目录ftp用户的写入权限
大家注意,默认匿名用户家目录的权限是755,这个权限是不能改变的。切记!切记!!
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_企业级_04
下面我们来一步一步的实现,先修改目录权限,创建一个公司上传用的目录,叫companydata,分配ftp用户所有,目录权限是755
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_攻略_05

OK了

(3)修改selinux(selinux支持上传)这个也是很多教程没有的一步
使用getsebool -a | grep ftp 命令可以找到ftp的bool值,然后我们来改
getsebool -a 是显示所有的selinux的布尔值,通过管道,查找与ftp相关的
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_Linux_06

使用setsebool -P allow_ftpd_anon_write .命令设置布尔值
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_攻略_07

下面我们准备修改上下文
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_企业级_08

然后reboot重新启动服务器
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_企业级_09


(4)运行级别3开启vsftpd服务
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_攻略_10
(5)测试
匿名登录FTP
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_攻略_11   

现在我们匿名上传
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_服务_12

现在匿名上传的文件是禁止删除滴~
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_Vsftpd_13

这样匿名用户的上传就算成功了

############################Michael分割线##########################

FTP常规配置应用案例2:
需求:
公司内部现在有一台FTP和WEB服务器,FTP的功能主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等等哈~公司现有两个部门负责维护任务,他们分别适用team1和team2帐号进行管理。先要求仅允许team1和team2帐号登录FTP服务器,但不能登录本地系统,并将这两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。
分析:
将FTP和WEB服务器做在一起是企业经常采用的方法,这样方便实现对网站的维护,为了增强安全性,首先需要使用仅允许本地用户访问,并禁止匿名用户登录。其次使用chroot功能将team1和team2锁定在/var/www/html目录下。如果需要删除文件则还需要注意本地权限哈~
解决方案:
(1)建立维护网站内容的ftp帐号team1和team2并禁止本地登录,然后设置其密码
useradd -s /sbin/nologin 用户名
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_Vsftpd_14  
(2)配置vsftpd.conf主配置文件并作相应修改
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO:禁止匿名用户登录
local_enable=YES:允许本地用户登录
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_Linux_15
local_root=/var/www/html:设置本地用户的根目录为/var/www/html
chroot_list_enable=YES:激chroot功能
chroot_list_file=/etc/vsftpd/chroot_list:设置锁定用户在根目录中的列表文件
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_服务_16
保存退出哈~
(3)建立/etc/vsftpd/chroot_list文件,添加team1和team2帐号
touch /etc/vsftpd/chroot_list
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_Linux_17
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_服务_18
(4)开启禁用SElinux的FTP传输审核功能
setsebool -P ftpd_disable_trans .
on也可以换成1,off为0哈~
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_Linux_19
如果不禁用SElinux的FTP传输审核功能则会出现如下错误“500 OOPS:无法改变目录”哈~
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_攻略_20
(5)重启vsftpd服务使配置生效
service vsftpd restart
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_Linux_21
(6)修改本地权限
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_企业级_22
(7)测试
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_Linux_23
OK,需求目标全部达成~~~
[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置_攻略_24
############################Michael分割线##########################
下季更新[RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之高级配置,敬请期待~~~
############################Michael分割线##########################

本文出自 “王乾De技术Blog[爱生活,爱学习]” 博客