我管理的服务器出现问题。帐户(特别是我的帐户)似乎没有正确的组。我认为通过查看以下命令序列最容易证明该问题:
Last login: sometime from somewhere
user.x@srv:~$ groups
user.x
user.x@srv:~$ groups user.x
user.x : user.x grp1 grp2
user.x@srv:~$ su - user.x
Password:
user.x@srv:~$ groups
user.x grp1 grp2
user.x@srv:~$ exit
user.x@srv:~$ groups
user.x
Run Code Online (Sandbox Code Playgroud)
所以问题是user.x的组在登录后(通过SSH)报错了。如果再次模拟登录 ( su -
) 或使用groups
orid
命令提供用户名,则它工作正常。
不正确的组会导致各种问题,例如无法 sudo。我怎样才能解决这个问题?
可能相关的更多信息:
问题是组信息首先从 nis 中提取,然后从 nis 的本地副本(由 ypserv 制作)中提取
解决方案是将 /etc/nsswitch.conf 更改为
group: compat
Run Code Online (Sandbox Code Playgroud)
到:
group: files nis compat
Run Code Online (Sandbox Code Playgroud)