公司需求: 公司為了宣傳最新的產品信息,欲搭建FTP伺服器,對市民開放共享目錄,給予下載許可權(下載速度為 100kb/s),禁止上傳.對公司的合作……"/> 公司需求: 公司為了宣傳最新的產品信息,欲搭建FTP伺服器,對市民開放共享目錄,給予下載許可權(下載速度為 100kb/s),禁止上傳.對公司的合作……"/>
歡迎您光臨本站 註冊首頁

小小寒舍—vsftpd服務攻略之鋒芒畢露

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
小小寒舍—vsftpd服務攻略之鋒芒畢露 案例<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 公司需求: 公司為了宣傳最新的產品信息,欲搭建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=vsftpdvsftpd使用的PAM模塊為vsftpd user_config_dir=/etc/vsftpd/vuser:虛擬帳號主目錄為

/vuser
max_clients=100FTP伺服器最大接入客戶端數為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 ~]#
#配置完成

本文出自 「小小寒舍」 博客,謝絕轉載!


[火星人 ] 小小寒舍—vsftpd服務攻略之鋒芒畢露已經有521次圍觀

http://coctec.com/docs/linux/show-post-49662.html