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

基于redhat6

安装 vsftp 软件
yum install vsftpd
我们这里安装的版本是 vsftpd-2.2.2-6.el6.i686
因为我们要建立匿名账户的 vsftpd 所以还要安装 db4 db4_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
 

Redhat6 建立基于防火墙和suLinux的虚拟用户vsftp_第1张图片

防火墙和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

测试

 

 

你可能感兴趣的:(防火墙,vsftp,虚拟用户,redhat6,suLinux)