2014年(31)
分类: LINUX
2014-09-12 15:25:49
原文地址:暑假项目--vsftpd 作者:spunix
Vsftp配置需求 ftp地址:192.168.21.100
1. 关闭匿名用户登陆
2. 所有账号使用虚拟账户登陆
songpei—songpei01 wantao—wangtao01
zhengxiuchang—zhengxiuchang01 wangrenhao—wangrenhao01
3. 对每个部门设置私有文件夹,以及员工账号,员工具有对该部门上传,下载,修改,重命名的权限。
财务部caiwu: songpei主 wantao
行政部 xingzheng: zhengxiuchang主 wangrenhao
4. 限制部门中的员工只能删除或修改自己所创建的文件。每个部门的主任拥有删除,修改所有用户东西的权限。
5. 设置公共账号public 密码123456,用户可以下载,但是不能上传和修改文件。
6. 对用户下载速度做限制,为保证服务器通信质量,最大连接数为300
songpei: 300Kb/s
wantao:50kb/s
实施步骤:
1. 安装ftp
(1) rpm 安装
[root@localhost ~]# cd /media/rhel/Server/
[root@localhost Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm
(2) yum安装
[root@localhost ~]# yum install -y vsftpd
2. 运行ftp服务器,并设置为开机启动
[root@localhost ~]# chkconfig vsftpd on
[root@localhost ~]# service vsftpd restart
3. 创建虚拟账号文本文件
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# touch vsftpd_virtualuser.txt
[root@localhost vsftpd]# vi vsftpd_virtualuser.txt
songpei
songpei
wantao
wantao
zhengxiuchang
zhengxiuchang
wangrenhao
wangrenhao
public
123456
4. 生成虚拟账号数据库文件
[root@localhost vsftpd] #yum install –y db4-utils*
[root@localhost vsftpd]#db_load –T –t hash –f vsftpd_virtualuser.txt vsftpd._virtualuser.db
[root@localhost vsftpd]#chmod 600 vsftpd_virtualuser.db
5. 配置PAM验证
[root@localhost vsftpd]#vi /etc/pam.d/vsftpd
注释默认设置
添加:
auth required/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_virtualuser
account required/lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_virtualuser
6. 创建虚拟账号对应的系统用户
[root@localhost ~]# useradd -d /var/ftp/public public01
[root@localhost ~]# useradd -d /var/ftp/caiwu songpei01
[root@localhost ~]# useradd -d /var/ftp/caiwu wantao01
[root@localhost ~]# useradd -d /var/ftp/xingzheng wangrenhao01
[root@localhost ~]# useradd -d /var/ftp/xingzheng zhengxiuchang01
[root@localhost ~]# chmod -R 500 /var/ftp/public/
[root@localhost ~]# chmod -R 700 /var/ftp/{ caiwu,xingzheng}
[root@localhost ~]#setfacl –R –m u:wantao:rwx /var/ftp/caiwu
[root@localhost ~]#setfacl –R –m u:zhengxiuchang:rwx /var/ftp/xingzheng
[root@localhost ~]#chmod o+t /var/ftp/caiwu
7.修改全局配置文件
[root@localhost ftp]# cd /etc/vsftpd/
[root@localhost vsftpd]# vi vsftpd.conf
修改:anonymous_enable=NO
local_enable=YES
添加:chroot_local_user=YES
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vuserconfig
max_clients=300
max_per_ip=10
7. 创建虚拟账号的配置文件
[root@localhost vsftpd]# mkdir /etc/vsftpd/vuserconfig
[root@localhost vsftpd]#touch /etc/vsftpd/vuserconfig/public
[root@localhost vsftpd]#touch /etc/vsftpd/vuserconfig/songpei
[root@localhost vsftpd]#touch /etc/vsftpd/vuserconfig/zhengxiuchang
[root@localhost vsftpd]#touch /etc/vsftpd/vuserconfig/wantao
[root@localhost vsftpd]#touch /etc/vsftpd/vuserconfig/wangrenhao
8. 配置虚拟账号的配置文件
[root@localhost vsftpd]# cd /etc/vsftpd/vuserconfig/
[root@localhost vuserconfig]#vi public
guest_enable=yes
guest_username=public01
anon_world_readable_only=no
anon_max_rate=50000
[root@localhost vuserconfig]#vi songpei
guest_enable=yes
guest_username=songpei01
anon_world_readable_only=no
write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
anon_max_rate=300000
anon_other_write_enable=yes
[root@localhost vuserconfig]#vi wantao
guest_enable=yes
guest_username=wantao01
anon_world_readable_only=no
write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
anon_max_rate=50000
anon_other_write_enable=yes
[root@localhost vuserconfig]#vi zhengxiuchang
guest_enable=yes
guest_username=zhengxiuchang01
anon_world_readable_only=no
write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
anon_max_rate=150000
anon_other_write_enable=yes
[root@localhost vuserconfig]#vi wangrenhao
guest_enable=yes
guest_username=wangrenhao01
anon_world_readable_only=no
write_enable=yes
anon_mkdir_write_enable=yes
anon_upload_enable=yes
anon_max_rate=150000
anon_other_write_enable=yes
9. 禁止ftp账户登陆系统
[root@localhost etc]# vi /etc/passwd
public01,zhengxiuchang01,songpei01,wantao01,wangrenhao01
对应的/bin/bash改为/sbin/nologin
10. 开启selinux的FTP传输审核功能
[root@localhost etc]# setsebool -P ftp_disable_trans on
11. 重启服务 测试
[root@localhost ~]#service vsftpd restart
[root@localhost ~]#ftp 192.168.21.100
[u1]出了文件的拥有者可以删除,修改所有东西,其他用户只能删除自己的东西