rhel6.2
一 基本配置
yum install vsttpd -y
service vsftpd start
id ftp
cat /etc/passwd | grep ftp.其家目录在/var/ftp,默认有pub,匿名用户可使用
建立ftp相应的用户,就是系统用户,然后给密码
getsebool -a | grep ftp
setsebool -p ftp_home_dir on 做完了这一步,系统用户就可以在w7上上传下载了
w7上ftp://192.168.200.1,然后输入,在linux已经建立好的用户即可
或者ftp://aaa:[email protected],其中aaa为用户名,123为密码
如果修改端口号
在 vim /etc/vsftpd/vsftpd.conf
在Listen=YES的下一行加上Liste_port=65500
也可以指定某一用户使用ftp listen_address=能够使用ftp的ip或ip段
二 ftp服务器被动模式
vim /etc/vsftpd/vsftpd.conf
pasv_enable=YES
pasv_min_port=10000 自由制定被动模式端口范围
pasv_max_port=10004
重启服务,设置防火墙
iptables -I INPUT ! -s 192.168.0.0/24 -p tcp -m multiport --dport 21,10000:10004 -j DROP
iptables -L -n
三 匿名用户有权限登录后上传下载
vim /etc/vsftp/vsftpd.conf
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
mv /var/ftp.bak /var/ftp
/etc/init.d/vsftpd restart
有时候处于需要,只允许用户下载,不能够上传和创建文件
cat /etc/passwd | grep ftp -----> chown ftp:ftp /var/ftp/zoupub
ll -Zd /var/ftp/zoupub
man ftpd_selinux
chcon -R -t pulic_content_rw_t /var/ftp/zoupub
getsebool -a | grep ftp
setsebool -P allow ftpd_anon_write on (这样匿名用户可以新建文件)
四 系统用户相关配置(牢域机制】
用户只能在自己家目录下访问,必须设置,防止用户跳转目录到其他用户或者根用户
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
重启服务即可
如果没有牢域机制,系统用户可以通过lftp ip -u aaa,跳转目录
五 黑名单与百名单
需要停用匿名用户mvc /var/bak.ftp /var/ftp
vim /etc/vsftpd/vaftpd.conf
userlist_deny=NO 把默认的黑名单变为白名单
vim /etc/vsftpd/user_list
在里面一行一个用户
黑名单 vim /etc/vsftpd/ftpusers
一行一个用户
六 限速(规定用户带宽)
在配置文件里面加入 user_config_dir=/etc/vsftpd定义为主目录,因为主目录下修改配置文件,不用修改上下文
echo local_max_rate=8192 > /etc/vsftpd/aaa 限制aaa用户的下载目录为8k
也可以在配置文件下可接受最大的client数目,max_client=100
每个ip最大的client数目 max_per_ip=5
这样有用户使用ftp登录时,会明显感觉速度变慢
七 磁盘配额 (合理分配服务器资源,一般每个用户有两个G就够用)
df -h /home
vim /etc/fstab
在/home那一行,在default后添加,usrquota,grpquota
mount -o remount /home
mount
cd /home
quotacheck -cumg /home会相应生成两个文件,ls查看
edquota -u aaa指定哦能够胡磁盘容量,并编辑,soft要小于hard
关 quotaoff /home
开 quotaon /homw
equota -t可以修改磁盘超出后警示,失效的时间
八 缺省用户 (某用户缺少某项功能)
vim /etc/vsftpd/vsfpd.conf
最后添加user_config_dir=/etc/vsftpd/zou_dir
cd /etc/vsftpd/zou_dir
vim aaa
write_enable=YES
cmds_allowed=ABOR,CMD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,DUIT,RNFR,RNTO,SEZE,STOR,TYPE,USER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST
file_open_mode=0444
用户不能下载,只能上传,但上传后不能删除
九 虚拟用户(虚拟用户没有id,只能登录,不能使用mail)
关闭networkmanager
在配置文件里面输入
annoymous_enable=NO 关闭匿名用户
guest_enable=YES
guest_username=zou来宾用户名,这是一个目录名,其下为虚拟用户,虚拟用户会映射zou,登录
cd /etc/vsftpd --->ls
vim zou
奇数行为用户,偶数行为密码
转换文件数据,先安装db4
在/etc/vsftpd目录下,执行db_load -T -t hash -f /etc/vsftpd/zou /etc/vsftpd/zou.db
ls 见到zou.db 即可
加载文档(做好备份,再加载)
vim /etc/pam.d/vsftpd
把里面的注释都注释掉
audo requid pam_userdb.so db=/etc/vsftpd/zou
account requid pam_userdb.co db=/etc/vsftpd/zou
建立来宾用户 useradd -s /sbin/nologin zou (来宾用户要与前面设置的一致)
touch /home/zou/zou.test
chmod o+rx /home/zou
设置bool值 getsebool -a | grep ftp
setsebool -p ftp_connect_db on
ftp_home_dir
所有配置后,此时虚拟用户有下载权限,且所有虚拟用户共享一个目录,如果让虚拟用户赫本地用户有相同的权限,修改出配置文件
virtual_use_local_privs=YES
重启服务即可
十 ftp加密
yum instalol openssl* -y
cd /etc/vsftpd
openssl req -x509 -nodes -day 365 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem
vim /etc/vsftpd/vsftd.conf
最后输入ssl_enable=YES
allow_anon_ssl=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem
W7上用flashfxp,sslftp,tlsv1登录,登录接受证书,用大鲨鱼抓包也是加密的,^_^