Linux 用户和用户组管理

趁我未失忆之前,记录过去曾经的自己

文章目录

  • 前言
  • 一、Linux系统用户账号的管理
    • 1.添加新的用户
    • 2.删除帐号
    • 2.修改帐号
  • 二、Linux系统用户组的管理
    • 1.创建用户组
    • 2.删除用户组
    • 3.更改查看组成员
    • 4.查询用户组
    • 5.修改用户组的属性


前言

因为在建立sentry时,在sentry授权文章中,我们可以了解其中用户与用户组的关系,也知道sentry中用户组也就是和其他Hadoop生态系统其他组件的Group会是一致。且要确保用户在集群所有节点均存在。所以这篇文章说明一下如何在Linux 用户和用户组管理。


一、Linux系统用户账号的管理

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

1.添加新的用户

使用指令为:useradd 「选项」 「用户名」
参数说明:

选项 用户名
-c comment 指定一段注释性描述。 指定新账号名称。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。。 指定新账号名称。
-g 用户组 指定用户所属的用户组。 指定新账号名称。
-G 用户组,用户组 指定用户所属的附加组。 指定新账号名称。
-s Shell文件 指定用户的登录Shell。 指定新账号名称。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。 指定新账号名称。

实例1:此命令创建了一个用户joyce ,其中-d 指定用户主目录在/home/joyce,-m如果此目录不存在则 产生一个主目录 /home/joyce(/home为默认的用户主目录所在的父目录)。

[root@002 /]# useradd –d  /home/joyce -m joyce

实例1:此命令创建了一个用户kim ,并指定为用户组 group,同时又属于adm和root用户组

[root@002 /]# useradd -g group –G adm,root kim 

增加用户是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

Linux提供了集成的系统管理工具userconf,我们可以用他对用户账号进行统一管理。

2.删除帐号

如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
使用指令为:userdel「选项」 「用户名」

[root@002 /]# userdel -r kim

常用的选项是 -r,它的作用是把用户的主目录一起删除。此命令删除用户kim在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

2.修改帐号

修改已有用户的信息使用usermod命令,其格式如下:
使用指令为:usermod 「选项」 「用户名」
选项与useradd命令中的选项一样,可以按照实际情况使用,其中不同这里有-i 指令。

[root@002 /]# usermod -l new_username old_username

将old_username用户改成new_username ,这指令只会更改用户名,而其他的东西,比如用户组,主目录,UID 等都保持不变。

另外,你需要从要改名的帐号中登出并杀掉该用户的所有进程,要杀掉该用户的所有进程可以执行下面命令,

[root@002 /]#  sudo pkill -u mon
[root@002 /]#  sudo pkill -9 -u mon

二、Linux系统用户组的管理

在Linux下每个用户都有一个与它同名的用户组,这个用户组在创建用户时同时创建。用户组主要是让系统可以对一个用户组中的所有用户进行集中管理。用户和用户组属于多对多关系,一个用户可以同时属于多个用户组,一个用户组可以包含多个不同的用户。

1.创建用户组

使用指令为:groupadd 选项 用户组
参数说明:

-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

#此命令向系统中增加了一个新组hadoop123,新组的组标识号是在当前已有的最大组标识号的基础上加1。
[root@002 /]# groupadd hadoop123
#查询组hadoop123
[root@002 /]# cat /etc/group | grep hadoop123
hadoop123:x:1022:
#在创建一个组hadoop1234
[root@002 /]# groupadd hadoop1234
#查询组hadoop1234,这时候新组的组标识号已经从1022到1023
[root@002 /]# cat /etc/group | grep hadoop1234
hadoop1234:x:1023:
#此命令向系统中增加了一个新组hadoop12345,同时指定新组的组标识号是1024 。
[root@002 /]# groupadd -g 1024 hadoop12345

2.删除用户组

使用指令为:groupdel 用户组

[root@002 /]# groupdel group1

3.更改查看组成员

使用指令为:groupmems -g groupname [action]
-a,–add username: 指定用户加入组;
-d,–delete username: 从组中删除用户;
-p,–purge :从组中清除所有成员;
-l,–list: 显示组成员列表;

#把root账号加入hadoop组
[root@002 /]# groupmems -g hadoop -a root
#查看hadoop组
[root@002 /]# cat /etc/group | grep hadoop
hadoop:x:773:hdfs,mapred,yarn,joe,root
#把joe账号移除hadoop组
[root@002 /]# groupmems -g hadoop -d joe
#查看hadoop组
[root@002 /]# cat /etc/group | grep hadoop
hadoop:x:773:hdfs,mapred,yarn,root

以上从/etc/group查处的内容,其分别表示
组名:口令:组标识号:组内用户列表

4.查询用户组

系统当前登录用户的所属组

[root@002 /]# groups
root

查询特定用户的用户组 groups+用户名 或是 id +用户名

[root@002 /]# groups root
root : root
[root@002 /]# id root
uid=0(root) gid=0(root) groups=0(root)

查询所有用户组可以开启/etc/group,就可以知道所有用户组,当然也可以用grep 指令去查询特定用户的相关信息

[root@002 /]# cat /etc/group | grep root

5.修改用户组的属性

使用指令为:groupmod 选项 用户组
常用的选项有:

-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字

#此命令将组group1的标识号改为2020 ,组名修改为group123 。
[root@002 /]# groupmod –g 2020 -n group123 group1

要将现有用户添加到辅助组,请使用带有 -G 选项和组名称的 usermod 命令。
usermod [-G] [GroupName] [UserName]

#将user1添加到mygroup 组
[root@002 /]#usermod -a -G mygroup user1

你可能感兴趣的:(LINUX,linux)