linux多机器账户密码同步问题

2014-01-08 08:26:50 +08:00
 nodejx
请教大家两台ubuntu12.04的机器如何实现账户密码同步更新,在一台服务器更改后在另一台可以同步更新,有没有什么方案可以推荐,谢谢。
4048 次点击
所在节点    问与答
14 条回复
orzfly
2014-01-08 08:32:47 +08:00
同步我不知道,但是我知道怎么一次批量更新多台服务器……

for i in server1 server2 server3 server4 server 5; do
ssh root@$i "echo username:new_password | sudo chpasswd"
done
wang2191195
2014-01-08 08:56:49 +08:00
puppet可以
nodejx
2014-01-08 09:17:48 +08:00
具体情况是这样,我们有一台ubuntu的服务器上面有一个数据库,里面存放账户和密码,然后我需要用这些账户和密码来登录另外一台ubuntu服务器。需求是当我在之前一台ubuntu的数据库里面更改了账户和密码之后,在另外一台服务器也可以同步,可以远程ssh登录上去。
nodejx
2014-01-08 09:18:55 +08:00
刚刚和同事搜索了下,发现似乎PAM-Modules可以实现,还在测试。。。http://puszcza.gnu.org.ua/software/pam-modules/manual/html_chapter/sql.html
tywtyw2002
2014-01-08 10:43:38 +08:00
这个一班不都用ldap 或者yp呀。。。。
c0878
2014-01-08 11:10:17 +08:00
用证书不是更好
nodejx
2014-01-08 11:36:05 +08:00
@c0878 证书怎么用,不懂.
nodejx
2014-01-08 11:37:30 +08:00
@tywtyw2002 其实我们只是需要一台ubuntu机器支持调用数据库里面的账户密码登录就可以啦,不需要太复杂的。
nodejx
2014-01-08 11:44:55 +08:00
之前描述可能不够清楚,重新写一下。
两台服务器,均为ubuntu 12.04,就称为A和B。
现在A上面运行一个数据库,里面存放了一些账户和密码。
现在我需要使用这些账户来SSH登录到B机,而且如果在A修改了数据库里面的账户和密码,还是要可以使用这些账户和密码来登录B。

似乎PAM可以调用PAM-Modules可以解决这个问题(比如pam_mysql。。。)???
ivenvd
2014-01-08 14:06:28 +08:00
感觉就是 LDAP 嘛……
shiny
2014-01-08 14:14:30 +08:00
居然连证书也没用过……
halfbloodrock
2014-01-08 14:48:26 +08:00
@nodejx 你的这个其实就是LDAP,或者AD域干的事情。。。


然后你的想法也是对的,用PAM模块。。。在PAM中启用一个mysql的模块。。有一个类似的例子

http://lustlost.blog.51cto.com/2600869/959553
nodejx
2014-01-08 15:53:38 +08:00
@halfbloodrock Thx!但是这是关于vsftp的,login的貌似也没有找到什么例子。。。
halfbloodrock
2014-01-08 16:34:53 +08:00
@nodejx 这个PAM module需要你自己写。。。

我以LDAP为例。。写一个pam module,然后在/etc/nsswitch.conf 的passwd和shadow行加入你自己的认证方式

rpm -qa | grep ldap
openldap-clients-2.4.23-32.el6_4.1.x86_64
openldap-2.4.23-32.el6_4.1.x86_64
pam_ldap-185-11.el6.x86_64
nss-pam-ldapd-0.7.5-18.1.el6_4.x86_64
apr-util-ldap-1.3.9-3.el6_0.1.x86_64



cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd: files ldap
shadow: files ldap
group: files ldap

hosts: files dns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: ldap

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/96095

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX