真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Vsftpd+Mysql+Pam如何配置虛擬用戶

這篇文章主要介紹Vsftpd+MySQL+Pam如何配置虛擬用戶,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)主要從事網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、響應(yīng)式網(wǎng)站開(kāi)發(fā)、程序開(kāi)發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、微信小程序開(kāi)發(fā)等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷經(jīng)驗(yàn),集策劃、開(kāi)發(fā)、設(shè)計(jì)、營(yíng)銷、管理等多方位專業(yè)化運(yùn)作于一體。

一、VSFTPD的安裝

目前,VSFTPD的最新版本是1.2.0版。官方下載地址為ftp://vsftpd.beasts.org/users/cevans/vsftpd-1.2.0.tar.gz。在安裝前,需要先做以下準(zhǔn)備工作:

VSFTPD默認(rèn)配置中需要“nobody”用戶。在系統(tǒng)中添加此用戶,如果用戶已經(jīng)存在,useradd命令有相應(yīng)提示。

[root@hpe45 root]# useradd nobody useradd: user nobody exists

VSFTPD默認(rèn)配置中需要“/usr/share/empty”目錄。在系統(tǒng)中此目錄,如果目錄已經(jīng)存在,mkdir命令有相應(yīng)提示。

[root@hpe45 root]# mkdir /usr/share/empty/ mkdir: cannot create directory '/usr/share/empty': File exists

VSFTPD提供匿名FTP服務(wù)時(shí),需要“ftp”用戶和一個(gè)有效的匿名目錄。

[root@hpe45 root]# mkdir /var/ftp/ [root@hpe45 root]# useradd -d /var/ftp ftp接下來(lái)的操作對(duì)于ftp用戶是否已經(jīng)存在都是有用的。

[root@hpe45 root]# chown root.root /var/ftp [root@hpe45 root]# chmod og-w /var/ftp

以上準(zhǔn)備工作完成后,我們就可以開(kāi)始編譯源代碼了。假定我們下載的vsftpd-1.2.0.tar.gz在/root目錄,執(zhí)行以下命令:[root@hpe45 root]# tar zxvf vsftpd-1.2.0.tar.gz [root@hpe45 root]# cd vsftpd-1.2.0 [root@hpe45 vsftpd-1.2.0]# make [root@hpe45 vsftpd-1.2.0]# make install

上面的“make install”命令將編譯好的二進(jìn)制文件、手冊(cè)等復(fù)制到相應(yīng)目錄。在RHL9上,可能需要手動(dòng)執(zhí)行以下復(fù)制:[root@hpe45 vsftpd-1.2.0]# cp vsftpd /usr/local/sbin/vsftpd [root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf.5 /usr/local/share/man/man5 [root@hpe45 vsftpd-1.2.0]# cp vsftpd.8 /usr/local/share/man/man8

接下來(lái),我們復(fù)制一個(gè)簡(jiǎn)單的配置文件作為基礎(chǔ)供后面修改。

