Vsftpd實(shí)現(xiàn)虛擬賬號(hào)
Vsftpd實(shí)現(xiàn)虛擬賬號(hào):
1. 創(chuàng)建虛擬賬號(hào)文件,奇數(shù)行為用戶名,偶數(shù)行為口令:
- vi /etc/vsftpd/account.txt
- user1
- pass1
- user2
- pass2
2. 將虛擬賬號(hào)加入數(shù)據(jù)庫(kù)
- db_load –T –t hash –f /etc/vsftpd/account.txt /etc/vsftpd_login.db
- chmod 600 /etc/vsftpd_login.db
3. 修改/etc/pam.d/ftp
- auth required pam_userdb.so db=/etc/vsftpd_login
- account required pam_userdb.so db=/etc/vsftpd_login
4. 建立虛擬賬號(hào)本地映射
- useradd –d [vuser_home] –g [groupname] –G [addtogroup] –s /sbin/nologin vuser
5. 或者直接編輯/etc/passwd設(shè)置虛擬賬號(hào)本地不能登錄
- vi /etc/passwd
- vuser:x:uid:gid::[vuser_home]:/sbin/nologin
6. 設(shè)置虛擬賬號(hào)本地映射目錄權(quán)限
- chgrp
- chown vuser
- chmod
7. 配置/etc/vsftpd-pam.conf
- anonymous_enable=NO
- anon_upload_enable=NO
- anon_mkdir_write_enable=NO
- local_enable=YES
- guest_enable=YES
- guest_username=vuser
8. 配置vsftpd自動(dòng)運(yùn)行,編輯/etc/profile,添加
- /usr/local/sbin/vsftpd-pam /etc/vsftpd-pam.conf &
鎖定不同用戶到不同目錄,配置不同的讀寫權(quán)限配置/etc/vsftpd-pam.conf
- #鎖定用戶目錄
- chroot_list_enable=YES
- #指定用戶配置文件位置
- user_config_dir=/etc/vsftpd_user_conf
配置/etc/vsftpd_user_conf/,添加與賬號(hào)對(duì)應(yīng)的userid文件,內(nèi)容如下:
- #指定用戶登錄根目錄
- local_root=[login_root]
- #指定用戶讀寫權(quán)限
- write_enable=YES|NO
- anon_world_readable_only= YES|NO
- anon_upload_enable= YES|NO
- anon_mkdir_write_enable= YES|NO
- anon_other_write_enable= YES|NO
- #指定用戶下載速度
- local_max_rate=500000
更改vsftpd端口執(zhí)行以下兩行指令,只允許2121和2020端口打開(kāi),其余端口關(guān)閉:
- #iptables -A INPUT -p tcp -m multiport --dport 2121,2020 -j ACCEPT
- #iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
修改/etc/vsftpd/vsftpd.conf文件,在文本***添加以下兩行:
- listen_port=2121
- ftp_data_port=2020
只允許指定ip訪問(wèn)直接在/etc/hosts.allow中定義允許或拒絕某一源地址,可以通過(guò)以下配置來(lái)實(shí)現(xiàn)。先確保/etc/vsftpd/vsftpd.conf中tcp_wrappers=YES。
假設(shè)提供168.192.2.1和210.31.8.1到210.31.8.254的連接,則可對(duì)/etc/hosts.allow進(jìn)行如下設(shè)定:
- vsftpd : 168.192.2.1 210.31.8. : allow
- ALL : ALL : DENY
給vsftpd增加新硬盤將新硬盤分區(qū)格式化后,掛到vsftpd用戶目錄下,并設(shè)定好用戶為vuser,指定好讀寫權(quán)限。
給vsftpd分配磁盤配額用系統(tǒng)自帶磁盤配額,對(duì)vuser用戶進(jìn)行磁盤限額,修改/etc/fstab中根分區(qū)的記錄,將/home分區(qū)的第4個(gè)字段改成defaults,usrquota,如下:
- LABEL=/home /home ext3 defaults,usrquota 1 2
- # reboot //重新啟動(dòng)系統(tǒng)使設(shè)置生效
也可以用
- # mount -o remount /dev/sda6 ///dev/sda6的掛接點(diǎn)就是/home,這樣可以不用啟動(dòng)系統(tǒng)。
如果對(duì)一個(gè)組進(jìn)行磁配額,需要增加參數(shù)grpquota,例如
- LABEL=/home /home ext3 defaults,grpquota 1 2
也可以
- LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2
- # quotacheck -avu
說(shuō)明:a-自動(dòng)開(kāi)啟掛載文件系統(tǒng)的配額,v-顯示信息,u-啟用用戶配額or g-啟用組配額
- # edquota vuser //為用戶ftpd設(shè)置磁盤配額
- OR
- # edquota -g vuser //為組vuser設(shè)置磁盤配額
系統(tǒng)會(huì)自動(dòng)打開(kāi)配額文件,如下:
- Disk quotas for user vuser(uid 502):
- Filesystem blocks soft hard inodes soft hard
- /dev/sda6 424 0 0 13 0 0
***列是啟用了配額的文件系統(tǒng)的名稱。第二列顯示了用戶當(dāng)前使用的塊數(shù),單位為KB。隨后的兩列用來(lái)設(shè)置用戶在該文件系統(tǒng)上的軟硬塊限度。inodes 列顯示了用戶當(dāng)前使用的i節(jié)點(diǎn)數(shù)量。***兩列用來(lái)設(shè)置用戶在該文件系統(tǒng)上的軟硬i節(jié)點(diǎn)限度。硬限是用戶或組群可以使用的磁盤空間的絕對(duì)***值。達(dá)到了該限度后,磁盤空間就不能再被用戶或組群使用了。軟限定義可被使用的***磁盤空間量。和硬限不同的是,軟限可以在一段時(shí)期內(nèi)被超過(guò)。這段時(shí)期被稱為過(guò)渡期(grace period),默認(rèn)七天的超越。過(guò)渡期可以用秒鐘、分鐘、小時(shí)、天數(shù)、周數(shù)、或月數(shù)表示。如果以上值中的任何一個(gè)被設(shè)置為 0,那個(gè)限度就不會(huì)被設(shè)置。
- # quotaon -avu //打開(kāi)磁盤配額監(jiān)控進(jìn)程,u是用戶g是組
可以使用以下命令校驗(yàn)用戶的配額是否被設(shè)置:
- # quota vuser
- Disk quotas for user vuser (uid 502):
- Filesystem blocks quota limit grace files quota limit grace
- /dev/sda6 424* 0 1 13 0 0
- # edquota –t(-g)來(lái)設(shè)置過(guò)渡期(grace period) //當(dāng)然只針對(duì)軟限制而言
和另一個(gè) edquota 命令相似,這個(gè)命令也會(huì)在文本編輯器中打開(kāi)當(dāng)前的文件系統(tǒng)配額:
- Grace period before enforcing soft limits for users:
- Time units may be: days, hours, minutes, or seconds
- Filesystem Block grace period Inode grace period
- /dev/sda6 7days 7days
按需要修改后存盤退出
用以下命令顯示磁盤配額使用狀態(tài)
- # repquota -a 或 repquota /dev/sda6(用戶配額)
- # repquota -g -a 或 repquota -a /dev/sda6 (組的配額)
取消某個(gè)文件系統(tǒng)的配額限制
- #quotaoff -vug /dev/sda6 //刪除home分區(qū)的磁盤限額
- #刪除/etc/fstab中設(shè)置配額的部分
修改軟配額的***超越時(shí)間
注意:
/,/boot/,/proc,/mnt/cdrom等無(wú)法使用配額,沒(méi)用。而且磁盤配額不適合FAT和FAT32系統(tǒng)。
以后當(dāng)新設(shè)置了某個(gè)用戶的配額,可以使用如下命令,馬上生效。
- # quotacheck -auvgm --是不嘗試重新掛載文件系統(tǒng)
【編輯推薦】