系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 系统教程 > Linux教程 > 详细页面

使用PAM模块实现普通用户之间su免密切换

时间:2020-09-03来源:www.pcxitongcheng.com作者:电脑系统城

需求:

在user1用户下执行: su - user2 免密登录。

我的实验系统版本:

CentOS Linux release 7

方法:

1
2
3
4
# vim /etc/pam.d/su
#在pam_rootok.so那一行之后添加如下两行。
auth            [success=ignore default=1]      pam_succeed_if.so user = user2
auth            sufficient      pam_succeed_if.so use_uid user = user1

可以理解为:对于名为user2的账号,如果使用su程序的用户名为user1,即可以免密登录

PAM模块文档:

1 # less /usr/share/doc/pam-1.1.8/txts/README.pam_succeed_if

 

首先是 use_uid部分

1
2
Evaluate conditions using the account of the user whose UID the application
is running under instead of the user being authenticated.

 然后看fields格式

1
2
3
4
5
6
7
8
9
Available fields are user, uid, gid, shell, home, ruser, rhost, tty and service
 
field > number
 
    Field has a value numerically greater than number.
 
field in item:item:...
 
    Field is contained in the list of items separated by colons.

 

据此,还可以实现从user1免密su到uid 为某个范围的多个系统用户

实验:

1
2
3
4
5
6
[root@MyVm] 17:56:55 ~ # id user1
uid=1004(user1) gid=1004(user1) groups=1004(user1)
[root@MyVm] 17:56:59 ~ # id user2
uid=1005(user2) gid=1005(user2) groups=1005(user2)
[root@MyVm] 17:57:00 ~ # id user3
uid=1006(user3) gid=1006(user3) groups=1006(user3)

 

修改/etc/pam.d/su:

1
2
auth            [success=ignore default=1]      pam_succeed_if.so uid >= 1005
auth            sufficient      pam_succeed_if.so use_uid  user = user1

 可以理解为:对于UID>=1005的账号,如果使用su程序的用户名为user1,即可以免密登录

1
2
3
4
5
6
7
[root@MyVm] 17:57:49 ~ # su - user1
Last login: Thu Sep  3 17:55:47 CST 2020 on pts/1
[user1@MyVm] 17:57:50 ~ $ su - user2
[user2@MyVm] 17:57:52 ~ $ logout
[user1@MyVm] 17:57:53 ~ $ su - user3
Last login: Thu Sep  3 17:55:54 CST 2020 on pts/1
[user3@MyVm] 17:57:55 ~ $ logout

 

反之,允许多个账号su免密到某个(些)账号,可以配置为:

1
2
auth            [success=ignore default=1]      pam_succeed_if.so uid = 1001
auth            sufficient      pam_succeed_if.so use_uid  uid > 1001

 

PAM模块资料:

https://www.cnblogs.com/kevingrace/p/8671964.html

 

找到这个方法之前,发现一种用利用把ssh免密加入到user1的 .bashrc 来实现自动跳转user2的方法,勉强满足需求,但是有点绕远,而且user1差不多是废了。


#========== 团结,紧张,严肃,活泼 ===========#
分享到:

相关信息

  • linux 文件权限怎么解析

    常用权限linux系统内有档案有三种身份 u:拥有者 g:群组 o:其他人这些身份对于文档常用的有下面权限:r:读权限,用户可以读取文档的内容,如用cat,more查看w:写权限,用户可以编辑文档x...

    2024-07-07

  • 如何使用WPSeku找出 WordPress 安全问题?

    然而,如果我们遵循通常的 WordPress 最佳实践,这些安全问题可以避免。在本篇中,我们会向你展示如何使用 WPSeku,一个 Linux 中的 WordPress 漏洞扫描器,它可以被用来找出你安装...

    2024-07-03

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载