1、Linux用户与用户组相关问题
如何添加一个新用户到一个特定的组中?
如何同时将用户添加到多个组中?
如何将一个已存在的用户移动到某个组或者给他增加一个组?
基本组与附属组的区别?
2、用户相关的命令解说
groupadd添加用户组
useradd增加一个新用户或者更新默认新用户信息。
usermod更改用户帐户属性。
3、概念和相关文件说明
在Linux用户系统中存在两类组
第一类是主要用户组(主组)
第二类是附加用户组(附属组)
主组:也被称为primarygroup、firstgroup或initiallogingroup,用户的默认组,用户的gid所标识的组。
附属组:也被称为Secondarygroup或supplementarygroup,用户的附加组。
存储文件
用户帐户及相关信息都存储在/etc/passwd文件中,
用户组信息存储在/etc/shadow和/etc/group文件。
通过id命令查看用户的主组和附属组
[root@localhost~]#idroot
uid=0(root)gid=0(root)groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[root@localhost~]#idgg
uid=503(gg)gid=503(gg)groups=503(gg)
[root@localhost~]#idmm
uid=502(mm)gid=500(jww)groups=500(jww)
gid标识主组,groups表示用户所属的全部组(主组和附属组)
用户必须有且只能有一个主组,可以有0个、1个或多个附属组
4、新增一个用户并添加到指定用户组
#检查用户组是否存在,如果组存在则会输出组信息,否则没有任何输出
grep<用户组名称>/etc/group
#如果用户组不存在则使用如下命令新建用户组:
groupadd<用户组名称>
#新建用户并将其加入指定用户组,作为其主用户组(每个用户有且只有一个主用户组)
useradd-g<用户组名称><用户名称>
#或者新建用户并将其加入指定附属用户组,附属用户组可以有多个,多个附属组名称用逗号分隔即可
useradd-G<用户组名称><用户名称>
#设置用户密码
passwd<用户名称>
#查看用户属性,检查是否添加到正确的用户组
id<用户名称>
常用添加用户命令(添加用户并添加到主组):useradd-g<用户组名称><用户名称>
5、将已有用户添加到指定用户组
#将已有用户添加到指定用户组,作为其附属用户组
#-a代表append,和-G一起使用,将用户添加到新用户组中而不必来开原有的其他用户组
usermod-a-G<用户组名称><用户名称>
#将已有用户的主用户组改为新的用户组
usermod-g<新的用户组名称><用户名称>
6、添加用户
并指定家目录、所在组、登录shell等信息
#-m自动建立用户家目录
#-g指定用户所在的组
#-s指定用户登录的shell
usermod-m-s/bin/bash-g<用户组名称><用户名称>
7、将一个用户从某个用户组删除
#将用户从该用户的附属组中删除
gpasswd-d<用户名称><用户组名称>
8、删除用户
#永久性删除用户账号
userdel<用户名称>
|