ubuntu下實現FTP共享與使用者自行修改密碼
第一步先安裝 samba 用來FTP共享
1, sudo apt-get update
2 ,sudo apt-get install samba samba-common
3, sudo apt-get install smbfs 提示錯誤 這時需要安裝一個 sudo apt-get install cifs-utils
4, 修改 /etc/samba/smb.conf 配置後
5,sudo smbpasswd -a uer 將uer 使用者新增到samb中,首先要有ure這個實際使用者
6, sudo service smbd reastart 重啟 samba服務OK
如果要共享遠端訪問
/etc/ssh/sshd_config 修改該配置檔案:
PermitRootLogin without-password
改為
PermitRootLogin yes
我的機器裡面缺少libpam-smbpass
sudo apt-get install libpam-smbpass安裝
第二步安裝Web伺服器--Apache
1 http://jingyan.baidu.com/article/6d704a130c8a0d28da51ca5f.html 按照安裝不要配置就行
2 設定apache支援cgi模組 首先在根目錄下建一個cgi-bin的目錄,即/var/www/cgi-bin/。cgi程式都放在這個cgi-bin的目錄中
3 /etc/apache2/sites-enabled/000-default 新增
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AddHandler cgi-script cgi
</Directory>
4 cd /mods-available " 進入該目錄,輸入 " ls *cgi*.* " 查詢帶cgi的檔案,可以找到 " cgid.conf ", "cgid.load ", " cgi.load ", " proxy_fcgi.load ", " proxy_scgi.load "
其中 "proxy_fcgi.load ", " proxy_scgi.load " 我們暫不用,只需要前三個 " cgid.conf ", " cgid.load ", " cgi.load " 就可以了
5 接下來,使用 " ln -s *.* *.* " 將這三個檔案軟連結到 " mods-enabled " 目錄下
ln -s /etc/apache2/mods-available/cgid.conf /etc/apache2/mods-enabled/cgid.conf
ln -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/cgid.load
ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load
6 重啟Apache服務:sudo /etc/init.d/apache2 restart
第三步:安裝changepassword程式實現客戶端更改密碼,必須設定系統密碼和samba密碼同步
1、下載地址: wget http://prdownloads.sourceforge.net/changepassword/changepassword-0.9.tar.gz
# tar -zxvf changepassword-0.9.tar.gz
# cd changepassword-0.9
2、編譯changepassword前需要安裝一個依賴包
# cd smbencrypt/
# tar -xzvf libdes-4.04b.tar.gz
# cd des/
# make
# cp libdes.a ../
# cd ../..
3、編譯安裝changepassword
# ./configure -enable-cgidir=/var/www/cgi-bin -enable-language=Chinese -enable-smbpasswd=/etc/samba/smbpasswd -disable-squidpasswd -enable-logo=samba/logo.jpg
注:-enable-cgidir=... # 自定義apache根目錄路徑
-enable-language=Chinese # 設定頁面為簡體中文
-enable-smbpasswd=/etc/samba/smbpasswd # 自定義samba密碼的庫檔案
(這裡smbpasswd並非修改smb使用者密碼的系統命令,請注意不要混淆)
-disable-squidpasswd # 禁用squid
-enable-logo=...# 設定web根目錄logo檔案,此處的相對路徑對應的是apache根目錄# 也就是 samba/logo.jpg對應/usr/local/apache/htdocs/samba/logo.jpg
# make && make install
按照官方的來的話這裡只要直接make,完後make install 即可,但是,有事會出現如下問題,報錯如下:
DSMBPASSWD=\"/etc/samba/smbpasswd\" -DSQUIDPASSWD=\"no\" -DLOGO=\"none\" -L./smbencrypt –ldes
/usr/bin/ld: skipping incompatible ./smbencrypt/libdes.a when searching for –ldes
/usr/bin/ld: cannot find –ldes
collect2: ld returned 1 exit status
make: *** [changepassword.cgi] Error 1
從報錯可以看到/usr/bin/ld: cannot find –ldes ,網上有不少解決辦法,實際上那都無法解決根本問題,而官方實際上也知道會遇到這個問題,於是我們只需重新編譯載入libdes即可:
cd smbencrypt/
tar -xzvf libdes-4.04b.tar.gz
cd des/
make
cp libdes.a ../
cd ../..
這時從新make,make install即可完成安裝:
最後 reboot 虛擬機器