3、用户管理

用户和组信息的存放目录

用户基本信息文件

在路径:/etc/passwd 的passwd文件中

使用vim打开passwd文件,如下

文件中通过 ":" 将用户信息分隔成了七个字段,从左往右分别如下

  1. 用户名:用户起的名字,类似账号名

  2. 密码占位符(x):具体内容在另一个文件中。x去掉后可以在本地免密登录,远程不行

  3. UID:用户id,标识用户身份

    id为0的用户是root,也就是超级管理员

    1~499是系统用户

    1000往后都是普通用户

  4. GID:组号,用户基本组

  5. 用户描述:对用户进行描述

  6. 家目录:登录系统时所在的目录

    管理员在/root

    普通用户在/home

  7. 登录shell:命令解释器。用户登录之后所拥有的权限

    • 用户登陆 Linux 系统后,通过使用 Linux 命令完成操作任务,但系统只认识类似 0101 的机器语言,这里就需要使用命令解释器。也就是说,Shell 命令解释器的功能就是将用户输入的命令转换成系统可以识别的机器语言

    • 通常情况下,Linux 系统默认使用的命令解释器是 bash(/bin/bash),当然还有其他命令解释器,例如 sh、csh 等

    权限等级:

    • base:/bin/bash。普通用户的权限
    • nologin:/sbin/nologin。不能登录

用户密码信息文件

在路径:/etc/shadow 的shadow文件中

使用vim打开shadow文件,如下

分为9个字段,从左到右如下:

  1. 用户名:与/etc/passwd文件中的用户名一致

  2. 加密密码:用户加密后的密码,如果为空则不需要登录密码

    所有伪用户的密码都是 "!!" 或 "*",代表没有密码是不能登录的。

    加密密码的开头的含义:

    • $6$ 开头:使用SHA-512加密

    • $1$ 开头:使用MD5加密

    • $2$ 开头:使用Blowfish加密

    • $5$ 开头:使用SHA-256加密

  3. 最后一次修改密码的时间(单位:天):Linux将1970年1月1日作为第一天每过一天自增1,这与时间戳的计数方式十分相识,只不过时间戳是以秒为单位计数

  4. 密码最小修改时间间隔(单位:天):用户最后一次修改密码后,单位时间内不能再次修改密码。

    例如这里的值是10,则代表密码修改过后的十天内都不能再修改;值为0表示密码可以随时修改

  5. 密码有效期(单位:天):密码有效的最大时间,从最后一次修改密码开始,必须在规定的单位时间内修改一次密码,否则进不去系统。

    例如这里的值为30,表示修改密码后的30天内,要修改一次密码。

    该字段默认99999,也就是273年,基本表示密码永久有效

  6. 密码过期前的警告时间(单位:天):当用户的密码快到期时,系统根据该字段的值警告用户,再过一段时间你的密码就到期了,尽快重置你的密码

    该字段默认值为7,表示在用户密码过期的前7天内,每次登录系统都会向该账号发出尽快修改密码的警告

  7. 密码过期后距离账号禁用的时间(单位:天):密码过期后的宽恕时间,如果在这段时间内用户还是不修改密码,系统会直接禁用该账号

  8. 账号失效时间(单位:天):同第 3 个字段一样,使用自 1970 年 1 月 1 日以来的总天数作为账户的失效时间。该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!

  9. 保留

基本组和扩展组

基本组和扩展组都是相对于用户来说的

在创建用户时,系统会帮我们创建一个与用户名同名的组,这个组对于刚刚创建的用户来说就是基本组

如果将该用户加入到其他组中,那么其他的组相对于这个用户来说就是扩展组

组信息文件

在路径:/etc/group 的group文件中

使用vim打开group文件,如下

分为4个字段,从左到右如下:

  1. 组名:在创建用户时,会自动创建一个与用户名同名的组

  2. 组密码占位符

  3. 组ID

  4. 组成员:默认为空

    将用户放在组内,就可以给用户授权

    一般来说一个组里面的成员权限是一样的,但是root组除外,root组内的用户叫普通管理员,但是root叫超级管理员

用户和组的管理

管理用户信息

useradd:创建并设置用户信息

使用useradd命令可以自动完成用户信息、基本组、家目录等的创建工作,并在创建过程中对用户初始信息进行定制。

格式:useradd 参数 用户名

常用参数

