Vsftpd實現(xiàn)虛擬賬號
Vsftpd實現(xiàn)虛擬賬號:
1. 創(chuàng)建虛擬賬號文件,奇數(shù)行為用戶名,偶數(shù)行為口令:
- vi /etc/vsftpd/account.txt
- user1
- pass1
- user2
- pass2
2. 將虛擬賬號加入數(shù)據(jù)庫
- 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. 建立虛擬賬號本地映射
- useradd –d [vuser_home] –g [groupname] –G [addtogroup] –s /sbin/nologin vuser
5. 或者直接編輯/etc/passwd設置虛擬賬號本地不能登錄
- vi /etc/passwd
- vuser:x:uid:gid::[vuser_home]:/sbin/nologin
6. 設置虛擬賬號本地映射目錄權(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自動運行,編輯/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/,添加與賬號對應的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端口打開,其余端口關閉:
- #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訪問直接在/etc/hosts.allow中定義允許或拒絕某一源地址,可以通過以下配置來實現(xiàn)。先確保/etc/vsftpd/vsftpd.conf中tcp_wrappers=YES。
假設提供168.192.2.1和210.31.8.1到210.31.8.254的連接,則可對/etc/hosts.allow進行如下設定:
- vsftpd : 168.192.2.1 210.31.8. : allow
- ALL : ALL : DENY
給vsftpd增加新硬盤將新硬盤分區(qū)格式化后,掛到vsftpd用戶目錄下,并設定好用戶為vuser,指定好讀寫權(quán)限。
給vsftpd分配磁盤配額用系統(tǒng)自帶磁盤配額,對vuser用戶進行磁盤限額,修改/etc/fstab中根分區(qū)的記錄,將/home分區(qū)的第4個字段改成defaults,usrquota,如下:
- LABEL=/home /home ext3 defaults,usrquota 1 2
- # reboot //重新啟動系統(tǒng)使設置生效
也可以用
- # mount -o remount /dev/sda6 ///dev/sda6的掛接點就是/home,這樣可以不用啟動系統(tǒng)。
如果對一個組進行磁配額,需要增加參數(shù)grpquota,例如
- LABEL=/home /home ext3 defaults,grpquota 1 2
也可以
- LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2
- # quotacheck -avu
說明:a-自動開啟掛載文件系統(tǒng)的配額,v-顯示信息,u-啟用用戶配額or g-啟用組配額
- # edquota vuser //為用戶ftpd設置磁盤配額
- OR
- # edquota -g vuser //為組vuser設置磁盤配額
系統(tǒng)會自動打開配額文件,如下:
- Disk quotas for user vuser(uid 502):
- Filesystem blocks soft hard inodes soft hard
- /dev/sda6 424 0 0 13 0 0
***列是啟用了配額的文件系統(tǒng)的名稱。第二列顯示了用戶當前使用的塊數(shù),單位為KB。隨后的兩列用來設置用戶在該文件系統(tǒng)上的軟硬塊限度。inodes 列顯示了用戶當前使用的i節(jié)點數(shù)量。***兩列用來設置用戶在該文件系統(tǒng)上的軟硬i節(jié)點限度。硬限是用戶或組群可以使用的磁盤空間的絕對***值。達到了該限度后,磁盤空間就不能再被用戶或組群使用了。軟限定義可被使用的***磁盤空間量。和硬限不同的是,軟限可以在一段時期內(nèi)被超過。這段時期被稱為過渡期(grace period),默認七天的超越。過渡期可以用秒鐘、分鐘、小時、天數(shù)、周數(shù)、或月數(shù)表示。如果以上值中的任何一個被設置為 0,那個限度就不會被設置。
- # quotaon -avu //打開磁盤配額監(jiān)控進程,u是用戶g是組
可以使用以下命令校驗用戶的配額是否被設置:
- # 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)來設置過渡期(grace period) //當然只針對軟限制而言
和另一個 edquota 命令相似,這個命令也會在文本編輯器中打開當前的文件系統(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 (組的配額)
取消某個文件系統(tǒng)的配額限制
- #quotaoff -vug /dev/sda6 //刪除home分區(qū)的磁盤限額
- #刪除/etc/fstab中設置配額的部分
修改軟配額的***超越時間
注意:
/,/boot/,/proc,/mnt/cdrom等無法使用配額,沒用。而且磁盤配額不適合FAT和FAT32系統(tǒng)。
以后當新設置了某個用戶的配額,可以使用如下命令,馬上生效。
- # quotacheck -auvgm --是不嘗試重新掛載文件系統(tǒng)
【編輯推薦】