手机版
你好,游客 登录 注册
背景:
阅读新闻

Linux系统命令“su - user”在普通用户之间的免密切换

[日期:2017-08-30] 来源:Linux社区  作者:热带冠头鱼 [字体: ]

在一种特殊情况下,我们需要用到这种方法进行用户自动跳转。

如图,公司使用堡垒机进行服务器管理时,不同服务器机群使用了不同的系统用户进行推送,外网机群使用"userA",内网机群使用"userB",但是要求内网机群通过堡垒机登陆之后使用的系统用户也是userA,也就是userB登陆之后会马上自动切换到userA,这个切换过程对客户透明。这样做的好处是,虽然堡垒机最终的登陆用户都是userA,但是内外网机群的userA可以分开管理,增强了服务器管理的灵活性和安全性。

在Linux系统下,我们可以通过配置pam.d模块,使普通用户可以使用su命令免密码登陆root用户,然而,我们无法使用相同的方法令普通用户之间su免密码切换。

在内网机群,要实现普通用户之间的免密码切换,只需要做以下2步:

1)通过执行两条命令实现userB-->userA的免密码ssh登录

ssh-keygen -t rsa

ssh-copy-id  -i /home/userB/.ssh/id_rsa.pub  userA@127.0.0.1

2)在/home/userB/.bashrc文件中追加以下内容

ssh userA@127.0.01

以上操作完成后,在root用户登录的情况下,可以使用"su - userB"切换用户,最终切换到的用户是userA。但是,这样做还有一个不完善的地方。我们知道,通过su命令或ssh命令切换用户后,再使用exit命令退出服务器时都不会完全退出,而是退出到切换前的用户模式下。如下,退出到root用户需要执行两次exit命令。

要解决这个问题,只需要做第3步即可:

3)在/home/userB/.bash_profile文件中追加以下内容

exit

这一步设置完之后,在userA用户模式下执行exit命令退出,会直接退到root模式下,相当于userA-->root,只需要执行一次exit命令。

这样一来,使用userB通过堡垒机或者Xshell工具登录内网机群的服务器时,服务器都会自动切换到userA用户模式下,并且,使用exit命令退出时,都是完全退出。userB与userA之间的来回切换对客户来说是完全透明的。

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-08/146595.htm

linux
相关资讯       su命令 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款