参数 描述
-c 添加备注文字
-d 设置新用户登录时所使用的家目录
-D 设置新用户的预设值
-e 设置用户账号失效的日期
-f 设置用户过期几日后永久停权
-g 设置用户对应的基本用户组
-G 设置用户对应的扩展用户组
-h 显示帮助信息
-k 设置用户的骨架目录
-l 不将用户添加到最近登录和登录失败数据库文件
-m 用户目录不存在时则自动创建
-M 不建立用户家目录
-n 不建立以用户名称为名的组
-o 允许创建重复UID的用户
-p 设置用户的密码
-r 建立系统用户
-R 设置根目录
-s 设置新用户的默认Shell终端
-u 设置用户ID
-U 创建与用户同名的组,并将其加入
-Z 设置用户的SELinux映射角色

进程已结束,退出代码0

使用示例

  • 创建一user01的用户

    [root@lyy etc]# useradd user01
    
  • 创建用户:user02,并指定他的UID为:1500

    [root@lyy etc]# useradd -u 1500 user02
    
  • 创建用户:user03,并将他分配到root组中

    [root@lyy etc]# useradd -G root user03
    
  • 创建用户:user04,并指定他的过期时间为:2024/4/23

    [root@lyy etc]# useradd -e 2024/4/23 user04
    
  • 创建用户:user05,但是不创建家目录(即无法登录系统),

    [root@lyy etc]# useradd -M -s /sbin/nologin user05
    

id:查看用户与用户组信息

id命令的功能是显示用户与用户组信息。UID是用户身份的唯一识别号码,相当于我们的身份证号码,而GID则是用户组的唯一识别号码。用户仅有一个基本组,但可以有多个扩展组。

语法 :id 参数 用户名

常用参数

参数 描述
-g 显示用户所属基本组的ID(GID)
-G 显示用户所属扩展组的ID(GID)
-n 显示用户所属基本组或扩展组的名称(需要与-g,-G,-u配合使用)
-u 显示用户的ID(UID)
-Z 显示用户的安全上下文
--help 显示帮助信息
--version 显示版本信息

使用示例

  • 显示当前用户的身份信息

    [root@lyy etc]# id
    uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    
  • 显示user01用户所属基本组的id

    [root@lyy etc]# id -g user01
    
  • 显示用户user01用户所属基本组的名称(下面两种都可以)

    [root@lyy etc]# id -n -g user01
    [root@lyy etc]# id -ng user01
    
  • 查询用户user01的基本信息

    [root@lyy etc]# id user01
    uid=1001(user01) gid=1001(user01) 组=1001(user01)
    

passwd:修改用户密码信息

password的缩写,其功能是修改用户的密码值;同时也可以对用户进行锁定等操作

注意:需要管理员身份才可以执行。

格式:passwd 参数 用户名

常用参数

参数 描述
-d 清除已有密码
-e 下次登录时强制修改密码
-f 强制执行操作而不询问
-k 设置用户在密码过期后仍能正常使用
-l 锁定用户的密码值,不允许修改
-n 设置密码最小修改时间间隔
-S 显示当前密码状态
-u 解锁用户的密码值,允许修改
-w 设置密码到期前几天收到警告信息
-x 设置密码有效期
--help 显示帮助信息
--usage 显示简短的使用信息提示

使用示例

  • 修改指定用户:user01的密码

    [root@lyy etc]# passwd user01
    更改用户 user01 的密码 。
    新的 密码:
    重新输入新的 密码:
    passwd:所有的身份验证令牌已经成功更新。
    
  • 锁定用户user01的密码,不允许修改

    [root@lyy etc]# passwd -l user01
    锁定用户 user01 的密码 。
    passwd: 操作成功
    
  • 解锁用户user01的密码,允许修改

    [root@lyy etc]# passwd -u user01
    解锁用户 user01 的密码。
    passwd: 操作成功
    
  • 查看用户user01的密码信息状态

    [root@lyy etc]# passwd -S user01
    user01 PS 2024-04-21 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
    

usermod:修改用户信息

英文词组user modify的缩写,其功能是修改用户信息中的各项参数。在创建用户后如果发现信息错误,可以不用删除,而是用usermod命令直接修改用户信息,并且参数会立即生效。

语法:usermod 参数 用户名

常用参数

