RedHat 5.5 基於虛擬用戶驗證的vsftd伺服器搭建配置記錄
RedHat 5.5 基於虛擬用戶驗證的vsftd伺服器搭建配置記錄
一、建立虛擬用戶口令庫文件view plaincopy to clipboardprint?# vi /etc/vsftpd/login.txt
# vi /etc/vsftpd/login.txt 加入用戶名和密碼(奇數行是用戶名,偶數行是密碼):
ftp_test
123456
wq保存退出
二、生成vsftpd的認證文件
view plaincopy to clipboardprint?# db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db
# db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db
若提示無db_load命令,則要先安裝db4-utils:view plaincopy to clipboardprint?# yum install db4-utils
# yum install db4-utils 三、設置認證文件只對root用戶可讀可寫
view plaincopy to clipboardprint?# chmod 600 /etc/vsftpd/login.db
# chmod 600 /etc/vsftpd/login.db 四、建立虛擬用戶所需的PAM配置文件,手工建立vsftpd.vu文件view plaincopy to clipboardprint?# vi /etc/pam.d/vsftpd.vu
# vi /etc/pam.d/vsftpd.vu 輸入:view plaincopy to clipboardprint?uth required pam_userdb.so db=/etc/vsftpd/login
account required pam_userdb.so db=/etc/vsftpd/login
uth required pam_userdb.so db=/etc/vsftpd/login
account required pam_userdb.so db=/etc/vsftpd/login 注意:這裡pam_userdb.so前面不要加路徑。
五、建立所有FTP虛擬用戶帳號使用的系統用戶帳號,並設置該帳號home目錄的許可權view plaincopy to clipboardprint?# useradd –d /home/vsftp –s /sbin/nologin vftp
# useradd –d /home/vsftp –s /sbin/nologin vftp 六、配置vsftpd.conf文件view plaincopy to clipboardprint?# vi /etc/vsftpd/vsftpd.conf
# vi /etc/vsftpd/vsftpd.conf 修改和添加的內容:view plaincopy to clipboardprint?anonymous_enable=NO #禁止匿名用戶登錄
anon_umask=002
anon_world_readable_only=NO #可以下載
anon_upload_enable=YES #可以上傳
anon_mkdir_write_enable=YES #可以創建目錄
anon_other_write_enable=YES #可以修改、刪除
guest_enable=YES #打開虛擬用戶
guest_username=vftp #FTP虛擬用戶對應的系統用戶
pam_service_name=vsftpd.vu #PAM認證文件
local_root=/var/www/html #登錄后自動切換到的目錄(如果不加這一行,那虛擬用戶登錄後進到/home/vsftp目錄)
anonymous_enable=NO #禁止匿名用戶登錄
anon_umask=002
anon_world_readable_only=NO #可以下載
anon_upload_enable=YES #可以上傳
anon_mkdir_write_enable=YES #可以創建目錄
anon_other_write_enable=YES #可以修改、刪除
guest_enable=YES #打開虛擬用戶
guest_username=vftp #FTP虛擬用戶對應的系統用戶pam_service_name=vsftpd.vu #PAM認證文件
local_root=/var/www/html #登錄后自動切換到的目錄(如果不加這一行,那虛擬用戶登錄後進到/home/vsftp目錄)wq保存退出。
七、重啟vsftpd服務
view plaincopy to clipboardprint?# service vsftpd restart
# service vsftpd restart
八、解決apache文件不能訪問的問題(顯示無許可權訪問文件)
將ftp用戶(這裡指vftp)添加到apache用戶組,並設置用戶組有寫入許可權:
view plaincopy to clipboardprint?# usermod -a -G apache vftp #添加vftp到用戶組apache
# chown -R :apache /var/www/html #設置/var/www/html的所屬組為apache
# chmod -R g+rw /var/www/html #設置/var/www/html許可權為用戶組有讀寫許可權
# usermod -a -G apache vftp #添加vftp到用戶組apache
# chown -R :apache /var/www/html #設置/var/www/html的所屬組為apache
# chmod -R g+rw /var/www/html #設置/var/www/html許可權為用戶組有讀寫許可權
注意:還需要確認vsftpd.conf中的anon_umask=002,這是使新上傳的文件的用戶組有寫入許可權。
《解決方案》
看看.. 《解決方案》
http://redking.blog.51cto.com/27212/138887