小小寒舍—vsftpd服务攻略之锋芒毕露
原创
©著作权归作者所有:来自51CTO博客作者红帽小子的原创作品,谢绝转载,否则将追究法律责任
小小寒舍—vsftpd服务攻略之锋芒毕露
案例
公司需求:
公司为了宣传最新的产品信息,欲搭建FTP服务器,对市民开放共享目录,给予下载权限(下载速度为100kb/s),禁止上传。对公司的合作单位能够上传和下载(下载速度为500kb/s),但不可以删除数据。并要求登录到ftp服务器的最大链数为100,每个ip最大链接数5,用户空闲时间超过限值为5分钟
分析:
要对不同用户进行不同的权限限制且FTP服务器需要实现用户的审核。但虑到服务器的安全性,需用虚拟帐号验证方式,并对不同的虚拟帐号权限设置,即可满足对公司要求。为了保证服务器的性能,还需要根据用户的等级,限制客户端的连接数及下载速度。
解决方案:
注意
把防火墙和selinux关了,以免影响后面的试验
#iptables –F
#setenforce 0
1,创建用户数据库
#创建用户文本文件
[root@station18 ~]# touch vfile
[root@station18 ~]# vim vfile
vip
123
uvip
321
#生成数据库
~~~我们需要装db4-utils-4.3.29-9.fc6.i386.rpm包,才能使用db_load工具~~~
[root@station18 ~]# yum install db4-*
Loading "rhnplugin" plugin
Loading "installonlyn" plugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for db4-java to pack into transaction set.
db4-java-4.3.29-9.fc6.i38 100% |=========================| 63 kB 00:00
---> Package db4-java.i386 0:4.3.29-9.fc6 set to be updated
---> Downloading header for db4-tcl to pack into transaction set.
db4-tcl-4.3.29-9.fc6.i386 100% |=========================| 14 kB 00:00
---> Package db4-tcl.i386 0:4.3.29-9.fc6 set to be updated
---> Downloading header for db4-utils to pack into transaction set.
db4-utils-4.3.29-9.fc6.i3 100% |=========================| 17 kB 00:00
---> Package db4-utils.i386 0:4.3.29-9.fc6 set to be updated
---> Downloading header for db4-devel to pack into transaction set.
db4-devel-4.3.29-9.fc6.i3 100% |=========================| 112 kB 00:00
---> Package db4-devel.i386 0:4.3.29-9.fc6 set to be updated
--> Running transaction check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
db4-devel i386 4.3.29-9.fc6 base 2.0 M
db4-java i386 4.3.29-9.fc6 base 1.7 M
db4-tcl i386 4.3.29-9.fc6 base 1.0 M
db4-utils i386 4.3.29-9.fc6 base 119 k
Transaction Summary
=============================================================================
Install 4 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 4.9 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): db4-java-4.3.29-9. 100% |=========================| 1.7 MB 00:00
(2/4): db4-tcl-4.3.29-9.f 100% |=========================| 1.0 MB 00:00
(3/4): db4-utils-4.3.29-9 100% |=========================| 119 kB 00:00
(4/4): db4-devel-4.3.29-9 100% |=========================| 2.0 MB 00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: db4-devel ######################### [1/4]
Installing: db4-java ######################### [2/4]
Installing: db4-tcl ######################### [3/4]
Installing: db4-utils ######################### [4/4]
Installed: db4-devel.i386 0:4.3.29-9.fc6 db4-java.i386 0:4.3.29-9.fc6 db4-tcl.i386 0:4.3.29-9.fc6 db4-utils.i386 0:4.3.29-9.fc6
Complete!
生成库文件
[root@station18 ~]# db_load -T -t hash -f vfile /etc/vsftpd/vfile.db
#修改数据库文件访问权限
[root@station18 ~]# chmod 600 /etc/vsftpd/vfile.db
[root@station18 ~]# ls -ld /etc/vsftpd/vfile.db
-rw------- 1 root root 12288 Nov 12 10:28 /etc/vsftpd/vfile.db
2,配置pam文件
#打开配文/etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
#文件/etc/pam.d/vsftpd修改后 内容如下
#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include system-auth
#account include system-auth
#session include system-auth
#session required pam_loginuid.so
auth required pam_userdb.so db=/etc/vsftpd/vfile
account required pam_userdb.so db=/etc/vsftpd/vfile
3,创建虚拟账号对应的系统用户
[root@station18 ~]# useradd -s /sbin/nologin vipuser
[root@station18 ~]# useradd -s /sbin/nologin uvipuser
4,修改配文
#修改vsftpd.conf主配文
anonymous_enable=NO:
local_enable=YES
chroot_local_user=YES
connect_timeout=300
pam_service_name=vsftpd:vsftpd使用的PAM模块为vsftpd
user_config_dir=/etc/vsftpd/vuser:虚拟帐号主目录为/vuser
max_clients=100:FTP服务器最大接入客户端数为100个
max_per_ip=5:每个IP地址最大连接数为5个
#建立虚拟账号的配文
[root@station18 ~]# mkdir /etc/vsftpd/vuser
[root@station18 ~]# vim /etc/vsftpd/vuser/vip
[root@station18 ~]# vim /etc/vsftpd/vuser/uvip
#vim /etc/vsftpd/vuser/vip 进行如下编辑
guest_enable=yes:开启虚拟帐号登录
guest_username=vipuser:设置ftp对应的系统帐号为vipuser
anon_world_readable_only=no:允许匿名用户浏览器整个服务器的文件系统
rite_enable=yes:允许在文件系统写入权限
anon_mkdir_write_enable=yes:允许创建文件夹
anon_upload_enable=yes:开启匿名帐号的上传功能
anon_max_rate=500000:限定传输速度为500KB/s
#vim /etc/vsftpd/vuser/uvip 进行如下编辑
guest_enable=yes:开启虚拟帐号登录
guest_username=uvipuser:设置ftp对应的系统帐号为uvipuser
anon_world_readable_only=no:允许匿名用户浏览器整个服务器的文件系统anon_max_rate=100000:限定传输速率为100KB/s
~~~vsftpd对于文件传输速度限制是在80%~120%之间滚动~~~
5,重启服务
[root@station18 ~]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
[root@station18 ~]#
#配置完成
下一篇:我的友情链接
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Linux环境变量配置全攻略
Linux环境变量配置;Linux读取环境变量;Linux环境变量配置方法.......
bash 环境变量 vim linux rhce -
锋芒毕露
成就 不代表未来挑战 应该更有趣
职场 休闲 闲谈 -
小寒节气
-
文件共享服务之vsftpd
vsftpd ssl ftp 虚拟用户
ftp ssl vsftpd -
Netty(七)之聊天室小小小案例
需求1)上线或者下线给其它人员通知2)A发送消息其它人员都可见设计思路客户端与
Netty NettyDemo .net ide 服务端 -
Vsftpd完全攻略(五)vsftpd.conf配置详解
根据 /etc/vsftpd/vsftpd.conf默认配置给出设定功能 # Example config file /etc/vsftpd/vsftpd.conf# The default compiled in settings are fairly paranoid. This sample file# loosens things
休闲 Vsftpd Vsftpd完全攻略 vsftpd.conf配置详解 /etc/vsftpd/vsftpd.c