参数 描述
-a 将用户添加至扩展组中
-c 修改用户的备注文字
-d 修改用户登录时的家目录
-e 修改用户的有效期限
-f 设置在密码过期多少天后关闭该用户
-g 修改用户所属的基本群
-G 修改用户所属的扩展群
-l 修改用户名称
-L 锁定用户密码,使密码立即失效
-m 将用户家目录内容移动到新位置
-o 允许重复的用户ID
-p 设置用户的新密码
-s 修改用户登录后使用的Shell终端
-u 修改用户的ID
-U 解除密码锁定,使密码恢复正常
-Z 设置用户的SELinux映射用户

使用示例

  • 修改用户:user01的shell为noloing,不允许登录

    [root@lyy ~]# usermod -s /sbin/nologin user01
    
  • 修改用户:user01的用户名为user0111

    [root@lyy ~]# usermod -l user0111 user01
    
  • 修改用户:user01登录时的家目录

    [root@lyy ~]# usermod -d /home user01
    

userdel:删除用户

词组user delete的缩写,其功能是删除用户信息。

在Linux系统中,一切都是文件,用户信息被保存到了/etc/passwd、/etc/shadow以及/etc/group文件中,因此使用userdel命令实际上就是删除指定用户在上述3个文件中的对应信息。

注意:删除用户时最后使用-r参数,否则会有用户的残留信息

语法:userdel 参数 用户名

常用参数

参数 描述
-f 强制删除用户而不询问
-h 显示帮助信息
-r 删除用户的家目录及其内全部子文件
-Z 删除用户的SELinux映射用户

使用示例

  • 删除用户user01

    [root@lyy ~]# userdel user01			// 删除用户user01
    [root@lyy ~]# ls /home					// 没有使用-r参数,用户的家目录还在
    liu  user01  user02  user03  user04
    [root@lyy ~]# id user01					// 使用id命令查看,用户确实被删除了
    id: user01: no such user
    
  • 删除用户的家目录

    [root@lyy ~]# userdel -r user02
    

管理组信息

groupadd:创建新的用户组

每个用户在创建时都有一个与其同名的基本组,后期可以使用groupadd命令创建出新的用户组信息,让多个用户加入指定的扩展组,从而为后续的工作提供了良好的文档共享环境。

语法:groupadd 参数 用户组

常用参数

参数 描述
-f 若用户组已存在,则以成功状态退出
-g 设置用户组ID
-h 显示帮助信息
-K 覆盖配置文件/etc/login.defs
-o 允许创建重复ID的用户组
-p 设置用户组密码
-r 创建系统用户组

使用示例

  • 创建一个新的用户组:word_group

    [root@lyy ~]# groupadd word_group
    
  • 创建新的用户组:group01,并将组id设置为:1500

    [root@lyy ~]# groupadd -g 1500 group01
    
  • 创建系统用户组:r_group

    [root@lyy ~]# groupadd -r r_group
    

groupdel:删除用户组

词组“delete a group”的缩写,其功能是用于删除用户组。Linux系统中的用户组信息被保存在/ect/group和/ect/gshadow文件中,手动删除对应信息即可,亦可以用groupdel命令删除。

语法:groupdel [参数] 群组名

常用参数

参数 描述
-f 强制删除而不询问
-h 显示帮助信息

使用示例

  • 强制删除指定的用户组

    [root@lyy ~]# groupdel -f group01
    

gpasswd:管理组内的用户

词组group password的缩写,其功能是设置管理用户组。用户可以使用gpasswd命令对用户组进行充分的管理,例如设置/删除密码、添加/删除组成员、设置组管理员/普通成员等,提高日常工作中对用户组的管理效率。

语法:gpasswd 参数 用户组名

常用参数

参数 描述
-a 添加用户到指定组
-A 设置管理员
-d 从组中删除用户
-M 设置组成员
-r 删除组密码
-R 限制用户登入组

使用示例

  • 将用户:liu添加到用户组:root中

    [root@lyy ~]# gpasswd -a liu root
    
  • 将用户:liu从用户组:root中删除

    [root@lyy ~]# gpasswd -d liu root
    
  • 修改root组的密码

    [root@lyy ~]# gpasswd root
    正在修改 root 组的密码
    新密码:
    请重新输入新密码:
    
  • 删除root组的密码

    [root@lyy ~]# gpasswd -r root
    

groupmod:修改用户组信息

词组“group modify”的缩写,其功能是用于更改群组属性。

Linux系统中的群组信息一般不建议更改,因为涉及已加入用户的归属问题,尤其是群组名称、组GID,一定要确认好后再操作。

语法:groupmod 参数 群组名

常用参数

