如何在Linux中更改用户的默认组?

作为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开关添加指定在一起的补充组.

上一篇:php – 如何在网站中构建群组? (管理员,管理员权限,用户身份)


下一篇:mysql确定字段的存储大小