[root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc [root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp復(fù)制PAM驗(yàn)證文件,以允許本地用戶登錄VSFTPD。

[root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp

二、創(chuàng)建guest用戶

VSFTPD采用PAM方式驗(yàn)證虛擬用戶。由于虛擬用戶的用戶名/口令被單獨(dú)保存,因此在驗(yàn)證時(shí),VSFTPD需要用一個(gè)系統(tǒng)用戶的身份來(lái)讀取數(shù)據(jù)庫(kù)文件或數(shù)據(jù)庫(kù)服務(wù)器以完成驗(yàn)證,這就是VSFTPD的guest用戶。這正如同匿名用戶也需要有一個(gè)系統(tǒng)用戶ftp一樣。當(dāng)然,我們也可以把guest用戶看成是虛擬用戶在系統(tǒng)中的代表。下面在系統(tǒng)中添加vsftpdguest用戶,作為VSFTPD的guest。

[root@hpe45 vsftpd-1.2.0]# useradd vsftpdguest當(dāng)虛擬用戶登錄后,所在的位置為vsftpdguest的自家目錄/home/vsftpdguest。如果要讓虛擬用戶登錄到/var/ftp等其他目錄,修改vsftpdguest的自家目錄即可。

三、設(shè)置VSFTPD配置文件

在/etc/vsftpd.conf文件中,加入以下選項(xiàng):guest_enable=YES guest_username=vsftpdguest

然后執(zhí)行以下命令,讓VSFTPD在后臺(tái)運(yùn)行:[root@hpe45 vsftpd-1.2.0]# /usr/local/sbin/vsftpd &

四、將虛擬用戶保存在MySQL數(shù)據(jù)庫(kù)服務(wù)器中

我們建立數(shù)據(jù)庫(kù)vsftpdvu,表users,字段name和passwd用于保存虛擬用戶的用戶名和口令,同時(shí)增加兩個(gè)虛擬用戶xiaotong和xiaowang。

[root@hpe45 vsftpd-1.2.0]# mysql -p mysql>;create database vsftpdvu; mysql>;use vsftpdvu; mysql>;create table users(name char(16) binary,passwd char(16) binary); mysql>;insert into users (name,passwd) values ('xiaotong',password('qqmywife')); mysql>;insert into users (name,passwd) values ('xiaowang',password('ttmywife')); mysql>;quit

然后,授權(quán)vsftpdguest可以讀vsftpdvu數(shù)據(jù)庫(kù)的users表。執(zhí)行以下命令:[root@hpe45 vsftpd-1.2.0]# mysql -u root mysql -p mysql>;grant select on vsftpdvu.users to vsftpdguest@localhost identified by 'i52serial0'; mysql>;quit

如果要驗(yàn)證剛才的操作是否成功可以執(zhí)行下面命令:[root@hpe45 vsftpd]#mysql -u vsftpdguest -pi52serial0 vsftpdvu mysql>;select * from users;如果成功,將會(huì)列出xiaotong、xiaowang和加密后的密碼

五、設(shè)置MySQL的PAM驗(yàn)證

這里我們要用到一個(gè)利用mysql進(jìn)行pam驗(yàn)證的開(kāi)源項(xiàng)目(http://sourceforge.net/projects/pam-mysql/)。首先從網(wǎng)站下載它的程序包pam_myql-0.5.tar.gz,復(fù)制到/root目錄中。在編譯安裝之前,要確保mysql-devel的RPM包已經(jīng)安裝在你的機(jī)器上,如果沒(méi)有請(qǐng)從RHL安裝光盤中安裝該包。然后,執(zhí)行以下命令:[root@hpe45 root]#tar xvzf pam_mysql-0.5.tar.gz [root@hpe45 root]#cd pam_mysql [root@hpe45 pam_mysql]#make [root@hpe45 pam_mysql]#make install make install這一步可能會(huì)出現(xiàn)錯(cuò)誤,那只好手動(dòng)將該目錄下生成的pam_mysql.so復(fù)制到/lib/security目錄下。

接下來(lái),我們要設(shè)置vsftpd的PAM驗(yàn)證文件。打開(kāi)/etc/pam.d/ftp文件,加入以下內(nèi)容:auth required pam_mysql.so user=vsftpdguest passwd=i52serial0 host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2 account required pam_mysql.so user=vsftpdguest passwd=i52serial0 host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2上面涉及到的參數(shù),只要對(duì)應(yīng)前面數(shù)據(jù)庫(kù)的設(shè)置就可以明白它們的含義。這里需要說(shuō)明的是crypt參數(shù)。crypt表示口令字段中口令的加密方式:crypt=0,口令以明文方式(不加密)保存在數(shù)據(jù)庫(kù)中;crypt=1,口令使用UNIX系統(tǒng)的DES加密方式加密后保存在數(shù)據(jù)庫(kù)中;crypt=2,口令經(jīng)過(guò)MySQL的password()函數(shù)加密后保存。

六、進(jìn)一步的虛擬用戶設(shè)置

經(jīng)過(guò)以上的步驟,虛擬用戶就可以正常使用了。這里介紹進(jìn)一步的虛擬用戶設(shè)置。首先,介紹虛擬用戶的權(quán)限設(shè)置。

VSFTPD-1.2.0新添了virtual_use_local_privs參數(shù),當(dāng)該參數(shù)激活(YES)時(shí),虛擬用戶使用與本地用戶相同的權(quán)限。當(dāng)此參數(shù)關(guān)閉(NO)時(shí),虛擬用戶使用與匿名用戶相同的權(quán)限,這也就是VSFTPD-1.2.0之前版本對(duì)虛擬用戶權(quán)限的處理方法。這兩者種做法相比,后者更加嚴(yán)格一些,特別是在有寫(xiě)訪問(wèn)的情形下。默認(rèn)情況下此參數(shù)是關(guān)閉的(NO)。

當(dāng)virtual_use_local_privs=YES時(shí),只需設(shè)置write_enable=YES,虛擬用戶就可以就擁有寫(xiě)權(quán)限。而virtual_use_local_privs=NO時(shí),對(duì)虛擬用戶權(quán)限的設(shè)置就更多一些更嚴(yán)格一些。

控制虛擬用戶瀏覽目錄:如果讓用戶不能瀏覽目錄,但仍可以對(duì)文件操作,那么需要執(zhí)行以下二個(gè)步驟:一,配置文件中,anon_world_readable_only=YES。二,虛擬用戶目錄的權(quán)限改為只能由vsftpdguest操作:[root@hpe45 root]# chown vsftpdguest.vsftpdguest /home/vsftpdguest [root@hpe45 root]# chmod 700 /home/vsftpdguest

允許虛擬用戶上傳文件:

write_enable=YES anon_upload_enable=YES允許虛擬用戶修改文件名和刪除文件:anon_other_write_enable=YES由于以上選項(xiàng)的設(shè)置同樣會(huì)對(duì)匿名用戶生效。如果不想匿名用戶趁機(jī)擁有同樣的權(quán)限,最好是禁止匿名用戶登錄。

其次,由于虛擬用戶在系統(tǒng)中是vsftpdguest身份,所以可以訪問(wèn)到系統(tǒng)的其他目錄。為了更加安全,我們可以將虛擬用戶限制在自家目錄下。有兩種做法:一,在配置文件中增加以下選項(xiàng)chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list然后,在/etc/vsftpd.chroot_list文件中加入虛擬用戶名xiaotong和xiaowang。

第二種做法,在配置文件中修改chroot_local_user=YES。

經(jīng)過(guò)修改后,虛擬用戶登錄后其根目錄就限制在/home/vsftpdguest下,無(wú)法訪問(wèn)其他目錄。

七、虛擬用戶的個(gè)人目錄

大家可以發(fā)現(xiàn),無(wú)論是哪個(gè)虛擬用戶,登錄后所在的目錄都是/home/vsftpdguest,即都是guest_username用戶的自家目錄。下面,介紹如何為每個(gè)虛擬用戶建立自家目錄。首先,在主配置文件中加入以下選項(xiàng):user_config_dir=/etc/vsftpd/vsftpd_user_conf然后,生成/etc/vsftpd/vsftpd_user_conf目錄,并在該目錄下建立與特定虛擬用戶同名的文件:[root@hpe45 root]# mkdir /etc/vsftpd/vsftpd_user_conf [root@hpe45 root]# cd /etc/vsftpd/vsftpd_user_conf [root@hpe45 vsftpd_user_conf]# touch xiaowang以上的操作為虛擬用戶xiaowang建立了個(gè)人配置文件/etc/vsftpd/vsftpd_user_conf/xiaowang。接下來(lái),在xiaowang的個(gè)人配置文件中將xiaowang的自家目錄修改為/home/xiaowang,配置選項(xiàng)為:

local_root=/home/xiaowang然后,新建xiaowang目錄,并將權(quán)限設(shè)為vsftpdguest:[root@hpe45 vsftpd_user_conf]# mkdir /home/xiaowang [root@hpe45 vsftpd_user_conf]# chown vsftpdguest.vsftpdguest ./xiaowang [root@hpe45 vsftpd_user_conf]# chmod 600 /home/xiaowang

經(jīng)過(guò)以上設(shè)置,xiaowang登錄VSFTPD后,用“pwd”指令就可以發(fā)現(xiàn)被自己被定位到自己的“/home/xiaowang”目錄。

從文件系統(tǒng)層次來(lái)看,由于“/home/xiaowang”目錄的權(quán)限是屬于vsftpdguest的,所以其他的虛擬用戶同樣也可以訪問(wèn)xiaowang的自家目錄。解決這個(gè)問(wèn)題也很簡(jiǎn)單,我們只需要讓VSFTPD負(fù)責(zé)將虛擬用戶限制在其自家目錄,就可以避免虛擬用戶的互相訪問(wèn)。具體做法參照前面第六步中所述,這里不再贅述。經(jīng)過(guò)以上設(shè)置后,虛擬用戶就可以擁有屬于自己的目錄了。

usr/bin/ld: cannot find -lmysqlclient你要把/usr/local/mysql/lib/mysql的文件拷到/usr/lib/下就不會(huì)有這樣的錯(cuò)誤了。

以上是“Vsftpd+Mysql+Pam如何配置虛擬用戶”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享標(biāo)題:Vsftpd+Mysql+Pam如何配置虛擬用戶
文章轉(zhuǎn)載:http://weahome.cn/article/ijdjji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部