作为Linux管理的新手,我对以下命令感到有些困惑:
useradd
usermod
groupadd
groupmod
我刚读完Linux / Unix管理员手册中的用户管理书,但有些事情仍然有些朦胧.
基本上useradd看起来很简单:
useradd -c "David Hilbert" -d /home/math/hilbert -g faculty -G famous -m -s /bin/sh hilbert
我可以使用用户名hilbert添加“David Hilbert”,设置他的默认目录,shell和组.我认为-g是他的主要/默认组,-G是他的其他组.
这些是我的下一个问题:
>如果团队的教员和名人不存在,这个命令仍然有效吗?它会创建它们吗?
>如果不是,我使用什么命令来创建新组?
>如果我删除用户hilbert并且这些组中没有其他用户,它们是否仍然存在?我应该删除它们吗?
>在我运行上面的useradd命令之后,如何从着名组中删除David,并将他的主要组重新分配给尚不存在的hilbert?
解决方法:
usermod命令允许您更改用户的主要组,补充组或许多其他属性. -g开关控制主组.
对于你的其他问题……
>如果指定在useradd阶段期间不存在的group,groupname,则会收到错误 – useradd:unknown group groupname
> groupadd命令可创建新组.
>如果删除其中包含的所有用户,该组将保留.您不一定要删除空组.
>通过groupadd hilbert创建hilbert组.然后使用usermod -g hilbert hilbert移动David的主要组. (请注意,第一个hilbert是组名,第二个hilbert是用户名.这对于将用户移动到具有不同名称的组的情况很重要)
不过,你可能会在这里复杂化一些事情.在许多Linux发行版中,一个简单的useradd hilbert将创建用户hilbert和一个与主要名称相同的组.我会使用-G开关添加指定在一起的补充组.