Joa*_*les 4 ubuntu user-management root
不知何故,我设法将用户 Tom 添加到 Ubuntu 中的 root 组,以避免每次都使用 sudo(错误的决定)。现在我想删除它,我不能。
我试过使用
usermod -G {groups} Tom
Run Code Online (Sandbox Code Playgroud)
我的 /etc/sudoers 文件如下:
Defaults env_reset
root ALL=(ALL) ALL
%sudo ALL=(ALL) ALL
%admin ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
指定除 root 之外的所有组并且不进行任何更改。任何的想法?谢谢
编辑:自原始版本以来,此答案已被大量编辑。原始版本分布在几个更新中,所以这希望代表那些收集到逻辑摘要中的内容)
简短版本:查看您提供的输出,我认为您没有将 Tom 放在 root 组中,我认为您已将 root 用户主组更改为 Tom。
长版:
您提供的输出实际上是 root 用户的用户和组信息,而不是 Tom 用户,但是它非常有用,因为它暴露了您系统的问题;
# id
uid=0(root) gid=1001(Tom)
grupos=0(root),1001(Tom),1002(subversion),117(nagios),1004(reweb)
Run Code Online (Sandbox Code Playgroud)
此输出表明这里存在一个问题,即您已将 root 用户主组更改Tom为可能不是您所想的uid=0(root) gid=1001(Tom);<---这很糟糕。并且可能是导致问题的原因。
这样做的结果是,可能会有大量文件像这样由 Tom 组拥有,这些文件会出现在 /var/log 之类的地方
rw------- 1 root Tom 332203 Feb 24 21:17 messages
这是因为 root 为以 root 身份运行的服务创建了许多文件,并将使用 root 用户主组(现在是 Tom )创建新文件。您可以使用以下命令修复根主组问题;
# usermod -g root root
然而,这个主要的组问题可能会产生一些奇怪的影响,例如将文件随处保留在组 Tom 令人惊讶的地方,因为 root 创建的任何文件都将拥有 Tom 组权限。
如果您能找到它们,那么修复使用 Tom 组创建的文件的权限非常容易
由于上面提到的 root 主要组问题,您应该通过构造一个find / -group Tomtype 命令来查看这些文件的存在位置来修复这些权限。
# find / -group Tom
/var/somepath/somefile.txtx
/var/somepath/somefile.txtx2
并用类似的东西修复这些文件;
chown :root /var/somepath/somefile.txtx2
如果您不关心在 /home/Tom 目录之外将 Tom 用户文件重置为 root,那么您可以像这样将所有混乱的组权限炸回 root;
find / \( -type d -regex "/home/Tom" -prune \) -o -group Tom -print -exec chown :root {} \;
但我会在运行之前查看该命令,以防它破坏您的系统....
鉴于您所说的,以下命令应该将 root 和 Tom 修复为关于主要组的默认值;
确保 root 具有主要组 root;
#usermod -g root root
Run Code Online (Sandbox Code Playgroud)
确保汤姆有主要组汤姆
# usermod -g Tom Tom
Run Code Online (Sandbox Code Playgroud)
确保 Tom 不在根组中
# gpasswd -d Tom root
Removing user Tom from group root
Run Code Online (Sandbox Code Playgroud)
确保 root 不在 Tom 组中
# gpasswd -d root Tom
gpasswd: unknown member root
Run Code Online (Sandbox Code Playgroud)
如果您想阻止“Tom”获得任何管理员权限,您可以进一步检查“Tom”是否在 sudo 或 admin 组中;
# gpasswd -d Tom sudo
# gpasswd -d Tom admin
Run Code Online (Sandbox Code Playgroud)
小智 5
您应该更喜欢使用该vigr命令来编辑/etc/group. 它将在文件副本上启动您的编辑器;当您的编辑器退出时,它将进行语法检查,并且仅/etc/group在新文件检出时进行替换。
也有相应vipw的编辑命令/etc/passwd。
| 归档时间: |
|
| 查看次数: |
9447 次 |
| 最近记录: |