好多年沒碰代碼了,忽然被朋友挖來搞網頁,搞完后為方便維護,開始搞ftp上傳,什么都沒問題但想到了以后維護和安全性,還是用回虛擬用戶吧,加上LAMP本來就有的MySQL,想都不想就開干,結果碰壁了。
摸了幾天,問題解決了,想著記錄下:
首先安裝vsftpd+MySQL,為了方便使用,裝上phpmyadmin(這樣新系統就裝好了LAMP+vsftpd)
apt-get install -y vsftpd mysql-server mysql-client libmysqlclient-dev phpmyadmin設置下MySQL的root密碼,基本環境搭建成功!PS:16.04已經有pam不用安裝,但是有個bug,配置后出現530,后面有解決辦法
下面我們來簡單配置下
vi /etc/vsftpd.conf找到write_enable=YESlocal_umask=022在末端添加下面的
guest_enable=YESguest_username=webuser保存退出。創建新用戶,用于ftp管理useradd ftpuser -d /home/vsftpd -s /bin/false新建用戶文件夾
mkdir /home/vsftpd配置鏈接文件
vi /etc/pam.d/vsftpd注息全部內容并添加以下兩行:auth required pam_mysql.so user=root passwd=MySQL密碼 host=localhost db=數據庫名 table=表名 usercolumn=用戶名鍵名 passwdcolumn=密碼鍵名 crypt=0account required pam_mysql.so user=root passwd=MySQL密碼 host=localhost db=數據庫名 table=表名 usercolumn=用戶名鍵名 passwdcolumn=密碼鍵名 crypt=0PS:紅色部分為自定義的,按在自己的需求改,最后一個參數:0為明碼,1為encrypted()函數,2為passWord(),3為md5加密,按需選擇保存退出
重啟vsftpd
/etc/init.d/vsftpd restart上傳補丁:libpam-mysql_0.7-RC1-4Ubuntu3_amd64.deb 直接點擊下載,ssh上傳安裝
dpkg -i libpam-mysql_0.7-RC1-4ubuntu3_amd64.deb創建虛擬用戶home目錄mkdir /home/vsftpd/用戶名下面的就是在MySQL中建立用戶數據,按照/etc/pam.d/vsftpd中的內容處理即可,注意的是/home/vsftpd/中建立的文件夾名必須與數據庫中的用戶名相同
如果還需要什么配置,自己可以上百度學習下vsftpd.conf的內容
這次主要的阻礙就是,16.04的系統在沒有補丁的情況下出現530錯誤,我也試過用db,也樣530報錯,估計原因是pam的鏈接問題,打上補丁后問題解決
新聞熱點
疑難解答