您好,登錄后才能下訂單哦!
本篇內容主要講解“FTP虛擬用戶的原理和用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“FTP虛擬用戶的原理和用法”吧!
虛擬用戶原理
因為在linux之下,使用vsftp建立用戶之后,默認使用ftp訪問的時候,是會訪問到對應的用戶家目錄。如果想多個用戶同時訪問某一個目錄,同時對同一目錄下有著不同的權限,比如部分用戶只能看,不修改,或者有的用戶只能下載不能上傳這些權限,這些設定只能通過vsftp中的虛擬用戶來進行設定,普通的用戶無法達到這樣的效果。
故先通過建立一個普通系統用戶,建立家目錄,然后將所有的虛擬用戶映射到對應的普通系統用戶家目錄中,然后再對各虛擬用戶進行權限控制,達到上述的效果。
新建用戶
新建用戶marility,用戶鎖定在/var/www/ruibiaofangxuan目錄內
mkdir /var/www/ruibiaofangxuan useradd -d /var/www/ruibiaofangxuan marility chown marility.marility /var/www/ruibiaofangxuan chmod u-w /var/www/ruibiaofangxuan
給虛擬用戶生成隨機密碼
[root@marility ~]# tr -cd '[:alnum:]' < /dev/urandom | fold -w32 |head -n1 eFEBgVTfWJ66OhQ3rTuGB4kt5k5r0aMW
vsftp的相關配置文件設置
[root@marility vsftpd]# grep ^[^#] /etc/vsftpd/vsftpd.conf anonymous_enable=NO ##禁止匿名用戶 local_enable=YES ##開啟本地賬戶,虛擬賬戶需要映射到本地賬戶 write_enable=YES local_umask=022 ##本地用戶的umask值 anon_umask=022 ##虛擬用戶的umask值設定 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/xferlog ##日志路徑 xferlog_std_format=YES ascii_upload_enable=YES ##允許上傳ascii格式文件 ascii_download_enable=YES ftpd_banner=Welcome to blah FTP service. chroot_local_user=YES ##禁錮用戶在家目錄 chroot_list_enable=NO ##不啟用本地禁用目錄,使用虛擬用戶時不需要開戶本地列表過濾 listen=YES ##監聽ipv4 listen_ipv6=NO allow_writeable_chroot=YES ##可以寫,因為禁錮家目錄需去掉用戶寫權限 tcp_wrappers=YES guest_enable=YES ##開啟虛擬賬戶功能 guest_username=marility ##虛擬賬號映射到本地哪個用戶 pam_service_name=ftp ##加載pam.d中哪個文件的機制 user_config_dir=/etc/vsftpd/config ##虛擬用戶的單個權限 [root@marility vsftpd]# cat /etc/vsftpd/vuser_list ruibiaofangxuan ##賬戶 eFEBgVTfWJ66OhQ3rTuGB4kt5k5r0aMW ##rubiaofangxuan的密碼 admini ##賬戶 adminipw ##admini的密碼
將密碼文件進行db格式的轉化
[root@marility vsftpd]# db_load -T -t hash -f vuser_list /etc/vsftpd/vuser_list.db
沒有db命令的可以先yum -y install db4-utils
然后再改變權限chmod 600 /etc/vsftpd/vuser_list.db
用戶密碼設定及db解析的設定
[root@marility vsftpd]# cat /etc/pam.d/ftp auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_list account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_list
auth是指對用戶的用戶名口令進行驗證。
accout是指對用戶的帳戶有哪些權限哪些限制進行驗證。
再后面的/lib/security/pam_userdb.so表示該條審核將調用pam_userdb.so這個庫函數進行。
注意該函數會根據系統的位數而所在位置不同,可以通過rpm –ql pam查看
同時db指向的文件實際上指向的vuser_list.db ,但默認省略db后綴,故上述db的指向時在配置的時候不能寫為vuser_list.db
設置虛擬用戶的權限
[root@marility vsftpd]# cat /etc/vsftpd/config/admini anon_world_readable_only=NO ##關閉只可讀 anon_upload_enable=YES ##允許上傳 anon_mkdir_write_enable=YES ##允許新建目錄 anon_other_write_enable=YES ##允許修改目錄/文件名稱,刪除 local_root=/var/www/ruibiaofangxuan/home ##家目錄映射 [root@marility vsftpd]# cat /etc/vsftpd/config/ruibiaofangxuan anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=NO anon_other_write_enable=NO local_root=/var/www/ruibiaofangxuan/home
為了安全,需要將用戶禁錮在家目錄,故會在vsftpd.conf中將chroot_local_user=YES功能打開,同時需要關閉用戶對自己家目錄的寫權限
如此設定后,虛擬用戶也不能對所映射的用戶的家目錄寫入數據
故可以在marility的家目錄下新建一個目錄/var/www/ruibiaofangxuan/home
同時將此目錄的屬主屬組改為marility,同時使用chmod改變權限
在/etc/vsftpd/config文件中再將兩個用戶的映射路徑local_root設定為所創建目錄即可
systemctl restart vsftpd systemctl enable vsftpd
重啟服務即可
即普通用戶只能下載上傳資料,而admini用戶有所有權限,同時也鎖定在/var/www/ruibiaofangxuan此目錄中
到此,相信大家對“FTP虛擬用戶的原理和用法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。