最近一直在潜心研究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 -y
3.安装apache
传送门:http://showerlee.blog.51cto.com/2047005/1174141
二.配置samba:
1.安装samba:
# yum install samba -y
2.配置samba:
要使用changepassword程序实现客户端更改密码,必须设置系统密码和samba密码同步
# vi /etc/samba/smb.conf
搜索 security = user 在其后添加以下内容,并注释 passdb backend = tdbsam
----------------
security = user
pam password change = no
passwd chat = **NEW*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n *successfully*
passwd program = LANG=en_US /usr/bin/passwd %u
unix password sync = yes
passdb backend = smbpasswd
smb passwd file = /etc/samba/smbpasswd
# passdb backend = tdbsam
--------------------------
注:上述修改其实将tdbsam认证方式修改该成smbpasswd,并将认证文件加密保存在/etc/samba/smbpasswd下
重启服务:
# service smb restart
创建samba账户(关闭用户shell接口)
# useradd -s /sbin/nologin user01
# passwd user01
# smbpasswd -a user01
注:这里创建samba账户时必须设置系统账户密码,以及smb账户密码
因为changepassword更改密码的机制是,先修改系统账户密码,然后将系统账户密码同步到 /etc/samba/smbpasswd SMB密码库文件下。
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/