加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

debian – Kerberos,.k5login和sudo

发布时间:2020-12-14 02:56:38 所属栏目:Linux 来源:网络整理
导读:背景:我使用的是Debian 7系统,我使用libnss-ldap,libpam-krb5和nscd与LDAP Kerberos系统集成.我修改了sudoers以允许LDAP组权限sudo并获得超级用户权限.因此,我可以作为LDAP组登录来管理机器.这一切都运行正常,ssh登录适用于LDAP用户. 我只是在我的用户帐户C
背景:我使用的是Debian 7系统,我使用libnss-ldap,libpam-krb5和nscd与LDAP Kerberos系统集成.我修改了sudoers以允许LDAP组权限sudo并获得超级用户权限.因此,我可以作为LDAP组登录来管理机器.这一切都运行正常,ssh登录适用于LDAP用户.

我只是在我的用户帐户Cosmic Ossifrage的主目录中试验.k5login文件.在文件中,我列出了:

cosmic_ossifrage@REALM.COM

这是一个有效的Kerberos标识. SSH登录,因为此用户继续正确使用.k5login文件.

但是,使用我的主目录中的.k5login文件,我无法再使用sudo -i获得超级用户权限.这似乎没有任何意义,因为.k5login在我的主目录中,而不是root目录,所以在我看来,root用户和sudo命令都不应该被限制在sudoers文件中. .

但是,使用上面的.k5login文件,sudo -i和sudo su都没有工作,而他们以前也没有.删除.k5login文件后,此功能已恢复,我可以再次sudo.

在日志文件/var/log/auth.log中,此时报告的许多错误消息中有一个来自sudo,说明:

[pam:sudo] krb5_kuserok failed for user cosmic_ossifrage

我是否错过了.k5login应该做什么的基本定义?这是预期的行为,如果是,为什么?

解决方法

根据 Mark’s comment,.k5login文件必须满足以下要求:

The .k5login file must contain one principal per line,be owned by user,and not be writable by group or other (but must be readable by anyone).

根据Kerberos source code中的注释.

在这种情况下,除了Cosmic Ossifrage用户之外,任何人都无法读取.k5login文件.存储用户主目录的NFS安装也强制执行root压缩,甚至禁止root用户访问.通过使文件具有全局可读性,返回了sudo to root功能.

(标记社区维基,因为答案最初来自评论.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读