免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: uinion
打印 上一主题 下一主题

如何管理N台linux服务器的root账号 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-07-07 12:15 |只看该作者
有时候安全不一定完全要靠技术的!

论坛徽章:
0
12 [报告]
发表于 2008-07-07 12:25 |只看该作者

回复 #4 uinion 的帖子

这是个好问题,期待答案

论坛徽章:
0
13 [报告]
发表于 2008-07-07 13:26 |只看该作者
原帖由 mjwdj 于 2008-7-7 12:14 发表
楼主提到2个问题,
问题一也许可以用rsync来同步密码文件来解决(不过不知道是不是安全,呵呵!)
问题二:用ssh的密钥来登录一个普通用户+su命令和pam设定使改用户不用密码就能成为root,再限制能够执行su命令的用户,这样比较安全。

还可以考虑限制ssh登录的用户(包括禁止root登录)。


呵呵,
问题一用rsync同步密码文件的方法来解决的思路不错。               如果没有好的方法的,这是最简单的一种方法的。很佩服mjwdj的管理思路。(安全方面问题应该不怕,可以通过IPTABLES限定访问的IP,以及在同步脚本或配置文件上做IP的限制)
问题二还没试过,我觉得都可以试试。哈

有关限制SSH登陆的用户,我们现在使用的方法是在ssh上做了不给root组用户直接登陆的。平时只用普通用户登陆进行维护,只有需要用到root用户去维护时,再su -使用root用户登陆

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
14 [报告]
发表于 2008-07-07 13:59 |只看该作者
原帖由 uinion 于 2008-7-7 13:26 发表


呵呵,
问题一用rsync同步密码文件的方法来解决的思路不错。               如果没有好的方法的,这是最简单的一种方法的。很佩服mjwdj的管理思路。(安全方面问题应该不怕,可以通过IPTABLES限定访问的IP ...



rsync同步密码文件的方法也只能是没台服务器的密码和用户都是一样的
rsync还不能同步文件的某一行的吧

论坛徽章:
0
15 [报告]
发表于 2008-07-08 13:33 |只看该作者
帐号密码一致的情况下用expect写个脚本
  1. #!/usr/bin/expect -f

  2. ##=====================================================================================                                    
  3. # 此脚本用于批量的修改远程的linux AS4服务器的用户密码运行脚本前请先新建一个文件,把
  4. # 要修改用户密码的Linux 服务器的IP地址输入此文件中,一行一个IP地址.例:      
  5. #                       192.168.x.x                  
  6. #                       10.0.x.x                     
  7. # 用    法:                                               
  8. # 脚本名 主机IP表 要修改密码的用户名 旧密码 新密码   
  9. #                                                      
  10. # 脚本执行完成后会生成一个 update-failed 文件,里面包含了密码修改失败的服务器的IP地址.                  
  11. ##=====================================================================================

  12. proc warning {argc hosts} {
  13.         if {$argc<4} {
  14.                 send_user "USAGE: command filename user oldassword newpasswd\n"
  15.                 exit
  16.         } elseif {[file isfile $hosts]!=1} {
  17.                 send_user "sorry: File $hosts not found or not in right format!\n"
  18.                 exit
  19.                 }        
  20.         }

  21. proc login {user IP oldpasswd newpasswd failed} {
  22. set timeout 20
  23. set done 1
  24. while {$done} {
  25.     expect -re "continue connecting (yes/no)?" {
  26.             send "yes\r"
  27.         } -re "$user@$IP\'s password:" {
  28.             send "$oldpasswd\r"
  29.         } -re "current*" {
  30.             send "$oldpasswd\r"
  31.         } -re "New|new UNIX password:" {
  32.             send "$newpasswd\r"
  33.         } -re "Permission denied, please try again." {
  34.             puts $failed $IP
  35.             break
  36.         } -re "No route to host" {
  37.              puts $failed $IP
  38.              break  
  39.         } -re "Connection refused" {
  40.             puts $failed $IP
  41.             break
  42.         } timeout {
  43.             puts $failed $IP
  44.             break
  45.         } -re "service not known" {
  46.               send_user "\n"
  47.               send_user "        #--------------------------------------#\n"
  48.               send_user "        #          Update complete!            #\n"
  49.               send_user "        #  Please read the file update-failed  #\n"
  50.               send_user "        #--------------------------------------#\n"
  51.               send_user "\n"
  52.               exit
  53.         } eof { break }
  54.         }
  55. }

  56. set argc $argc
  57. set hosts [lindex $argv 0]
  58. set user [lindex $argv 1]
  59. set oldpasswd [lindex $argv 2]                                         
  60. set newpasswd [lindex $argv 3]                                         
  61. warning $argc $hosts
  62. set failed [open update-failed w+]
  63. set f [open $hosts r]

  64. while {[gets $f IP]} {
  65. set cmd "ssh $user@$IP passwd"
  66. eval spawn $cmd
  67. login $user $IP $oldpasswd $newpasswd $failed
  68. }
  69. close $f
复制代码

[ 本帖最后由 911csj 于 2008-7-8 13:38 编辑 ]

论坛徽章:
0
16 [报告]
发表于 2008-07-08 15:07 |只看该作者
原帖由 ruochen 于 2008-7-7 13:59 发表



rsync同步密码文件的方法也只能是没台服务器的密码和用户都是一样的
rsync还不能同步文件的某一行的吧

这个在于你怎么弄
比如:可以提取再插入

论坛徽章:
0
17 [报告]
发表于 2008-07-08 15:49 |只看该作者

回复 #1 uinion 的帖子

集中认证,方法很多, Radius, LDAP, PAM_SQL...

论坛徽章:
0
18 [报告]
发表于 2008-07-08 23:23 |只看该作者
这是一个典型的系统同步问题。
需要了解使用者的群里和安全要求,还有真的有几千台吗?

证书发布中心。
拿出一台服务器做安全发布。客户端采用认证轮转的机制。从服务器上下载加密过的文件。
并自动改密码。
如果服务器少的话,可以用SSH反弹等。少分ROOT权限。
还有个一次一M的。太复杂。。。。

论坛徽章:
0
19 [报告]
发表于 2008-07-09 12:11 |只看该作者

回复 #1 uinion 的帖子

cfengine 试试看

论坛徽章:
0
20 [报告]
发表于 2008-07-09 12:26 |只看该作者
是用ssh啊,很好用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP