如何在使用 Kerberos 身份验证的 Ubuntu server16.04 上设置本地密码?

如何在使用 Kerberos 身份验证的 Ubuntu server16.04 上设置本地密码?

我在 ActiveDirectory 服务器上使用带有 Kerberos 身份验证的 Ubuntu server16.04。

我的 Ubuntu 上的用户帐户没有本地密码,我删除了它一次,但有一个 Kerberos 密码,所以我想为我的帐户添加一个本地密码,以防 ActiveDirectory 服务器关闭。

我尝试如下:

sudo passwd MYUSER

但它似乎只能更改 Kerberos 密码……

Current Kerberos password:
Enter new Kerberos password:
Retype new Kerberos password:

有人知道在这种情况下如何添加新密码吗?我有 sudo 权限。提前谢谢您。

答案1

大多数 Active Directory 客户端通过缓存常规密码来解决此问题。

  • 如果你使用 winbindd 加入计算机,请考虑安装pam_ccreds
  • 如果您正在使用 SSSD,请启用该cache_credentials选项。

“影子”文件中的密码哈希与用户帐户无关,因此您可以通过以下方式设置“本地”密码:

  1. 添加虚拟用户帐户(useradd foo),
  2. 设置密码(passwd foo),
  3. 手动编辑/etc/passwd以列出你的用户名/UID/shell/homedir,而不是新帐户的(使用vipw),
  4. 手动编辑/etc/shadow以列出您的用户名而不是新帐户(vipw -s)。

相关内容