购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1.2 系统用户账号的维护

用户账号是使用系统资源的主要方式,在系统的使用和日常维护中都需要使用用户账号来完成。当然,对于账号的维护是运维工作中不可缺少的。本小节将对系统中不同类型的账号进行介绍,主要包括普通用户账号和虚拟账号两类。

1.创建用户账号的基本流程

向系统新增用户时,首先要决定用户的基本配置(包括用户名、UID、用户组、主目录位置及登录的Shell等),其次需要来自系统管理员的权限。创建一个用户的工作流程如下:

1)指定用户名、用户ID和组,并决定该用户所属的其他组(如果需要)。

2)创建用户主目录。

3)将初始化配置的文件置于用户的主目录下。

4)执行chown和charp命令赋予新用户主目录和初始化文件的所有权。

5)配置用户密码。

6)设置适合系统的用户账号参数(包括密码失效日期、账号失效日期、资源限制等)。

7)将用户账号添加到磁盘限额系统、邮件系统等相关的系统下。

8)使用文件保护或资源的内置机制,适当地授权或拒绝访问额外的系统资源。

9)执行其他初始化任务。

10)测试新增的用户账号。

以上工作是新增一个用户时基本要做的。通常会为了简化这些操作而采取某种机制,一般直接调用通用的配置文件/etc/default/useradd来实现。该配置文件的配置参数信息如下:


# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

这些配置参数是在执行useradd命令创建用户时被调用的,因此很快就可以解决用户创建所需的参数问题,并使用这些参数来初始化用户的工作环境。

2.普通用户账号的维护

接下来将主要介绍普通账号的维护,内容涉及账号的创建和移除。

用户账号的创建使用useradd命令,该命令的使用权来自root用户。对于所创建的用户,默认一同完成相关参数和基本环境的初始化,因此在创建一个用户账号后,只需要配置密码就可以使用,如创建user-1的用户并配置密码。


[root@centos-s8 ~]# useradd user-1
[root@centos-s8 ~]# passwd user-1
Changing password for user user-1.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

创建用户后,其相关信息就被写入/etc/passwd和/etc/shadow文件中永久性地保存,如关于信息的保存格式可以使用grep等命令来查看。以下是关于user-1用户的记录信息:


[root@centos-s8 ~]# grep user-1 /etc/passwd
user-1:x:1001:1001::/home/user-1:/bin/bash
[root@centos-s8 ~]# grep user-1 /etc/shadow
user-1:$6$TtrGkpL/h8BwBTCY$9DM7g56X00AXO3QU7dGK1Ff3wz6uU2dXqnxlyqVZjGOlKXjM165ANdn8Oa.KsjdB4QutwEAUWybJm.ZJ5vdXT.:18612:0:99999:7:::

创建用户后,系统已经给它创建了独立的工作环境(/home/user-1/目录),此时可以使用user-1用户登录系统或使用su命令直接切换。当然,该用户的权限范围也就是在它的主目录中且受到root用户的控制。

另外,关于用户的主目录问题,有些环境需要用户的主目录不是默认目录,对于这样的需求,如果有现成的账号,直接更改其主目录就可以(在/etc/passwd文件中更改),如果要更改新建用户user-1的主目录,直接在该文件中把“/home/user-1”改成需要的目录就可以(注意目录所属用户和组的问题),还可以在创建时直接指定用户的主目录,如创建user-2用户并指定它的主目录为/home/user-3:


[root@centos-s8 ~]# useradd user-2 -d /home/user-3

创建完成后,在/home/目录下可以看到user-3目录。

当然,可能还会遇到一种情况,那就是创建用户时不需要创建该用户的主目录,这时使用带-M选项的useradd命令来创建就可以:


[root@centos-s8 ~]# useradd user-4 -M

对于这种不需要主目录的账号,适合用于共享资源账号的创建,这样可以避免产生不必要的目录和相关的文件。

对于不再需要的用户账号,处理的方式可以是禁止登录(锁住),也可以直接删除。删除账号使用userdel命令,如删除user-4这个账号可以执行以下命令:


[root@centos-s8 ~]# userdel user-4

如果在删除用户时要把它的主目录一起删除,在命令中使用-r选项就可以。

3.虚拟用户账号的维护

虚拟用户是一种不具有登录系统权限的用户,这类用户主要用于运行和使用系统服务。

这类账号主要是安装系统时创建的,用于运行一些服务,比如sshd这个虚拟用户账号,用于运行sshd服务并支持远程登录,但并不能使用该账号来登录系统。

虚拟账号不能登录系统,不过在日常的维护工作中如果需要安装一些源码包或共享资源等,就需要用到虚拟账号。这类账号也是使用useradd命令来创建的,但由于其使用的Shell是/sbin/nologin,因此在使用useradd命令创建这类账号时就需要使用相关的参数直接指定Shell,如创建虚拟账号user-5时可以执行以下命令:


[root@centos-s8 ~]# useradd -s /sbin/nologin user-5

实际上,对于这类虚拟账号,在创建时没必要给它们创建主目录,因此可以使用-M选项取消创建主目录。当然,如果需要更改其主目录,在命令中使用-d选项重新指定就可以。

对于系统中的虚拟账号,常用的如表3-1所示。

表3-1 虚拟用户账号作用说明 42nf7Y3dU0lPwyqLrjUWwKCgjedpxSZc7mu9B6LPh0vjF2sIH2OEKlazT6kREu2c

点击中间区域
呼出菜单
上一章
目录
下一章
×