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/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AddHandler cgi-script cgi

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 虚拟机


你可能感兴趣的:(个人总结)