首页 > 开发 > linux > 正文

CentOS su 切换用户报“id: 无法找到ID 为xxx 的用户的属组”

2017-09-11 20:16:10  来源: 网友分享

1、问题说明
root账号上没有任何问题,也不影响服务器各功能正常使用,但是我使用su 切换任何账号,比如:su www 都会报错,说找不到ID为xxx的用户组。

2、问题出现过程
同事在服务器上的预发环境项目上改了代码,git commit 提交。因为服务器上使用的是部署公钥(只读),所以无法push,后来找我查看原因,当时就出现了“id: 无法找到ID 为xxx 的用户的属组”这一类的错误,同时项目所有文件使用ll命令查看对应的组都是id显示(使用root账号ll查看都正常,切换任何一个子账号查看都有值显示组id)。

具体出现过程通过同事的口头述说就这个样子。

3、尝试了这些方法:

① 新建用户同样报错,并不是组信息丢失(本想着删除账号再重新添加)

[root@W01 ~]# id
uid=0(root) gid=0(root) 组=0(root),503(beta)
[root@W01 ~]# useradd test
[root@W01 ~]# groups test
test : test
[root@W01 ~]# su test
id: 无法找到ID 为504 的用户的属组
[test@W01 root]$ id
uid=504(test) gid=504 组=504

② 重启了,问题依旧存在

③ 改变组id后,再改回,没用

网上搜了些相关问题都得不到解决方法,求高手指教。

解决方案

检查 /etc/group 的权限(如果没有改用其它组数据库的话)。