溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

FTP虛擬用戶的原理和用法

發(fā)布時(shí)間:2021-08-19 11:09:02 來(lái)源:億速云 閱讀:184 作者:chen 欄目:服務(wù)器

本篇內(nèi)容主要講解“FTP虛擬用戶的原理和用法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“FTP虛擬用戶的原理和用法”吧!

虛擬用戶原理

因?yàn)樵趌inux之下,使用vsftp建立用戶之后,默認(rèn)使用ftp訪問(wèn)的時(shí)候,是會(huì)訪問(wèn)到對(duì)應(yīng)的用戶家目錄。如果想多個(gè)用戶同時(shí)訪問(wèn)某一個(gè)目錄,同時(shí)對(duì)同一目錄下有著不同的權(quán)限,比如部分用戶只能看,不修改,或者有的用戶只能下載不能上傳這些權(quán)限,這些設(shè)定只能通過(guò)vsftp中的虛擬用戶來(lái)進(jìn)行設(shè)定,普通的用戶無(wú)法達(dá)到這樣的效果。

故先通過(guò)建立一個(gè)普通系統(tǒng)用戶,建立家目錄,然后將所有的虛擬用戶映射到對(duì)應(yīng)的普通系統(tǒng)用戶家目錄中,然后再對(duì)各虛擬用戶進(jìn)行權(quán)限控制,達(dá)到上述的效果。

新建用戶

新建用戶marility,用戶鎖定在/var/www/ruibiaofangxuan目錄內(nèi)

mkdir /var/www/ruibiaofangxuan
useradd -d /var/www/ruibiaofangxuan marility
chown marility.marility /var/www/ruibiaofangxuan
chmod u-w /var/www/ruibiaofangxuan

給虛擬用戶生成隨機(jī)密碼

[root@marility ~]# tr -cd '[:alnum:]' < /dev/urandom | fold -w32 |head -n1
eFEBgVTfWJ66OhQ3rTuGB4kt5k5r0aMW

vsftp的相關(guān)配置文件設(shè)置

[root@marility vsftpd]# grep ^[^#] /etc/vsftpd/vsftpd.conf
anonymous_enable=NO         ##禁止匿名用戶
local_enable=YES            ##開(kāi)啟本地賬戶,虛擬賬戶需要映射到本地賬戶
write_enable=YES            
local_umask=022           ##本地用戶的umask值
anon_umask=022           ##虛擬用戶的umask值設(shè)定
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  ##不啟用本地禁用目錄,使用虛擬用戶時(shí)不需要開(kāi)戶本地列表過(guò)濾
listen=YES             ##監(jiān)聽(tīng)ipv4
listen_ipv6=NO
allow_writeable_chroot=YES       ##可以寫,因?yàn)榻d家目錄需去掉用戶寫權(quán)限
tcp_wrappers=YES
guest_enable=YES            ##開(kāi)啟虛擬賬戶功能
guest_username=marility       ##虛擬賬號(hào)映射到本地哪個(gè)用戶
pam_service_name=ftp          ##加載pam.d中哪個(gè)文件的機(jī)制
user_config_dir=/etc/vsftpd/config   ##虛擬用戶的單個(gè)權(quán)限


[root@marility vsftpd]# cat /etc/vsftpd/vuser_list
ruibiaofangxuan           ##賬戶
eFEBgVTfWJ66OhQ3rTuGB4kt5k5r0aMW  ##rubiaofangxuan的密碼
admini               ##賬戶
adminipw              ##admini的密碼

將密碼文件進(jìn)行db格式的轉(zhuǎn)化

[root@marility vsftpd]# db_load -T -t hash -f vuser_list /etc/vsftpd/vuser_list.db

沒(méi)有db命令的可以先yum -y install db4-utils

然后再改變權(quán)限chmod 600 /etc/vsftpd/vuser_list.db

用戶密碼設(shè)定及db解析的設(shè)定

[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是指對(duì)用戶的用戶名口令進(jìn)行驗(yàn)證。
accout是指對(duì)用戶的帳戶有哪些權(quán)限哪些限制進(jìn)行驗(yàn)證。
再后面的/lib/security/pam_userdb.so表示該條審核將調(diào)用pam_userdb.so這個(gè)庫(kù)函數(shù)進(jìn)行。
注意該函數(shù)會(huì)根據(jù)系統(tǒng)的位數(shù)而所在位置不同,可以通過(guò)rpm –ql pam查看
同時(shí)db指向的文件實(shí)際上指向的vuser_list.db ,但默認(rèn)省略db后綴,故上述db的指向時(shí)在配置的時(shí)候不能寫為vuser_list.db

設(shè)置虛擬用戶的權(quán)限

[root@marility vsftpd]# cat /etc/vsftpd/config/admini 
anon_world_readable_only=NO           ##關(guān)閉只可讀
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

為了安全,需要將用戶禁錮在家目錄,故會(huì)在vsftpd.conf中將chroot_local_user=YES功能打開(kāi),同時(shí)需要關(guān)閉用戶對(duì)自己家目錄的寫權(quán)限

如此設(shè)定后,虛擬用戶也不能對(duì)所映射的用戶的家目錄寫入數(shù)據(jù)

故可以在marility的家目錄下新建一個(gè)目錄/var/www/ruibiaofangxuan/home

同時(shí)將此目錄的屬主屬組改為marility,同時(shí)使用chmod改變權(quán)限

在/etc/vsftpd/config文件中再將兩個(gè)用戶的映射路徑local_root設(shè)定為所創(chuàng)建目錄即可

systemctl restart vsftpd      
systemctl enable vsftpd

重啟服務(wù)即可

即普通用戶只能下載上傳資料,而admini用戶有所有權(quán)限,同時(shí)也鎖定在/var/www/ruibiaofangxuan此目錄中

到此,相信大家對(duì)“FTP虛擬用戶的原理和用法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

ftp
AI