cwd*_*cwd 44 linux users administration group
作为 Linux 管理的新手,我对以下命令有点困惑:
useradd
usermod
groupadd
groupmod
Run Code Online (Sandbox Code Playgroud)
我刚刚读完Linux/Unix Administrator's handbook 中的用户管理书,但有些东西还是有点模糊。
基本上useradd看起来很简单:
useradd -c "David Hilbert" -d /home/math/hilbert -g faculty -G famous -m -s /bin/sh hilbert
Run Code Online (Sandbox Code Playgroud)
我可以使用 username 添加“David Hilbert” hilbert,设置他的默认目录、shell 和组。我认为这-g是他的主要/默认组,-G也是他的其他组。
所以这些是我的下一个问题:
faculty和famous不存在,此命令是否仍然有效?它只会创造它们吗?hilbert并且这些组中没有其他用户,他们还会存在吗?我应该删除它们吗?useradd上面的命令后,如何从famous组中删除 David ,并将他的主要组重新分配到hilbert尚不存在的组?eww*_*ite 30
该usermod命令将允许您更改用户的主要组、补充组或许多其他属性。的-g开关控制的主要组。
对于您的其他问题...
如果您指定了一个groupname在该useradd阶段不存在的组 ,您将收到一个错误 - useradd: unknown group groupname
该groupadd命令创建新组。
如果您删除其中包含的所有用户,该组将保留。您不一定必须删除空组。
hilbert通过创建组groupadd hilbert。然后使用 移动大卫的主要组usermod -g hilbert hilbert。(请注意,第一个hilbert是组名,第二个hilbert是用户名。这在您将用户移动到具有不同名称的组的情况下很重要)
不过,您在这里可能会使事情复杂化。在许多 Linux 发行版中,一个 simpleuseradd hilbert将创建用户hilbert和一个与主同名的组。我将使用-G开关添加一起指定的补充组。
小智 11
您需要阅读man usermod解释各种选项会发生什么的文章:
usermod -g hilder hilder
Run Code Online (Sandbox Code Playgroud)
只要组 'hilder' 存在,就会将您的登录组从 'faculty' 替换为 'hilder'。如果它不存在,那么您首先需要使用 groupadd 创建它。
当您使用该-G选项时,您还应该使用该-a选项将新组附加到用户 'hilder' 所属的当前补充组列表中。如果没有该-a选项,您将用新的组集替换当前的补充组。因此请谨慎使用。
在 Linux 中更改用户的主要组:
usermod -g new_group user_name要测试您的更改运行id并查看值gid=
如果命令运行没有错误,但 gid 没有改变,你就错过了第 2 步的粗体部分。