Centos6.3下利用changepassword修改samba账户密码

本文发布时间: 2019-Mar-21
最近一直在潜心研究linux shell,所以好久没有更新了。今天也是在QQ有人和我聊到samba密码ldap集中验证时,想到一个问题,内网使用samba服务器来存储用户数据,所有的用户不能登陆LINUX后台,如何让客户自行修改密码? 想要解决客户端实现修改samba密码,其实不需要去搭建ldap(维护成本较高),也不需要利用行政手法统计客户端密码(毕竟同事也不好意思告诉你他平时习惯用的密码),网上google了下,利用changepassword这个工具即可利用其WEB界面让普通用户登录WEB修改自己的密码,大大提高了工作效率。SAMBA: centos默认yum源CHANGEPASSWORD: changepassword-0.9 APACHE: httpd-2.4.4一.环境搭建:1.配置前先关闭iptables和SELINUX,避免配置过程中报错。# service iptables stop# setenforce 0# vi /etc/sysconfig/selinux---------------SELINUX=disabled---------------2.安装开发包# yum install gcc -y3.安装apache二.配置samba:1.安装samba:# yum install samba -y2.配置samba:要使用changepassword程序实现,客户端更改密码必须设置系统密码和samba密码同步# vi /etc/samba/smb.conf搜索security = user 添加以下内容(这里注释了默认一行内容)----------------security = userpam password change = nopasswd chat = **NEW*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n *successfully*passwd program = LANG=en_US /usr/bin/passwd %uunix password sync = yespassdb backend = smbpasswdsmb passwd file = /etc/samba/smbpasswd# passdb backend = tdbsam--------------------------# service smb restart注:上述修改其实将tdbsam认证方式修改该成smbpasswd,并将认证文件加密保存在/etc/samba/smbpasswd下创建smb账户# useradd -s /sbin/nologin test04# passwd test04# smbpasswd -a test04注:这里创建samba账户时必须设置系统账户密码,以及smb账户密码因为changepassword更改密码的机制是,先修改系统账户密码,然后将系统账户密码同步到 /etc/samba/smbpasswd SMB密码库文件下。二.安装配置changepassword1,下载解压:# wget http://prdownloads.sourceforge.net/changepassword/changepassword-0.9.tar.gz# tar -zxvf changepassword-0.9.tar.gz# cd changepassword-0.92.编译changepassword前需要安装一个依赖包# cd smbencrypt/# tar -xzvf libdes-4.04b.tar.gz# cd des/# make# cp libdes.a ../# cd ../..3.编译安装changepassword# ./configure -enable-cgidir=/usr/local/apache2/htdocs/samba -enable-language=Chinese -enable-smbpasswd=/etc/samba/smbpasswd -disable-squidpasswd -enable-logo=logo.jpg注:-enable-smbpasswd=/etc/samba/smbpasswd # 修改保存samba密码的库文件 -disable-squidpasswd # 禁用squid -enable-cgidir # 自定义apache根目录路径 -disable-squidpasswd # 自定义smbpassword的密码文件路径 -enable-logo # 设置web根目录logo文件# make && make install4.设置apache支持cgi模块# vi /usr/local/apache2/conf/httpd.conf搜索cgi 去掉如下注释:--------------LoadModule cgid_module modules/mod_cgid.soAddHandler cgi-script .cgi--------------搜索 DocumentRoot,在/usr/local/apache2/htdocs类目下找到Options选项,修改为:--------------Options Indexes FollowSymLinks ExecCGI--------------重启服务# /usr/local/apache2/bin/apachectl restart5.访问web后台:http://192.168.7.74/samba/changepassword.cgi按照提示修改密码提交即可注:这里爆图是因为访问该web路径同目录下未创建logo.jpg文件(与编译changepassword的-enable-logo参数值一致),有需要的话可以自行添加,博主比较懒,就不添加了- -如图:


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:08pm
栏目列表