linux学习课程从入门到精通:Centos8用户管理

2023-11-19

本人从事IT行业已有十多年,有着丰富的实战经验,总结了大量的学习方法,更是积累了很多的学习资料,很高兴能在这里跟大家交流学习,希望能在这里跟大家共同进步和成长!

全套学习资料移步至公众号【学神来啦】更多学习资料添加扣扣资源群:661308959

本节所讲内容:

  6.1  用户和组的相关配置文件

  6.2  管理用户和组

  6.3  实战:进入centos8紧急模式恢复root密码

用户一般来说是指系统的使用者,使用者可以使用这些名称来登录使用计算机,除了使用者之外,一些系统服务也需要含有部分特权的用户账户运行;因此出于安全考虑,用户管理应运而生,它加以明确限制各个用户账户的权限,root在计算机中用拥有至高特权,所以一般只作管理用,非特权用户可以通过SU或SUDO程序来临时获得特权。

Linux系统通过用户和用户组实现访问控制,包括对文件访问、设备使用的控制。

1人可以拥有很多账户,只不是彼此名称不同,比如root名称已经占用就不能再用了,此外,任意用户可能从属某个用户组,此用户可以加入某些已经存在的组来获得该组的特权。

每1个文件的属性中都有一个文件拥有者和所属组。另外,还有三种类型的访问权限:读(read)、写(write)、运行(execute)。我们可以针对文件的属主、属组、而设置相应的访问权限。再次,我们可以通过 ll或 stat命令查询文件属主、属组和权限。

[root@xuegod63 ~]# ll | tail-2

-rw-------. 1 root root 1374 3月  12 17:34 anaconda-ks.cfg

-rw-r--r--. 1 root root 1529 3月  12 18:10 initial-setup-ks.cfg 

[root@xuegod63 ~]# stat anaconda-ks.cfg

  文件:"anaconda-ks.cfg"

  大小:1680       块:8          IO 块:4096   普通文件

设备:803h/2051d Inode:16797763    硬链接:1

权限:(0600/-rw-------)  Uid:(    0/    root)   Gid:(    0/    root)

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” 用户

-u:  指定uid

-d:  -d 用户主目录路径, 可以指定用户家目录

-M:   不创建用户的家目录

-g:设置用户初始组的名称或数字ID;该组必须是存在的;如果没有设置该选项,useradd会根据/etc/login.defs文件中的USERGROUPS_ENAB环境变量进行设置。默认USERGROUPS_ENAB yes 会用和用户名相同的名字创建群组.

-G:用户要加入的附加组列表;使用逗号分隔多个组,不要添加空格;如果不设置,用户仅仅加入初始组。(一个用户只允许有一个主组,可以有多个附属组)

-s:用户默认登录shell的路径;启动过程结束后,默认启动的登录shell在此处设定;请确保使用的shell已经安装,默认是 Bash。有时候需要禁止某些用户执行登录动作,例如用来执行系统服务的用户。将shell设置成 /sbin/nologin 就可以禁止用户登录。

6.2.2  添加登录用户

例:添加一个名为harry的用户,并使用bash作为登录的shell

[root@xuegod63 ~]# useradd harry

[root@xuegod63 ~]# tail -1 /etc/passwd

harry:x:1001:1001::/home/harry:/bin/bash

说明:此命令会自动创建harry组,并成为harry用户的默认主组,同时默认的登录shell是bash

用户帐户的全部信息被保存在/etc/passwd文件。这个文件以如下格式保存了每一个系统帐户的所有信息 (字段以“:”分割)

 

harry:x:1001:1001::/home/harry:/bin/bash  #每行含意如下:

harry:用户名

x:密码占位符

1001:用户的UID,使用正整数表示,范围可以是0-65535

1001:用户所属组的GID,它都是用数字来表示的

用户描述信息:对用户的功能或其它来进行一个简要的描述,此字段会出现在登录用户界面,可以通过点击输入对应密码进行登录,却并不能手动输入此字段代替用户名。

/home/harry:用户主目录(shell命令提示符中用“~”表示)

/bin/bash:用户登录系统后使用的shell

例:查看系统中,支持哪些shell

[root@xuegod63 ~]# cat /etc/shells    #查看系统中,支持哪些shell

/bin/sh

/bin/bash

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux学习课程从入门到精通:Centos8用户管理 的相关文章

随机推荐