我是一个老派的 Unix 爱好者,所以我的 Linux 技能可能有点过时了。但这似乎应该足够简单。
在我没有 root 权限的 Red Hat Linux 系统上(该系统由公司 IT 部门管理),我希望能够更改我的登录 shell。运行 chsh 会得到以下结果:
$ chsh -s /bin/bash
chsh: can only change local entries; use ypchsh instead.
因此,我运行了 ypchsh:
$ ypchsh userid
ypchsh: can't find the master ypserver: Internal NIS error
发生了什么事?有人有其他想法吗?
答案1
新独立国家:
ypchsh
LDAP:
$ ldapmodify <<EOF dn: YOUR_DN changetype: modify replace: loginShell loginShell: /bin/bash - EOF
(您的 DN可能是这样的形式
uid=$USER,ou=people,dc=example,dc=org
;试着ldapwhoami
看看)赫西奥德:询问系统管理员。
活动目录:询问系统管理员。
答案2
我使用了一种解决方法来在登录时更改我的 shell。我刚刚将bash
用于更改 shell 的内容放入我的.profile
文件中。
.profile
您可以在用户的主目录中找到– 使用ls -la
来查看它。
你的.profile
文件可能有如下内容:
PATH=/usr/bin
export PATH
#Add this to go bash at login
bash
#end
答案3
因此,在我看来,真正的答案是系统管理员 (IT) 想要锁定标准配置,所以你必须询问他们。但在此过程中,我发现了一些更有用的命令,可以确定你的 LDAP 配置(如果你的配置恰好是这样),以防你的系统报告相同的 SASL 错误“ldap_sasl_interactive_bind_s:未知身份验证方法 (-6) 附加信息:SASL(-4):无可用机制:”
列出您的系统支持的 SASL 身份验证方法:
ldapsearch -x -LLL -s "base" -b "" supportedSASLMechanisms
结果可能是这样的:
dn:
supportedSASLMechanisms: EXTERNAL
supportedSASLMechanisms: DIGEST-MD5
然后,您可以使用 -Y 选项将身份验证方法传递给 LDAP 命令,如下所示:
ldappasswd -Y DIGEST-MD5
ldapmodify -Y DIGEST-MD5
答案4
查看最佳答案的凭证的另一种方法是ldapsearch -x
ldapsearch -x uid=$(whoami)