亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

無錯版Vsftpd+Mysql+Pam配置虛擬用戶方法2
2007-08-09   網絡

四、將虛擬用戶保存在MySQL數據庫服務器中

  我們建立數據庫vsftpdvu,表users,字段name和passwd用于保存虛擬用戶的用戶名和口令,同時增加兩個虛擬用戶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

  然后,授權vsftpdguest可以讀vsftpdvu數據庫的users表。執行以下命令:[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

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

  五、設置MySQL的PAM驗證

  這里我們要用到一個利用mysql進行pam驗證的開源項目(http://sourceforge.net/projects/pam-mysql/)。首先從網站下載它的程序包pam_myql-0.5.tar.gz,復制到/root目錄中。在編譯安裝之前,要確保mysql-devel的RPM包已經安裝在你的機器上,如果沒有請從RHL安裝光盤中安裝該包。然后,執行以下命令:[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這一步可能會出現錯誤,那只好手動將該目錄下生成的pam_mysql.so復制到/lib/security目錄下。

  接下來,我們要設置vsftpd的PAM驗證文件。打開/etc/pam.d/ftp文件,加入以下內容: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上面涉及到的參數,只要對應前面數據庫的設置就可以明白它們的含義。這里需要說明的是crypt參數。crypt表示口令字段中口令的加密方式:crypt=0,口令以明文方式(不加密)保存在數據庫中;crypt=1,口令使用UNIX系統的DES加密方式加密后保存在數據庫中;crypt=2,口令經過MySQL的password()函數加密后保存。

  六、進一步的虛擬用戶設置

  經過以上的步驟,虛擬用戶就可以正常使用了。這里介紹進一步的虛擬用戶設置。首先,介紹虛擬用戶的權限設置。

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

  當virtual_use_local_privs=YES時,只需設置write_enable=YES,虛擬用戶就可以就擁有寫權限。而virtual_use_local_privs=NO時,對虛擬用戶權限的設置就更多一些更嚴格一些。

  控制虛擬用戶瀏覽目錄:如果讓用戶不能瀏覽目錄,但仍可以對文件操作,那么需要執行以下二個步驟:一,配置文件中,anon_world_readable_only=YES。二,虛擬用戶目錄的權限改為只能由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由于以上選項的設置同樣會對匿名用戶生效。如果不想匿名用戶趁機擁有同樣的權限,最好是禁止匿名用戶登錄。

  其次,由于虛擬用戶在系統中是vsftpdguest身份,所以可以訪問到系統的其他目錄。為了更加安全,我們可以將虛擬用戶限制在自家目錄下。有兩種做法:一,在配置文件中增加以下選項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。

  經過修改后,虛擬用戶登錄后其根目錄就限制在/home/vsftpdguest下,無法訪問其他目錄。

  七、虛擬用戶的個人目錄

  大家可以發現,無論是哪個虛擬用戶,登錄后所在的目錄都是/home/vsftpdguest,即都是guest_username用戶的自家目錄。下面,介紹如何為每個虛擬用戶建立自家目錄。首先,在主配置文件中加入以下選項: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建立了個人配置文件/etc/vsftpd/vsftpd_user_conf/xiaowang。接下來,在xiaowang的個人配置文件中將xiaowang的自家目錄修改為/home/xiaowang,配置選項為:

  local_root=/home/xiaowang然后,新建xiaowang目錄,并將權限設為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

  經過以上設置,xiaowang登錄VSFTPD后,用“pwd”指令就可以發現被自己被定位到自己的“/home/xiaowang”目錄。

  從文件系統層次來看,由于“/home/xiaowang”目錄的權限是屬于vsftpdguest的,所以其他的虛擬用戶同樣也可以訪問xiaowang的自家目錄。解決這個問題也很簡單,我們只需要讓VSFTPD負責將虛擬用戶限制在其自家目錄,就可以避免虛擬用戶的互相訪問。具體做法參照前面第六步中所述,這里不再贅述。經過以上設置后,虛擬用戶就可以擁有屬于自己的目錄了。

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

熱詞搜索:

上一篇:無錯版Vsftpd+Mysql+Pam配置虛擬用戶方法1
下一篇:亞洲筆記本制造商追捧Linux

分享到: 收藏