参数 描述
-g 设置群组识别码
-n 设置群组名称
-p 设置群组密码
-h 显示帮助信息
-o 允许重复使用群组识别码

使用grep命令查看指定的用户信息和组信息

查看用户:root的信息

[root@lyy ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash

查看root组信息

[root@lyy ~]# grep root /etc/group
root:x:0:

监控用户登录

whoami:显示当前用户名

”Who am i“的拼写,中文译为”我是谁“,其功能是用于显示当前用户名。whoami命令执行后会输出当前登录的用户身份名称,相当于执行了”id -un“命令。

使用示例

[root@lyy ~]# whoami
root

who:查看当前登录用户信息(简略)

who命令的功能是用于显示当前登录用户信息,包含登录的用户名、终端、日期时间、进程等信息,帮助运维人员了解当前系统的登入用户情况。

语法格式:who [参数]

常用参数

参数 描述
-a 显示全部信息
-b 显示系统最近启动时间
-H 显示用户名、终端和时间
-l 显示系统登录进程
-p 显示由init生成的进程
-r 显示当前运行级别
-s 静默执行模式
-t 显示系统上次锁定时间
-u 显示已登录用户列表
--help 显示帮助信息
--version 显示版本信息

使用示例

  • 查看当前登录用户信息

    [root@lyy ~]# who
    root     pts/0        2024-04-24 05:22 (192.168.10.1)
    
  • 查看当前用户信息,并显示标题

    [root@lyy ~]# who -H
    名称      线路          时间              备注
    root     pts/0        2024-04-24 05:22 (192.168.10.1)
    
  • 显示当前登录用户的全部信息

    [root@localhost ~]# who -H -a
    NAME       LINE         TIME             IDLE          PID COMMENT  EXIT
               system boot  2024-04-24 00:01
               run-level 5  2024-04-24 00:01
    root     ? :0           2024-04-24 00:01   ?          2182 (:0)
    root     + pts/0        2024-04-24 00:01   .          2782 (:0)
    

w:显示已登录用户的信息

“who”的缩写,其功能是用于显示已登录用户的信息。运维人员只需要在命令终端中敲下w键并回车,即可查看到当前系统中已登录的用户列表和他们正在执行的命令等信息,更好地了解系统正在执行的工作,以及等同事都下班了再重启或关闭服务器,避免突然中断他人工作。

语法格式:w [参数]

常用参数

参数 描述
-f 显示用户登录来源
-h 不显示头信息
-i 显示IP地址而不是主机名
-l 显示执行过程详细信息
-o 使用老式输出格式
-s 使用短输出格式
-u 忽略指定用户名
-V 显示版本信息
--help 显示帮助信息

使用示例

  • 显示目前登入系统用户的信息(默认格式)

    [root@lyy ~]# w
     08:07:58 up  2:46,  1 user,  load average: 0.00, 0.01, 0.04
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.10.1     05:22    6.00s  0.23s  0.00s w
    
  • 显示登录来源

    [root@lyy ~]# w -f
     08:08:51 up  2:46,  1 user,  load average: 0.00, 0.01, 0.04
    USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0     05:22    3.00s  0.24s  0.00s w -f
    
  • 不显示头信息

    [root@lyy ~]# w -hf
    root     pts/0     05:22    7.00s  0.24s  0.00s w -hf
    
    [root@lyy ~]# w -h
    root     pts/0    192.168.10.1     05:22    1.00s  0.24s  0.00s w -h
    

头信息

  • USER:登录的用户名
  • TTY:登录后系统分配的终端号
  • FROM:远程主机名,即从哪儿登录来的
  • LOGIN@:何时登录
  • IDLE:空闲了多长时间,表示用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置
  • JCPU:和该终端(tty)连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间
  • PCPU:指当前进程(即在WHAT项中显示的进程)所占用的时间
  • WHAT:当前正在运行进程的命令行

last:显示用户历史登录情况

last命令的功能是显示用户历史登录情况。通过查看系统记录的日志文件内容,可使管理员获知谁曾经或者试图连接过服务器。 通过读取系统登录历史日志文件(/var/log/wtmp)并按照用户名、登录终端、来源终端、时间等信息进行划分,可让用户对系统历史登录情况一目了然。

语法格式:last 参数 对象

常用参数

参数 描述
-a 将来源终端信息项放到最后
-d 将IP地址解析成域名或主机名
-f 设置记录文件
-F 显示完整的登录时间和日期
-h 显示帮助信息
-i 显示指定IP的登录情况
-n 设置显示行数
-R 不显示主机名字段
-s 显示指定时间以后的行
-t 显示指定时间之前的行
-x 显示系统开关机信息
-V 显示版本信息

使用示例

  • 显示近期用户或终端的历史登录情况
[root@lyy ~]# last
root     pts/0        192.168.10.1     Wed Apr 24 05:22   still logged in   
reboot   system boot  3.10.0-1160.el7. Wed Apr 24 05:21 - 08:14  (02:52)    
root     pts/0        192.168.10.1     Tue Apr 23 06:54 - down   (02:30)    
root     :0           :0               Tue Apr 23 06:54 - down   (02:30)    
reboot   system boot  3.10.0-1160.el7. Tue Apr 23 06:54 - 09:25  (02:30)    
root     pts/0        192.168.10.1     Sun Apr 21 11:04 - 00:00  (12:55)    
root     pts/0        192.168.10.1     Sun Apr 21 02:29 - 05:33  (03:03)    
root     :0           :0               Sun Apr 21 02:29 - down   (21:31)
  

wtmp begins Wed Apr 17 03:46:52 2024
  • 显示最近三条历史登录信息,且不显示来源终端

    [root@lyy ~]# last -n 3 -R
    root     pts/0        Wed Apr 24 05:22   still logged in   
    reboot   system boot  Wed Apr 24 05:21 - 08:18  (02:56)    
    root     pts/0        Tue Apr 23 06:54 - down   (02:30)    
    
    wtmp begins Wed Apr 17 03:46:52 2024
    
  • [root@lyy ~]# w -h
    root     pts/0    192.168.10.1     05:22    1.00s  0.24s  0.00s w -h
    [root@lyy ~]# last
    root     pts/0        192.168.10.1     Wed Apr 24 05:22   still logged in   
    reboot   system boot  3.10.0-1160.el7. Wed Apr 24 05:21 - 08:14  (02:52)    
    root     pts/0        192.168.10.1     Tue Apr 23 06:54 - down   (02:30)    
    root     :0           :0               Tue Apr 23 06:54 - down   (02:30)    
    reboot   system boot  3.10.0-1160.el7. Tue Apr 23 06:54 - 09:25  (02:30)    
    root     pts/0        192.168.10.1     Sun Apr 21 11:04 - 00:00  (12:55)    
    root     pts/0        192.168.10.1     Sun Apr 21 02:29 - 05:33  (03:03)    
    root     :0           :0               Sun Apr 21 02:29 - down   (21:31)    
    reboot   system boot  3.10.0-1160.el7. Sun Apr 21 02:29 - 00:00  (21:31)    
    root     pts/1        :0               Sun Apr 21 02:28 - 02:28  (00:00)    
    root     pts/1        :0               Sun Apr 21 00:49 - 00:50  (00:00)    
    root     pts/0        192.168.10.1     Sun Apr 21 00:48 - 02:28  (01:39)    
    root     :0           :0               Sun Apr 21 00:44 - down   (01:43)    
    reboot   system boot  3.10.0-1160.el7. Sun Apr 21 00:44 - 02:28  (01:44)    
    root     pts/1        :0               Fri Apr 19 21:03 - 21:25  (00:21)    
    root     pts/0        192.168.10.1     Fri Apr 19 20:42 - crash (1+04:01)   
    root     :0           :0               Fri Apr 19 20:25 - crash (1+04:18)   
    reboot   system boot  3.10.0-1160.el7. Fri Apr 19 20:25 - 02:28 (1+06:03)   
    root     pts/0        192.168.10.1     Fri Apr 19 05:47 - crash  (14:38)    
    root     pts/1        :0               Fri Apr 19 05:24 - 05:25  (00:00)    
    root     pts/1        :0               Fri Apr 19 01:25 - 01:25  (00:00)    
    root     pts/0        192.168.10.1     Thu Apr 18 22:51 - 05:46  (06:55)    
    root     :0           :0               Thu Apr 18 22:50 - crash  (21:34)    
    reboot   system boot  3.10.0-1160.el7. Thu Apr 18 22:50 - 02:28 (2+03:38)   
    root     pts/0        192.168.10.1     Thu Apr 18 09:14 - 15:00  (05:45)    
    root     :0           :0               Thu Apr 18 09:13 - down   (05:46)    
    reboot   system boot  3.10.0-1160.el7. Thu Apr 18 09:13 - 15:00  (05:47)    
    root     pts/0        192.168.10.1     Thu Apr 18 04:08 - down   (05:04)    
    root     pts/0        192.168.10.1     Thu Apr 18 03:51 - 03:59  (00:07)    
    root     pts/1        :0               Thu Apr 18 03:45 - 03:47  (00:01)    
    root     pts/0        192.168.10.1     Thu Apr 18 03:40 - 03:50  (00:09)    
    root     :0           :0               Thu Apr 18 03:39 - down   (05:32)    
    reboot   system boot  3.10.0-1160.el7. Thu Apr 18 03:39 - 09:12  (05:33)    
    root     :0           :0               Wed Apr 17 08:15 - crash  (19:24)    
    reboot   system boot  3.10.0-1160.el7. Wed Apr 17 08:14 - 09:12 (1+00:57)   
    root     pts/0        :1               Wed Apr 17 05:17 - 05:44  (00:26)    
    root     :1           :1               Wed Apr 17 05:14 - down   (00:29)    
    liu      pts/0        :0               Wed Apr 17 03:53 - 03:53  (00:00)    
    liu      pts/0        :0               Wed Apr 17 03:53 - 03:53  (00:00)    
    liu      :0           :0               Wed Apr 17 03:52 - down   (01:52)    
    reboot   system boot  3.10.0-1160.el7. Wed Apr 17 03:46 - 05:44  (01:57)    
    
    wtmp begins Wed Apr 17 03:46:52 2024
    

lastb:显示登录失败的用户

lastb命令用于显示用户错误的登录列表,此指令可以发现系统的登录异常。

单独执行lastb命令,它会读取位于/var/log目录下,名称为btmp的文件,并把该文件内容记录的登入失败的用户名单,全部显示出来。

语法格式:lastb [参数]

常用参数

参数 描述
-a 把从何处登入系统的主机名称或ip地址显示在最后一行
-d 将IP地址转换成主机名称
-f 指定记录文件
-n 设置列出名单的显示列数
-R 不显示登入系统的主机名称或IP地址
-x 显示系统关机,重新开机,以及执行等级的改变等信息

使用示例

  • 显示所有登录失败的用户信息

    [root@lyy ~]# lastb
    root     :0           :0               Wed Apr 24 08:22 - 08:22  (00:00)    
    root     :0           :0               Wed Apr 24 08:22 - 08:22  (00:00)    
    
    btmp begins Wed Apr 24 08:22:18 2024
    
  • 不显示ip

    [root@lyy ~]# lastb -R
    root     :0           Wed Apr 24 08:22 - 08:22  (00:00)    
    root     :0           Wed Apr 24 08:22 - 08:22  (00:00)    
    
    btmp begins Wed Apr 24 08:22:18 2024
    

lastlog:显示用户最近一次登录信息

lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示Never logged。注意需要以root身份运行该命令。

语法格式:lastlog [参数]

常用参数

参数 描述
-b <天数> 显示指定天数前的登录信息
-t <天数> 显示指定天数以来的登录信息
-u <用户名> 显示指定用户的最近登录信息
-h 显示召集令的帮助信息

使用示例

  • 显示所有用户最近一次登录信息

    [root@lyy ~]# lastlog
    
  • 显示7天来的登录信息

    [root@lyy ~]# lastlog -t 7
    
  • 显示指定用户root的登录信息

    [root@lyy ~]# lastlog -u root
    

su:切换用户身份

使用:su命令可以切换用户身份

switch user的缩写,其功能是切换用户身份。将管理员切换至任意用户身份时无须密码验证,而将普通用户切换至任意用户身份时均需密码验证。另外,添加单个减号(-)参数表示完全的身份变更,不保留之前用户的任何环境变量信‍息。

语法格式:su 参数 用户名

常用参数

参数 描述
完全地切换身份
-c 执行完命令后,自动恢复原来的身份
-f 不读取启动文件(适用于csh和tsch)
-l 切换身份时,同时变更工作目录
-m 切换身份时,不变更环境变量
-s 设置要执行的Shell终端
--help 显示帮助信息
--version 显示版本信息

使用 示例

  • 从用户root完全切换到用户:liu

    [root@lyy ~]# su - liu
    上一次登录:三 417 03:52:08 CST 2024:0

提权

sudo命令
当普通用户要使用管理员才能使用的命令时,在命令前面加上sudo即可

posted @   7七柒  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
点击右上角即可分享
微信分享提示