我意外地在Linux 服务器上的目录chmod
上设置了 777 权限。/var/
现在我观察到以下错误:
id: cannot find name for user ID 673910804
id: cannot find name for group ID 673710593
id: cannot find name for user ID 673910804
[I have no name!@tb-linux-d08 ~]$
请帮我摆脱这个错误。
答案1
这些/var
权限要么是转移注意力的借口,要么是偶然的。要使 uid 到 name 的查找正常工作,必须按以下顺序正确完成以下操作:
/etc/nsswitch.conf
需要有权限 0644,所有者 root:root。- 该文件中的条目
passwd
必须正确 - 鉴于 ID 非常大,您可能不只是使用本地密码文件,而是使用某些 ldap 或 AD 设置?确保它已列出,并尽早列出。 - 实际提供您的身份的服务需要启动并运行并接受您的查询 - 对于本地用户,这意味着
/etc/passwd
必须具有权限 0644 和所有者 root:root。 - 您的身份服务的客户端库可能对其配置、缓存或两者有权限要求。这就是
/var
权限发挥作用的地方,但如果不进一步了解您用于身份验证的内容,就无法排除故障。至少,确保/var
本身具有权限 0755,所有者 root:root;它包含的目录应由明显的系统用户/组(例如 的“邮件”)或 root 拥有/var/mail
,并且不可由任何人写入( 除外/var/tmp
,如果存在,则应由 root 拥有并具有权限 1777)。
如果这没有帮助(即使有帮助),请提供有关您的身份验证系统的更多信息 - LDAP,samba,AD(通过什么?)或其他。
答案2
答案3
今天我在办公室的笔记本电脑(Ubuntu 14.04)上遇到了“我没有名字!”提示。我的笔记本电脑使用 pbis(同样)连接到 AD。
原来我的密码已过期。奇怪的是,我之前没有收到任何密码即将过期的警告。经过几次重启和登录后,终于出现了一条声明,表明我的密码已过期。
答案4
检查用户是否能够读取“/etc/passwd”文件。
我之前遇到过类似的问题,我的密码文件在组和其他字段中没有读取权限。
尝试点击以下命令
chmod 644 /etc/passwd