Linux系统用户及组管理
六、CentOS8 用户管理
用户一般来说是指系统的使用者,使用者可以使用这些名称来登录使用计算机,除了使用者之外,一些系统服务也需要含有部分特权的用户账户运行;因此出于安全考虑,用户管理应运而生,它加以明确限制各个用户账户的权限,root在计算机中用拥有至高特权,所以一般只作管理用,非特权用户可以通过SU或SUDO程序来临时获得特权。
Linux系统过用户和用户组实现访问控制,包括对文件访问、设备使用的控制。
1人可以拥有很多账户,只不是彼此名称不同,比如root名称已经占用就不能再用了,此外,任意用户可能从属某个用户组,此用户可以加入某些已经存在的组来获得该组的特权。
每1个文件的属性中都有一个文件拥有者和所属组。另外,还有三种类型的访问权限:读(read)、 写(write)、运行(execute)。
我们可以针对文件的属主、属组、而设置相应的访问权限。再次,我们可以通过 ls | stat 命令查询文件属主、属组和权限。
[root@Hengji ~]# ll | tail -2
-rw-r--r--. 1 root root 1566 9月 3 10:23 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 41 9月 4 18:00 test
[root@Hengji ~]# stat initial-setup-ks.cfg
文件:initial-setup-ks.cfg
大小:1566 块:8 IO 块:4096 普通文件
设备:802h/2050d Inode:69014751 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:admin_home_t:s0
最近访问:2020-09-03 10:23:55.477900117 +0800
最近更改:2020-09-03 10:23:55.494900117 +0800
最近改动:2020-09-03 10:23:55.494900117 +0800
创建时间:-
6.1、用户账号
6.1.1 用户的分类
Linux用户三种角色:超级用户,普通用户,虚拟用户。
超级用户:root 拥有对系统的最高的管理权限,UID=0
普通用户:
系统用户 UID范围:1-999(centos7/8版本) 1-499(centos6版本)
本地用户 UID范围:1000+(centos7/8版本) 500+(centos6版本)
UID:即每个用户的身份标识,类似于每个人的身份证号码.。
虚拟用户:伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行。如:ftp, apache
用户基本信息保存位置:/etc/passwd
下图是用户和组的关系:
一对一:一个用户可以存在一个组中;
一对多:一个用户可以存在多个组中;
多对一:多个用户可以存在一个组中;
多对多:多个用户可以存在多个组中。
6.1.2 配置文件
名称 | 文件路径 | 说明 |
---|---|---|
用户配置文件 | /etc/passwd | 记录了每个用户的一些基本属性,并且对所有用户可读,每一行记录对应一个用户 |
用户组文件 | /etc/group | 用户组信息存放文件,并且组名不能重复 |
用户密码信息文件 | /etc/shadow | 因为passwd文件对所有用户是可读的,为安全起见把密码从 passwd中分离出来放入这个单独的文件,该文件只有 root 用户拥有读权限,从而保证密码安全性 |
6.2、用户管理
6.2.1 用户命令
命令:useradd
useradd -d -u “UID” -g “初始组” -G “附加组” -s "登陆的 shell” 用户
-d:-d 用户主目录路径, 可以指定用户家目录
-M:不创建用户的家目录
-g:设置用户初始组的名称或数字 ID;该组必