您的位置:首页 > 编程语言 > PHP开发

ubuntu下实现FTP共享与用户自行修改密码

2016-10-28 16:32 501 查看
第一步先安装 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 虚拟机
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息