最近一直在潛心研究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/