前言:
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改。
- 用户口令的管理。
- 用户组的管理。
1.用户管理
1.1.添加新的用户账号使用useradd命令
添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。
useradd 参数 用户名
-
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-
[root@li ~]# useradd -d /home/sam -m sam等同于[root@li home]# useradd yamy
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
-s 指定用户的shell程序(应用场景:MySQL服务出现故障,维护一下。临时登录
可以通过su – zhangsan -s /bin/bash 临时给用户指定一个shell进行登录
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
Useradd 用户名
- 细节说明
- 当创建用户成功后,会自动的创建和用户同名的家目录
- 也可以通过useradd-d 指定目录 新的用户名,给新创建的用户指定家目录(已存在家目录) 应用场景:新用户继承老用户的文件夹
1.1.1用户存储的位置
/etc/passwd 的文件中,在该文件中记录了UID和用户名的映射关系 --引申UID
在Linux中每个用户都会被分配一个UID(类似人的身份证),将其称为用户的身份标识符。
根据用户与UID的分配关系,我们将用户分为两类:
一类是系统用户:0-999
二类是普通用户:1000-60000
根据系统的使用用途来分,也将其分为两类:
一类是普通用户:通常指的是这一类用户由使用者来进行创建
二类是服务用户:通常由系统进行定义,或者服务来负责创建
1.1.2用户密码文件 /etc/shadow
1.2修改用户账户等信息使用usermod命令
1.3删除用户使用userdel命令
引申出组概念
2.用户组管理
前言:类似于角色,系统可以对有共性/权限的多个用户进行统一的管理
cat /etc/group | groupadd -g 1010 cloud | gpasswd cloud | newgrp cloud |
2.1用户和组相关文件
2.1.1/etc/group文件
组(group)的配置文件,记录Linux包含的组的信息
每行的含义:组名:口令:组标识号:组内用户列表
2.2创建组使用groupadd命令
goupadd -g 1010 cloud 在创建时一并指定组的GID
2.3修改组使用groupmod命令
groupmod -n rhce cloud 修改组的名称
groupmod -g 1020 rhce 修改组的GID
2.4删除组使用groupdel命令
删除组: groupdel
如果删除的组,是某个用户的私有组,则该组不能被删除
如果删除的组,是某个用户的附加组,则该组可以删除
2.5给组设置密码使用gpasswd命令
[root@li home]# gpasswd cloud
正在修改 cloud 组的密码
2.5.1通过newgrp切换到组(登录的组成为该用户的私有组)
[root@li home]# su - wangwu
[wangwu@li ~]$ newgrp cloud
密码:
[wangwu@li ~]$ id
用户id=1238(wangwu) 组id=1010(cloud) 组=1010(cloud),1240(wangwu) 上下文=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
2.6组还可以设置管理员(普通用户使用gpasswd命令;root用户使用groupmems命令)
gpasswd -A 用户名 组名
[root@li home]# vim /etc/group
[root@li home]# id wangwu
用户id=1238(wangwu) 组id=1240(wangwu) 组=1240(wangwu),1010(cloud)
[root@li home]# gpasswd -A wangwu cloud
如果一个用户是这个组的管理员用户,那么该用户可以不在组内,依然可以管理这个组---引申:如何查看组管理员 vim /etc/gshadow
gpasswd -a 用户名 组名 向组内添加用户
[wangwu@li ~]$ gpasswd -a memeda cloud
正在将用户“memeda”加入到“cloud”组中
gpasswd -d 用户名 组名 从组中移除用户
cloud:x:1010:wangwu,memeda
[root@li ~]# su - wangwu
[wangwu@li ~]$ gpasswd -d memeda cloud
正在将用户“memeda”从“cloud”组中删除
[wangwu@li ~]$
----------------------------------------------------------------------------------------------------
groupmems root用户对组的管理工具
groupmems -g 组名 -a用户名 向组内添加用户
groupmems -g 组名 -d用户名 删除组内的用户
groupmems -g 组名 -p 清空组内的所有用户,如果该组是某个用户的私有组,则该用户不会从组内移除