红帽秘笈,第八章用户管理

本章主要介绍Linux系统中的用户管理。
基本概念的理解
创建及删除用户
修改用户属性
修改密码策略
通过sudo对用户进行授权
用户在操作系统中是非常重要的,我们登录系统、访问共享文件夹等都需要用户进行验
证。所以,掌握管理用户的知识是非常有必要的。
说到用户,我们会提到两个名词:账户信息和密码信息。
(1)账户信息:以QQ为例,可以理解为QQ号码、QQ签名、QQ中填写的个人资料等。
(2)密码信息:以QQ为例,就是登录QQ的密码。
用户的账户信息是存储在/etc/passwd中的,在此文件中一行一个用户信息,各字段
用“:”隔开,如图8-1所示。
图 8-1 用户账户信息结构
1:用户名。
2:原来此处用于存储用户的密码,因为安全性问题,这里统一用x作为占位符。
3:用户的uid,每个用户都会有一个 user id,简称为uid。root的uid为0.
4:用户的gid,每个组也都会有一个 group id,简称为 gid.
5:用户的描述信息。
6:用户的家目录。
7:用户的shell。
上面的命令也可以通过“getent passwd 用户名”来获取,如下所示

 用户的密码信息存储在/etc/shadow中,如下所示。

 

上面第一个和第二个冒号之间的斜体字就是被加密后的密码。上面的信息也可以通
过"“getent shadow用户名”来获取,如下所示。

 判断一个用户是否存在,可以使用“id 用户名”命令,如下所示。

 

利用useradd命令可以创建用户,useradd中常见的选项包括8种。
(1)-d:指定用户的家目录,默认为/home/用户名。
(2)-m:创建家目录,这是默认选项,一般不用指定。
(3)-M:不为用户创建家目录,即创建好用户之后没有“/home/用户名”。
(4)-s:指定用户的shell,默认为/bin/bash。
(5)-c:用来指定备注信息,不指定则为空。
(6)-u:指定用户的uid。
(7)-g:默认情况下,创建用户时会创建一个同名组。例如,创建tom用户,则会创建一
个tom组,然后把 tom用户加人 tom组中。如果指定了-g root,则创建用户时直接把tom
加入root组,就不会再创建tom组,此时 tom只属于一个组。
(8)-G:指定附属组,即把用户加人一个额外的组,此时 tom属于两个组。
如果同时指定-g和-G选项,如-g root-G users,这里的意思是不再为tom创建命名组,直接
加入root组,同时再额外地加入users组,此时tom 就属于两个组,即root和users组。
下面创建tom用户,如下所示。
1 [ root@server ~ ] # useradd d / tom s / sbin / nologin \
2 > ‐ c "Im tom" u 2000 g root G users tom
3 [ root@server ~ ] #
这里创建一个tom用户,因为命令太长,所以最后加一个反斜线后按【Enter】键,这里
虽然换行了,但是系统会认为仍然是一行的。
记住,反斜线后面不能有空格,按【Enter】键之后前面会自动出现一个提示符“>”,
这个“>”不是我们输入的。
现在查看tom用户的属性,如下所示。
[root@localhost ~]# grep tom /etc/shadow
因为我们在创建用户时,并没有指定用户的密码,所以这里密码为空。当我们创建用户时,
没有给这个用户设置密码,则这个用户是处于被锁定状态,即不能登录,如下所示。
[root@localhost ~]# passwd -S tom 
现在为 tom用户设置密码,可以使用如下命令。

 这里把密码设置为haha001,或者使用如下命令。

再次查看用户的状态,如下所示。

 

 

这里已经有了密码。
但是现在用户仍然是不能登录的,所以用su命令切换到tom用户。
[root@localhost ~]# su - tom 

 

