如何摆脱“我没有名字”?


3

我意外地在linux服务器上的/ var目录中给了chmod 777权限。
现在我正在观察以下错误:

id:找不到用户ID的名称673910804
id:找不到组ID的名称673710593
id:找不到用户ID 673910804的
名称[我没有名字!@ tb-linux-d08~] $

请帮我解决这个错误。

linux 


您可以发布/etc/passwd与您的帐户相关的内容吗?
最大

并且还检查/etc/passwd文件的许可。它应该是644,意思是-rw-r--r--.
最大

如果这是一个chroot jail,你需要复制NSS库/etc/passwd以及/etc/nsswitch.conf存在和世界可读。在Debian和Ubuntu系统上,你可以使用cp -p --parent /lib/*/libns{l,s_}* /path/to/jail
Adam Katz

Answers:


5

/var权限是一个红色的鲱鱼或偶然的。要使uid-to-name查找起作用,以下内容必须正确,顺序如下:

  • /etc/nsswitch.conf 需要拥有权限0644,所有者root:root。
  • passwd文件中的条目需要正确 - 考虑到非常大的ID,您可能不仅仅使用本地密码文件,而是使用某些ldap或AD设置?确保它已列出,并在早期列出。
  • 实际提供您的身份的服务需要启动并运行并接受您的查询 - 对于本地用户,这意味着/etc/passwd必须具有权限0644和所有者root:root。
  • 身份服务的客户端库可能具有其配置,缓存或两者的权限要求。这是/var权限进入的地方,但如果不了解您用于身份验证的更多信息,则无法进行故障排除。至少要确保/var自己拥有权限0755,所有者root:root; 它包含的目录应由显而易见的系统用户/组(例如“mail”for /var/mail)或root拥有,而不是全局可写的(除非/var/tmp存在,否则应该是root拥有并具有权限1777 )。

如果这没有帮助(即使它确实如此),请提供有关您的身份验证系统的更多信息 - LDAP,samba,AD(通过什么?)或其他。


用户名从/ etc / passwd中读取。因此,每个用户都必须具有读取该文件以进行名称查找才能工作的权限。如果您更改所有权并且取决于谁,则由于其他服务抱怨安全性而发生其他错误/警告。
AndreasT

1

你需要使用:

  1. CHOWN
  2. chgrp命令

您可以使用这些来重置正确的用户/组以获取文件夹所需的权限。
您还应该chown该文件夹以确保权限回到您的实现所需的权限。

您很可能需要将root权限设置为600/700以及root用户身份。但是再一次,我不知道你在那个目录里做了什么,所以这取决于你需要做什么。


0

我曾经遇到过这个问题,一个行为不端的脚本修改了我机器上/ etc /中几个文件的权限。

解决方案是恢复/etc/nsswitch.conf的权限:

$ chmod 644 /etc/nsswitch.conf

0

我遇到了'我没有名字!' 今天在办公室提示我的笔记本电脑(Ubuntu 14.04)。我的笔记本电脑使用pbis(同样)连接到AD。

事实证明我的密码已过期。奇怪的是,我没有得到任何先前的警告,它将会过期。在几次重新启动并登录后,声明最终表明我的密码已过期。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.