Redhat6 建立基于防火墙和suLinux的虚拟用户vsftp

基于redhat6

安装vsftp软件
yum install vsftpd
我们这里安装的版本是vsftpd-2.2.2-6.el6.i686
因为我们要建立匿名账户的vsftpd所以还要安装db4db4_utils两个软件包,redhat6已经默认安装.
修改/etc/vsftpd/vsftpd.conf
 [root@mail ftp]# grep -v '^#' /etc/vsftpd/vsftpd.conf
anonymous_enable=YES         
local_enable=YES                                  
write_enable=YES                                
local_umask=022                                  
anon_root=/ftp/public                         ;匿名账户根目录
xferlog_enable=YES                                       ;开启日志
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600                  ;删除空闲了10分钟后的用户
data_connection_timeout=120          ;删除空闲了2分钟的下载
accept_timeout=60                                         ;删除挂起了1分钟后的被动连接
connect_timeout=60                             ;删除挂起1分钟后的活动连接
ftpd_banner=Welcome to ZZU FTP.
chroot_local_user=YES                         ;本地账户限制在家目录
ls_recurse_enable=YES                         ;禁用危险地ls-R指令
listen=YES
 
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
 
hide_ids=YES                                                  ;隐藏文件的所有者和组信息
 
max_clients=300                                           ;最大接入人数300
max_per_ip=4                                                ;每人最大4个连接
anon_max_rate=100000                                      ;匿名用户最大速率100K/s
local_max_rate=1000000                           ;本地用户最大速率1M/s
 
guest_enable=YES                                        ;开启虚拟用户
guest_username=ftp                                   ;虚拟用户映射的本地用户
user_sub_token=$USER
local_root=/ftp/virtual/$USER                   ;虚拟用户的根目录
user_config_dir=/etc/vsftpd/userdir       ;虚拟用户的权限对用文件
 
 
虚拟账户的设置
mkdir /etc/vsftpd/vuser
vim /etc/vsftpd/vuser/vu
 
ftp1
123
ftp2
123
 
第一行为账户第二行为密码
生成数据库文件
db_load –T –t hash –f /etc/vsftpd/vuser/vu /etc/vsftpd/vuser/vu.db
虚拟账号权限
mkdir /etc/vsftpd/userdir
vim /etc/vsftpd/userdir/ftp1
 
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
 
赋予ftp1最大权限
vim /etc/vsftpd/userdir/ftp2
 
anon_upload_enable=YES
 
赋予ftp2可上传权限
 
修改账户验证模式
vim /etc/pam.d.vsftpd
改变为
auth       required     pam_userdb.so db=/etc/vsftpd/vuser/vu
account    required     pam_userdb.so db=/etc/vsftpd/vuser/vu
 

防火墙和suLinux都是开启的

改变相应策略

 

 setsebool -P allow_ftpd_anon_write=1
setsebool -P allow_ftpd_full_access=1
setsebool -P ftp_home_dir=1

建立ftp相关的文件夹
mkdir –p /ftp/public /ftp/virtual/ftp1 /ftp/virtual/ftp1
chown ftp.ftp /ftp/virtual/*
修改安全环境
chcon --reference /var/ftp -R /ftp

启动服务

service vsftpd start

测试

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章