如果想修改用户属性,可以使用usermod命令。usermod命令所能用到的选项与
useradd是差不多的,下面讲最常见的5个选项。
(1)-c:修改注释信息。 (2)-s:修改shell信息。
(3)-d:修改家目录。
(4)-L:锁定用户。
(5)-U:解锁用户。
把tom的shell改成/bin/bash,并把备注信息改成hello tom,如下所示。
[root@localhost ~]# usermod -s /bin/bash -c "Hello Tom" tom

 1、锁定用户

 

锁定用户,使用root用户是可以用su命令切换过去的,但是使用其他用户是不能用su命
令切换过去的,如下所示。

 

再打开一个终端,这个终端中是以lduan用户登录的,然后通过su命令切换到tom用户,
如下所示。

 

这里显示无法切换到/home/tom。因为创建用户时用户的家目录是创建在/tom下的,但
是手动修改tom的家目录为/home/tom,这个家目录并没有在/home下创建,所以才会出
现刚才的问题。我们只要把原来的家目录拷贝过去即可,在第一个终端中执行如下命令
[root@localhost ~]# cp -a /tom/ /home/
[root@localhost ~]# ls /home/
所有组的信息都是放在/etc/group中的,如果要判断一个组是否存在,可以
到/etc/group中查询。例如,现在判断bob组是否存在,命令如下

 

没有任何输出,说明bob组不存在。如果想创建一个新的组,则用“groupadd 组名”命
令。例如,现在要创建bob组,命令如下。

 

如果要删除某个组,则用“groupdel组名”命令。例如,现在要删除bob组,命令如
[root@localhost ~]# groupdel bob
[root@localhost ~]# grep bob /etc/group
创建组时,可以通过-g选项来指定gid信息。例如,创建bob组,组id设置为3000,命令
如下。
[root@localhost ~]# groupadd -g 3000 bob
很多人是没有修改密码的习惯的,设置了一个密码就一直使用下去,这样会带来一定的安
全隐患。所以,为了提高安全性,需要设置一定的密码策略,使用的命令是chage。
chage常见的选项包括以下几个。

(1)-l:列出用户的信息。

 

(2)-d:用于更改最近一次修改密码的日期,如改成2023年3月29日。

 

 

这里需要注意的是,如果想清除某用户的密码,可以使用“passwd -d 用户名”命令来
实现,命令如下

 tom 再登录系统时,是不需要密码。

su - tom 

 前面讲了普通用户很多时候权限是不够的,例如,下面的命令。

[bdqn@localhost ~]$ mount /dev/cdrom /mnt/

要执行该操作,需要使用su命令切换到root。但是并不希望其他人知道root密码,那怎么
办?我们可以让root用户通过 sudo对普通用户进行授权
hostname

 

前面已经讲了对用户的管理,我们都是以root用户操作的,如果忘记了root用户的密码,
那么该如何重新设置root密码呢?下面开始练习如何重置root密码。
步骤①:首先重启系统,在看到内核引导界面时通过上、下键选择第一行(默认选择的就
是第一行)

 

步骤②:在键盘上按【e】键,表示编辑,通过上、下键把光标调整到linux那行,然后按
【End】键,把光标调整到linux那行的最后,输人“rd.break”

 步骤③:修改之后按【Ctrl+x】组合键启动系统,之后能看到一个提示符

 

现在进入的是一个处于内存中的临时系统,之前挂载到“/”的分区/dev/sdal被挂载到当
前这个系统的/sysroot目录上了

 

 这里/dev/sda1是以只读(ro)的方式挂载到/sysroot目录上的

/dev/sda1 以只读方式被挂载到 /sysroot 目录上
步骤④:把/dev/sda1以读写(rw)的方式重新挂载到/sysroot目录上

 步骤⑤:通过 chroot /sysroot命令切换到硬盘所在系统

 步骤⑥:把 root密码修改为haha001

 步骤⑦:在/目录下创建隐藏文件/.autorelabel,

 步骤⑧:输入“exit”并按【Enter】键,再次输入“exit”并按【Enter】键

之后系统会自动重启,不过这里需要稍微等待一会才能重启成功
  • 17
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值