1
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 |
2
wang2191195 2014-01-08 08:56:49 +08:00 via iPhone
puppet可以
|
3
nodejx OP 具体情况是这样,我们有一台ubuntu的服务器上面有一个数据库,里面存放账户和密码,然后我需要用这些账户和密码来登录另外一台ubuntu服务器。需求是当我在之前一台ubuntu的数据库里面更改了账户和密码之后,在另外一台服务器也可以同步,可以远程ssh登录上去。
|
4
nodejx OP 刚刚和同事搜索了下,发现似乎PAM-Modules可以实现,还在测试。。。http://puszcza.gnu.org.ua/software/pam-modules/manual/html_chapter/sql.html
|
5
tywtyw2002 2014-01-08 10:43:38 +08:00 1
这个一班不都用ldap 或者yp呀。。。。
|
6
c0878 2014-01-08 11:10:17 +08:00
用证书不是更好
|
8
nodejx OP @tywtyw2002 其实我们只是需要一台ubuntu机器支持调用数据库里面的账户密码登录就可以啦,不需要太复杂的。
|
9
nodejx OP 之前描述可能不够清楚,重新写一下。
两台服务器,均为ubuntu 12.04,就称为A和B。 现在A上面运行一个数据库,里面存放了一些账户和密码。 现在我需要使用这些账户来SSH登录到B机,而且如果在A修改了数据库里面的账户和密码,还是要可以使用这些账户和密码来登录B。 似乎PAM可以调用PAM-Modules可以解决这个问题(比如pam_mysql。。。)??? |
10
ivenvd 2014-01-08 14:06:28 +08:00
感觉就是 LDAP 嘛……
|
11
shiny 2014-01-08 14:14:30 +08:00
居然连证书也没用过……
|
12
halfbloodrock 2014-01-08 14:48:26 +08:00 1
@nodejx 你的这个其实就是LDAP,或者AD域干的事情。。。
然后你的想法也是对的,用PAM模块。。。在PAM中启用一个mysql的模块。。有一个类似的例子 http://lustlost.blog.51cto.com/2600869/959553 |
13
nodejx OP @halfbloodrock Thx!但是这是关于vsftp的,login的貌似也没有找到什么例子。。。
|
14
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 |