vsftp安装配置 [2013-11-29更新]

来源:互联网 发布:js utf16 编辑:程序博客网 时间:2024/06/05 04:35
 VSFTP: Very Secure FTP
测试环境:CentOS 6.4 64bit


1. 安装FTP服务器(vsftpd)和客户端(ftp)


# yum -y install vsftpd ftp
# chkconfig vsftpd on

-------------------------------------------------------------------

2. 配置vsftp


! 按照下述参考配置修改 /etc/vsftpd/vsftpd.conf 文件

-------------------------------------------------------------------

3. iptables配置


# vi /etc/sysconfig/iptables
在该文件中追加:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21
-A INPUT -p tcp -m tcp --dport 50000:50030 -j ACCEPT     // 开放指定的端口,提高访问速度

# service iptables restart

-------------------------------------------------------------------

4. selinux配置


# useradd ftp-usr
# passwd ftp-usr                 // 设置ftp-usr用户密码
# chown ftp-usr:ftp-usr /var/ftp/pub/
# vi /etc/passwd
修改ftp-usr用户配置(必须保留主目录,否则无法登陆;login建议设置为/sbin/nologin),修改完成如下所示:
ftp-usr:x:501:501::/home/ftp-usr:/sbin/nologin

# service vsftpd start
# ftp 127.0.0.1                  // 使用ftp-usr登陆

! 登陆FTP后进行所有希望能够进行的操作(如上传文件、上传目录、删除文件、删除目录等),此时由于SELinux的限制很多操作都会失败,但这些操作都会被记录到 /var/log/audit/audit.log 中,操作完后执行下述2行命令,SELinux会自动更新策略,刚刚禁止的操作都会被允许。
# grep vsftpd /var/log/audit/audit.log | audit2allow -M vsftpd
# semodule -i vsftpd.pp          // 会在用户主目录下生成vsftpd.pp

至此,vsftpd已经可以正常使用了。最终的效果为只允许ftp-usr用户登录FTP,且不允许该用户切换工作目录。



- 配置文件说明


/etc/vsftpd/vsftpd.conf       // vsftp主配置文件
/etc/vsftpd/ftpusers          // 拒绝用户列表

/etc/vsftpd/chroot_list
生效前提:chroot_list_enable=YES
路径指定:chroot_list_file=/etc/vsftpd/chroot_list
当 chroot_local_user=YES 时,chroot_list为禁止切换工作目录的用户列表
当 chroot_local_user=NO 时, chroot_list为允许切换工作目录的用户列表

/etc/vsftpd/user_list
生效前提:userlist_enable=YES
路径指定:userlist_file=/etc/vsftpd/user_list
当 userlist_deny=YES 时,user_list为拒绝用户列表
当 userlist_deny=NO 时, user_list为允许用户列表



- 参考配置(/etc/vsftpd/vsftpd.conf)


anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES

xferlog_file=/var/log/xferlog
xferlog_std_format=YES

idle_session_timeout=600
data_connection_timeout=120

ftpd_banner=Welcome to [XXXXX] FTP service.

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list     # 在该文件中添加“ftp-usr”,不允许该用户切换工作目录
local_root=/var/ftp/pub

listen=YES

userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list          # 在该文件中添加“ftp-usr”,允许该用户访问FTP

pasv_min_port=50000
pasv_max_port=50030

reverse_lookup_enable=NO
pam_service_name=vsftpd
tcp_wrappers=YES


原创粉丝点击