su 用户失败并显示“grep:/var/cpanel/users/user:权限被拒绝”

su 用户失败并显示“grep:/var/cpanel/users/user:权限被拒绝”

我只是做了一些非常简单的事情。给定一个用户user,我修改了他的用户 id、主要组的 id,并将他添加到一个新组,以便使我的服务器使用与通过 NFS 与该服务器共享文件的另一台服务器相同的 uid 和 gid。 (有人告诉我,我需要这样做,以防止共享文件的权限变得疯狂。)

我所做的如下:

groupadd -g 2000 mygroup
groupmod -g 1500 user
usermod -u 500 -g 1500 -G 1500,2000 user

这完成了以下任务:

  1. 用户的 ID 现在与远程用户的 ID 匹配,因此 NFS 权限将起作用。
  2. 用户的主要组 ID 现在与远程用户的主要组 ID 相匹配。
  3. 该用户现在属于mygroup远程用户所属的组。

现在,不幸的是,我不能su -l user,因为我收到以下错误:

grep: /var/cpanel/users/user: Permission denied

我不认为我做错了什么,当我这样做时id user,一切看起来都很好:

uid=500(user) gid=1500(user) groups=1500(user),2000(mygroup)

是什么赋予了?为什么我会收到此 cPanel 风格的错误?我在这里做错了什么/忘记做什么?

编辑

看来我能够进入用户的帐户,但每次我都会收到该错误su -l user

答案1

如果您可以以用户身份登录,然后收到此错误消息,则该消息可能来自用户的初始化文件(/etc/profile~/.profile~/.bash_profile类似文件)。尝试跟踪这些配置文件脚本;作为有问题的用户,运行

bash --login -x

答案2

我更改了用户的 ID 和主要组的 ID,这破坏了权限。

user对于主要组为 的用户user,以下是相关文件夹的权限:

-rw-r-----  1 root  500  671 Oct  4 05:48 user

由于我修改了组的 id,因此它没有在这里更新,这破坏了权限。

我只是chown -R root:user /var/cpanel/users/user为了解决这个问题。

相关内容