1.用户
(1)超级管理员
在Linux系统中的超级管理员为root用户,用户标识号(User Identification,uid)为0,该用户对所有的命令和文件具有访问、修改、执行权限,一旦操作失误很容易对系统造成损坏。因此,在生产环境中不建议使用root用户直接登录系统。
(2)普通用户
系统中大多数的用户为普通用户,需要管理员用户进行创建,拥有的权限收到一定的限制,一般只在用户自己的主目录拥有完全权限,提升权限时,需要使用【sudo】命令。
(3)系统用户
通常会用于一个守护进程或者软件,这类用户在安装系统后默认存在,且默认情况下通常不允许通过shell的交互式登录系统,但此类用户方便系统管理,对于系统的正常运行是必不可缺的。
(4)虚拟用户
在Linux系统中一些用户是用来完成特定任务的,比如nobody和ftp 等。在系统中,没有权限登录系统的用户一般也被称之为虚拟用户;虚拟用户实际上就是去掉了登录SHELL权限的用户,他没有能力登录系统,但可以进行其他任何操作。
2.用户组
在Linux系统中,为了方便管理员的管理和用户工作的方便,产生了组(Group)的概念,用户组就是具有相同特征的用户集合体,使用用户组有利于系统管理员按照用户的特性组织和管理用户,提高工作效率,为用户设置用户组,在做资源授权时可以把权限赋予某个用户组,用户组中的成员即可获得对应的权限,并且方便系统管理员检查,用户组可以更高效地管理用户权限。默认情况下,用户拥有自己的私人组(User Private Group, UPG),当一个新用户被创建时,同时会创建一个和用户名相同的用户私人组。
3.用户配置文件
(2)/etc/shadow文件包含用户密码的加密信息及其他相关安全信息。为了安全起见,只有root用户才有权限读取shadow文件中的内容,普通用户无法查看。 以下是/etc/shadow文件的部分输出:
/etc/group文件每个字段的解释如表3-4所示。
4.下面的操作是管理用户的操作
(1)管理员Root身份登录到服务器,打开【终端】,创建用户黄工,备注为信息中心主任。代码如下:
[root@jan16-PC ~]# useradd -m -s /bin/bash -c "黄主任" Huang [root@jan16-PC ~]# passwd Huang 更改用户 Huang 的密码 。 新的 密码:Jan16@123 重新输入新的 密码:Jan16@123 passwd:所有的身份验证令牌已经成功更新。
创建用户时 -c参数代表加上备注文字,备注文字保存在passwd备注栏中;-m参数代表创建用户的主目录;-s参数代表用户登录所用的shell类型。
(2)查看黄工用户创建是否成功,代码如下:
[root@jan16-PC ~]# cat /etc/passwd Huang:x:1001:1001:黄主任:/home/Huang:/bin/bash
(3)需要限制黄工在第一次登陆时必须修改密码,代码如下:
[root@jan16-PC ~]# chage -d0 Huang
(4)切换用户查看是否能够成功限制黄工登陆,注意不能使用Root用户进行切换,因为Root用户切换用户不需要输入密码,使用新建的Test用户对Huang用户进行测试,切换用户输入正确密码后,提示管理员强制要求立即更改密码,输入当前密码后,提示输入新密码,测试完成。代码如下:
[root@jan16-PC ~]# useradd Test
[root@jan16-PC ~]# su - Test
[Test@jan16-PC ~]$ su - Huang
密码:Jan16@123
You are required to change your password immediately (administrator enforced). 为 Huang 更改 STRESS 密码。
Current password: Jan16@123
新的 密码:admini@123
重新输入新的 密码:admini@123
[Huang@jan16-PC ~]$
(5)使用同样的方法创建Zhang、Li、Zhao、Song四个用户,代码如下:
[root@jan16-PC ~]# useradd -m -s /bin/bash -c "张工" Zhang
[root@jan16-PC ~]# echo jan16@121 | passwd --stdin Zhang
[root@jan16-PC ~]# useradd -m -s /bin/bash -c "李工" Li
[root@jan16-PC ~]# echo jan16@122 | passwd --stdin Li
[root@jan16-PC ~]# useradd -m -s /bin/bash -c "赵工" Zhao
[root@jan16-PC ~]# echo jan16@124 | passwd --stdin Zhao
[root@jan16-PC ~]# useradd -m -s /bin/bash -c "宋工" Song
[root@jan16-PC ~]# echo jan16@125 | passwd --stdin Song
(6)查看用户创建的情况,代码如下:
[root@jan16-PC ~]# cat /etc/passwd
Huang:x:1001:1001:黄主任:/home/Huang:/bin/bash
Test:x:1002:1002::/home/Test:/bin/bash
Zhang:x:1003:1003:张工:/home/Zhang:/bin/bash
Li:x:1004:1004:李工:/home/Li:/bin/bash
Zhao:x:1005:1005:赵工:/home/Zhao:/bin/bash
Song:x:1006:1006:宋工:/home/Song:/bin/bash
用任务实施中修改后的密码登录,Kylin系统将以【Huang】账户登录,打开【控制面板】-【系统配置】-【用户账户】,结果如图3-2所示。
5.下面的操作是管理用户组的操作
(1)创建对应用户账号。 (2)创建群组,并将对应用户账号添加到对应群组中。 (3)设置用户账户的隶属群组,赋予用户适配的系统权限。
1. 创建本地组账户,并配置其隶属的系统内置组
(1)使用Root账户,在终端界面创建Netadmins组和Sysadmin组,代码如下:
[root@jan16-PC ~]# groupadd Netadmins
[root@jan16-PC ~]# groupadd Sysadmins
输入cat /etc/group查看配置文件
[root@jan16-PC ~]# cat /etc/group
Netadmins:x:1007:
Sysadmins:x:1008:
2. 设置用户账户的隶属组账户
(1)将Zhang用户和Li用户加入到Netadmins组,并查看用户的组ID是否变更,代码如下:
[root@jan16-PC ~]# usermod -g Netadmins Zhang
[root@jan16-PC ~]# usermod -g Netadmins Li
[root@jan16-PC ~]# cat /etc/passwd
Zhang:x:1003:1007:张工:/home/Zhang:/bin/bash
Li:x:1004:1007:李工:/home/Li:/bin/bash
(4)修改配置文件,为Huang用户授予管理员的权限,使用Root用户修改/etc/sudoer文件,添加对应的红色字体的权限,并使用wq!进行保存并退出,此时Huang用户已经获取Root用户的权限,切换到Huang用户下可以使用sudo -i命令输入密码后,去执行系统管理员拥有权限对应的操作,如查看/etc/sudoers文件。代码如下:
(4)修改配置文件,为Huang用户授予管理员的权限,使用Root用户修改/etc/sudoer文件,添加对应的红色字体的权限,并使用wq!进行保存并退出,此时Huang用户已经获取Root用户的权限,切换到Huang用户下可以使用sudo -i命令输入密码后,去执行系统管理员拥有权限对应的操作,如查看/etc/sudoers文件。代码如下:
(6)对于Zhang用户和Li用户进行限制,允许Zhang用户可以执行/usr/bin、/bin下面的所有命令,但是为了保障系统的安全性,需要限制Zhang用户不可以修改其他用户的密码和kill其他用户的进程,Li用户可以使用/bin目录下面所有命令,但是不能修改其他用户的密码以及kill其他用户的进程和使用nmcli命令,在/etc/sudoers.d目录下使用visudo命令创建与用户同名的策略文件并写入以下配置。代码如下:
以上就是一些关于管理用户和用户组的方式
6.在Linux命令管理中心,可以使用以下命令来管理用户和组信息:
-
useradd:用于创建新用户。 例如:sudo useradd newuser
-
userdel:用于删除用户。 例如:sudo userdel newuser
-
passwd:用于更改用户密码。 例如:sudo passwd newuser
-
adduser:用于创建新用户,提供更多选项和交互式界面。 例如:sudo adduser newuser
-
deluser:用于删除用户,提供更多选项和交互式界面。 例如:sudo deluser newuser
-
groupadd:用于创建新组。 例如:sudo groupadd newgroup
-
groupdel:用于删除组。 例如:sudo groupdel newgroup
-
usermod:用于修改用户的属性。 例如:sudo usermod -aG newgroup newuser
-
chgrp:用于更改文件或目录的所属组。 例如:sudo chgrp newgroup file.txt
-
chown:用于更改文件或目录的所有者。 例如:sudo chown newuser file.txt
id
:显示用户的实际用户标识号和所属组标识号su
:切换用户身份sudo
:以超级管理员权限执行命令whoami
:显示当前登录用户的用户名logout
:退出当前用户的登录
这些命令可以帮助您在Linux系统中管理用户和组的信息。请注意,在使用这些命令时需要以管理员身份运行(使用sudo)。