目录
一、用户与组概述
与windows类似,Linux也有用户和用户组的概念。在Linux系统中,每次登录系统都必须以一个用户的身份登录,并且登录后的权限也会根据用户身份来确定。 每一个进程在执行时,也会有其用户,该用户也和进程所能控制的资源有关。Linux系统下的每一个目录、文件,都会有其属于的用户和用户组,我们称其为属主和属组。由此可见,用户和用户组与Linux系统的运行息息相关。在实际操作使用系统时,我们往往较多关注用户与用户组。
在Linux系统中,每个用户都有自己的用户ID,称为UID,每个用户组也有自己的用户组ID,称为GID,UID和GID在Linux系统中是不可重复的。Linux系统就是通过UID和GID来对用户和组进行管理的,而对于管理员来说,往往会设置用户名和组名,这样使得用户和用户组的使用管理更人性化。
1、用户类型
1)root用户
root用户时UID和GID都等于0的用户,是Linux系统中的“上帝”,拥有最大的权限。如果深入了解Linux系统,会发现root用户真的拥有很多特权,比如:无视Linux对权限的设置而强行读、写、执行文件,切换其他用户登录不需要密码,可以强行切换到已经存在的用户,只有root可以为普通用户修改密码等等。
2)系统用户(程序用户)
系统用户通常用于运行服务,但是此用户无家目录,也不能用于登录系统。例如,在yum安装apache、nginx等服务后,就会自动创建apache和nginx的用户和同名用户组。在CentOS6系统中,系统用户的UID范围是1-499,在CentOS7系统中,系统用户的ID是1-999。
3)普通用户
普通用户只能由root用户创建,该用户拥有家目录,并且可以登录,该用户的权限由root分配。普通用户拥有指定的shell环境。
2、用户和用户组关系
在Linux系统中,每个用户必定属于一个主组(基本组),默认情况下属于与其同名的用户组,最多可以有31个附属组,从用户权限的角度看,主组和附属组其实差别不大,用户也会拥有其附属组的组相关权限。
3、用户和用户组配置文件
Linux系统下用户和用户组相关的配置文件主要有以下几个:
1)/etc/passwd
存储用户信息
[root@huang ~]# tail -1 /etc/passwd huang:x:1000:1000:huang:/home/huang:/bin/bash (含义)用户名:密码占位符:用户ID:组ID:用户描述信息:用户家目录:登录shell
2)/etc/shadow
该配置文件保存了用户的密码信息
[root@huang ~]# tail -2 /etc/shadow huang:$6$W4EwW2dVgSLw/nlo$y3SEEWWBP7pit4GJPYro9RnxCPqsA0n810At9AmcjU05rGeOo/rGz/jW0NOuIvror4rT9XVD/LbK0TDsUhMuJ1::0:99999:7::: user1:!!:20223:0:99999:7::: #用户名:密码:用户创建时间:密码最短使用期限:密码最长使用期限:密码过期提醒时间:密码过期后的宽容时间:密码过期时间:没用
注意: !! 表示该用户没有设置密码。
! 表示用户密码被锁定,该用户无法登录操作系统
3)/etc/group
该文件保存了用户组的信息
[root@huang ~]# tail -2 /etc/group huang:x:1000:huang user1:x:1001: #组名:占位符:组ID:非基本组的组成员
4)/etc/gshadow
该文件保存了用户组的密码
5)/etc/login.defs
该文件可以设置密码过期时间,密码最大长度限制等内容。影响的是新创建的用户密码信息
[root@huang ~]# cat /etc/login.defs # # Please note that the parameters in this configuration file control the # behavior of the tools from the shadow-utils component. None of these # tools uses the PAM mechanism, and the utilities that use PAM (such as the # passwd command) should therefore be configured elsewhere. Refer to # /etc/pam.d/system-auth for more information. # # *REQUIRED* # Directory where mailboxes reside, _or_ name of file, relative to the # home directory. If you _do_ define both, MAIL_DIR takes precedence. # QMAIL_DIR is for Qmail # #QMAIL_DIR Maildir MAIL_DIR /var/spool/mail #MAIL_FILE .mail # Password aging controls: # # PASS_MAX_DAYS Maximum number of days a password may be used. # PASS_MIN_DAYS Minimum number of days allowed between password changes. # PASS_MIN_LEN Minimum acceptable password length. # PASS_WARN_AGE Number of days warning given before a password expires. # PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 5 PASS_WARN_AGE 7 # # Min/max values for automatic uid selection in useradd # UID_MIN 1000 UID_MAX 60000 # System accounts SYS_UID_MIN 201 SYS_UID_MAX 999 # # Min/max values for automatic gid selection in groupadd # GID_MIN 1000 GID_MAX 60000 # System accounts SYS_GID_MIN 201 SYS_GID_MAX 999 # # If defined, this command is run when removing a user. # It should remove any at/cron/print jobs etc. owned by # the user to be removed (passed as the first argument). # #USERDEL_CMD /usr/sbin/userdel_local # # If useradd should create home directories for users by default # On RH systems, we do. This option is overridden with the -m flag on # useradd command line. # CREATE_HOME yes # The permission mask is initialized to this value. If not specified, # the permission mask will be initialized to 022. UMASK 077 # This enables userdel to remove user groups if no members exist. # USERGROUPS_ENAB yes # Use SHA512 to encrypt password. ENCRYPT_METHOD SHA512
6)/etc/skel目录
作用: 用户创建时默认文件的模版目录
[root@huang ~]# cd /etc/skel [root@huang skel]# ls -a . .. .bash_logout .bash_profile .bashrc .mozilla
二、用户管理
1、useradd命令
创建一个新用户或更新默认新用户信息
语法:
useradd [选项] 用户名
选项:
-u :指定用户的UID。 -d :指定用户的家目录,而不采用默认创建在/home中的目录。不能是已存在的目录。 -s :指定用户的登录shell -M :创建用户时不创建家目录 -g :创建用户时指定基本组,不会创建用户的同名组 -G :创建用户时指定附加组,依然会创建同名组 -e :创建用户时,指定用户的失效时间
案例:
1、指定用户的UID
[root@huang skel]# useradd -u 9 user2 [root@huang skel]# tail -3 /etc/passwd huang:x:1000:1000:huang:/home/huang:/bin/bash user1:x:1001:1001::/home/user1:/bin/bash user2:x:9:1002::/home/user2:/bin/bash
2、指定用户家目录
[root@huang skel]# useradd -d /user3 user3 [root@huang skel]# tail -4 /etc/passwd huang:x:1000:1000:huang:/home/huang:/bin/bash user1:x:1001:1001::/home/user1:/bin/bash user2:x:9:1002::/home/user2:/bin/bash user3:x:1002:1003::/user3:/bin/bash [root@huang skel]# useradd -d /user3 user4 useradd:警告:此主目录已经存在。 不从 skel 目录里向其中复制任何文件。 [root@huang skel]# tail -5 /etc/passwd huang:x:1000:1000:huang:/home/huang:/bin/bash user1:x:1001:1001::/home/user1:/bin/bash user2:x:9:1002::/home/user2:/bin/bash user3:x:1002:1003::/user3:/bin/bash user4:x:1003:1004::/user3:/bin/bash
3、指定用户的登录shell
root@huang skel]# tail -5 /etc/passwd user1:x:1001:1001::/home/user1:/bin/bash user2:x:9:1002::/home/user2:/bin/bash user3:x:1002:1003::/user3:/bin/bash user4:x:1003:1004::/user3:/bin/bash user5:x:1004:1005::/home/user5:/sbin/nologin
4、创建用户时不创建家目录
[root@huang skel]# useradd -M user6 [root@huang skel]# tail -5 /etc/passwd user2:x:9:1002::/home/user2:/bin/bash user3:x:1002:1003::/user3:/bin/bash user4:x:1003:1004::/user3:/bin/bash user5:x:1004:1005::/home/user5:/sbin/nologin user6:x:1005:1006::/home/user6:/bin/bash [root@huang skel]# cd [root@huang ~]# cd /home [root@huang home]# ls -a . .. huang user1 user2 user5
5、创建程序用户
[root@huang home]# useradd -M -s /sbin/nologin user7 [root@huang home]# tail -5 /etc/passwd user3:x:1002:1003::/user3:/bin/bash user4:x:1003:1004::/user3:/bin/bash user5:x:1004:1005::/home/user5:/sbin/nologin user6:x:1005:1006::/home/user6:/bin/bash user7:x:1006:1007::/home/user7:/sbin/nologin [root@huang home]# ls -a . .. huang user1 user2 user5
6、创建用户时指定基本组
[root@huang home]# useradd -g user7 user8 [root@huang home]# useradd -g user7 user9 [root@huang home]# tail -5 /etc/passwd user5:x:1004:1005::/home/user5:/sbin/nologin user6:x:1005:1006::/home/user6:/bin/bash user7:x:1006:1007::/home/user7:/sbin/nologin user8:x:1007:1007::/home/user8:/bin/bash user9:x:1008:1007::/home/user9:/bin/bash
7、创建用户时指定附加组
[root@huang home]# useradd -G user7 user10 [root@huang home]# cat /etc/group |tail -9 huang:x:1000:huang user1:x:1001: user2:x:1002: user3:x:1003: user4:x:1004: user5:x:1005: user6:x:1006: user7:x:1007:user10 user10:x:1009: [root@huang home]# cat /etc/passwd |tail -9 user2:x:9:1002::/home/user2:/bin/bash user3:x:1002:1003::/user3:/bin/bash user4:x:1003:1004::/user3:/bin/bash user5:x:1004:1005::/home/user5:/sbin/nologin user6:x:1005:1006::/home/user6:/bin/bash user7:x:1006:1007::/home/user7:/sbin/nologin user8:x:1007:1007::/home/user8:/bin/bash user9:x:1008:1007::/home/user9:/bin/bash user10:x:1009:1009::/home/user10:/bin/bash
8、创建用户时,指定用户的失效时间。
[root@huang home]# useradd -e 2025-5-20 user11 [root@huang home]# tail -5 /etc/shadow user7:!!:20223:0:99999:7::: user8:!!:20223:0:99999:7::: user9:!!:20223:0:99999:7::: user10:!!:20223:0:99999:7::: user11:!!:20223:0:99999:7::20228: [root@huang home]# date -d "1970-01-01 + 20223 days" 2025年 05月 15日 星期四 00:00:00 CST #第三列显示的是最后一次密码修改的时间,以1970年1月1日起算,按天数为单位,可以用命令[date -d "1970-01-01 + 20223 days”]转换#
2、userdel
删除用户账户和相关文件
语法:
userdel [选项] 用户名
选项:
-r, --remove :用户主目录中的文件将随用户主目录和用户邮箱一起删除。在其它文件系统中的文件必须手 动搜索并删除。
案例:
删除用户的同时删除在创建时产生的文件。
[root@huang mail]# userdel -r user1
3、passwd命令
更改用户的密码。root用户使用时,可以更改所有用户的密码。普通用户使用时,只能更改本身的密码。
语法:
passwd [选项] 用户名
[root@huang ~]# useradd user1 [root@huang ~]# passwd user1 更改用户 user1 的密码 。 新的 密码: 无效的密码: 密码是一个回文 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。
选项:
-l(小写L), --lock :锁定用户密码。 -S :查看密码的锁定状态 -u,--unlock :解除用户密码的锁定状态 -d, --delete :将用户密码清空 -e,--expire :直接让密码失效,下次登录时必须更改 --stdin :非交互式修改密码。
案例:
1、设置用户密码
[root@huang ~]# passwd user1 更改用户 user1 的密码 。 新的 密码: 无效的密码: 密码是一个回文 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 #用户输入passwd命令后直接回车,表示更改本身的密码。
2、锁定用户密码
[root@huang ~]# passwd -l user1 锁定用户 user1 的密码 。 passwd: 操作成功
3、查看密码的锁定状态
[root@huang ~]# tail -1 /etc/shadow user1:!!$6$e3V9TK2X$sIZrQpB5aocKElcSQ90X6GBFMzDsAD4QLMYF5rbf0Vxqk5IFnSYs2gqb3xV6QckusYTUUWPgtfsHwktiSuZVL1:20223:0:99999:7:::
4、解除密码的锁定状态
[root@huang ~]# passwd -u user1 解锁用户 user1 的密码。 passwd: 操作成功
5、清空用户密码
[root@huang ~]# passwd -d user1 清除用户的密码 user1。 passwd: 操作成功 [root@huang ~]# tail -1 /etc/shadow user1::20223:0:99999:7:::
6、强制密码失效
[root@huang ~]# passwd -e user1 正在终止用户 user1 的密码。 passwd: 操作成功 但登录用户时仍然要输入原来的密码,之后重设密码,密码不能与原来相同
7、非交互式修改用户密码
[root@huang ~]# echo 2 | passwd --stdin user1 更改用户 user1 的密码 。 passwd:所有的身份验证令牌已经成功更新。
4、usermod命令
修改一个用户账户的属性。
语法:
usermod [选项] 用户名
选项:
-u :修改用户的UID。 -d :修改用户的家目录,而不采用默认创建在/home中的目录。 -s :修改用户的登录shell -g :修改用户基本组 -G :修改用户附加组 -e :修改用户的失效时间。 -a, --append :追加用户到一个附加组 -L, --lock :锁定用户 -U, --unlock :解锁用户
案例:(此命令-U、-L不能配合使用)
1、锁定用户
[root@huang ~]# usermod -L user1
2、解锁账户
[root@huang ~]# usermod -U user1
3、追加用户到一个附加组
[root@huang ~]# useradd user2 [root@huang ~]# usermod -a user2 -G user1 [root@huang ~]# id user2 uid=1002(user2) gid=1002(user2) 组=1002(user2),1001(user1)
5、chpasswd命令
批量更新密码。
语法:
chpasswd [文本]
案例:
批量修改用户密码
#创建用户密码的文本文件 vim 2.txt user1:123.com user2:1234.com #修改密码 [root@huang ~]# cat 2.txt | chpasswd
6、chage命令
更改用户密码过期信息,影响的时现有用户。
语法:
chage [选项] 用户名
选项:
-l, --list :显示账户年龄信息 -m, --mindays :修改密码的最短使用期限 -M, --maxdays :修改密码的最长使用期限 -W, --warndays :修改密码过期的提示时间
案例:
1、查看用户的密码信息
[root@huang ~]# chage -l user1 最近一次密码修改时间 :5月 15, 2025 密码过期时间 :从不 密码失效时间 :从不 帐户过期时间 :从不 两次改变密码之间相距的最小天数 :0 两次改变密码之间相距的最大天数 :99999 在密码过期之前警告的天数 :7
2、修改密码最短使用期限
[root@huang ~]# chage -m 3 user1 [root@huang ~]# chage -l user1 最近一次密码修改时间 :5月 15, 2025 密码过期时间 :从不 密码失效时间 :从不 帐户过期时间 :从不 两次改变密码之间相距的最小天数 :3 两次改变密码之间相距的最大天数 :99999 在密码过期之前警告的天数 :7
三、组管理
1、groupadd命令
创建新组
语法:
groupadd [选项] 组名
选项:
-g, --gid GID :指定 GID
案例:
创建新组
[root@huang ~]# groupadd g1 [root@huang ~]# tail -1 /etc/group g1:x:1008: [root@huang ~]# groupadd -g 12345 g2 [root@huang ~]# tail -1 /etc/group g2:x:12345:
2、groupdel命令
删除组
语法:
groupdel [选项] 组名
选项:
-f :强制删除,但不建议
案例:
删除组
[root@huang ~]# groupdel g2 [root@huang ~]# tail -1 /etc/group g1:x:1008:
3、groupmod命令
修改组属性
语法:
groupmod [选项] 组名
选项:
-g, --gid GID :修改GID
案例:
修改组的GID
[root@huang ~]# tail /etc/group gnome-initial-setup:x:983: sshd:x:74: slocate:x:21: avahi:x:70: postdrop:x:90: postfix:x:89: ntp:x:38: tcpdump:x:72: huang:x:1000:huang g1:x:1001: [root@huang ~]# groupmod -g 24443 g1 [root@huang ~]# tail /etc/group gnome-initial-setup:x:983: sshd:x:74: slocate:x:21: avahi:x:70: postdrop:x:90: postfix:x:89: ntp:x:38: tcpdump:x:72: huang:x:1000:huang g1:x:24443:
4、gpasswd命令
向组内添加成员
语法:
gpasswd [选项] 组名
选项:
-a, --add USER :向组 GROUP 中添加用户 USER,单个添加 -M, --members USER,... :设置组 GROUP 的成员列表,批量添加,**覆盖原有成员**
案例:
1)单个添加
[root@huang ~]# tail /etc/group ntp:x:38: tcpdump:x:72: huang:x:1000:huang g1:x:24443: g2:x:24444: g3:x:24445: g4:x:24446: user1:x:1001: user2:x:1002: user3:x:1003: [root@huang ~]# gpasswd -a user1 g1 正在将用户“user1”加入到“g1”组中 [root@huang ~]# tail /etc/group ntp:x:38: tcpdump:x:72: huang:x:1000:huang g1:x:24443:user1 g2:x:24444: g3:x:24445: g4:x:24446: user1:x:1001: user2:x:1002: user3:x:1003:
2)批量添加
[root@huang ~]# gpasswd -M user2,user3 g1 [root@huang ~]# tail /etc/group ntp:x:38: tcpdump:x:72: huang:x:1000:huang g1:x:24443:user2,user3 g2:x:24444: g3:x:24445: g4:x:24446: user1:x:1001: user2:x:1002: user3:x:1003:
四、用户切换与sudo提权
1、su命令
切换用户,从root用户切换到普通用户不需要密码。普通用户之间切换需要密码。
语法:
su [-] 用户名
选项:
-, -l, --login :切换目录用户的登录shell -S :指定shell切换
su 与 su - 的对比
#su 不会切换目标用户的登录shell #su -会切换到目标用户的登录shell
[root@huang ~]# su huang [huang@huang root]$ pwd /root [huang@huang root]$ mkdir 11 mkdir: 无法创建目录"11": 权限不够 [huang@huang root]$ cd [huang@huang ~]$ exit exit [root@huang ~]# pwd /root [root@huang ~]# su - huang 上一次登录:四 5月 15 19:25:32 CST 2025pts/0 上 [huang@huang ~]$ pwd /home/huang
2、sudo命令
sudo用来进行普通用户提升权限
语法:
sudo [选项] 参数
选项:
i切换到指定用户的登录shell。采用本身的密码提供验证。
注意:sudo -i root,切换到root,必须存在于sudoers文件中的普通用户才有权限。
案例:
提升普通用户使用命令的权限
[user1@huang ~]$ ifconfig ens34 192.168.1.2/24 SIOCSIFADDR: 不允许的操作 SIOCSIFFLAGS: 不允许的操作 SIOCSIFNETMASK: 不允许的操作 [user1@huang ~]$ sudo ifconfig ens34 192.168.1.2/24 [user1@huang ~]$ ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.58.134 netmask 255.255.255.0 broadcast 192.168.58.255 inet6 fe80::20c:29ff:fe45:9119 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:45:91:19 txqueuelen 1000 (Ethernet) RX packets 3867 bytes 343183 (335.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6433 bytes 6901194 (6.5 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::20c:29ff:fe45:9123 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:45:91:23 txqueuelen 1000 (Ethernet) RX packets 253 bytes 17510 (17.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 33 bytes 4479 (4.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
五、用户登录信息查看
1、id命令
查看用户的基本属性,用户UID,基本组及附加组
语法:
id [OPTION]... [USER]
案例:
[root@huang ~]# id user1 uid=1001(user1) gid=1001(user1) 组=1001(user1)
2、w命令
查看当前系统登录详情
语法:
w [options]
选项:
-h :不显示表头
案例:
[root@huang ~]# w 20:16:36 up 27 min, 3 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root :0 :0 19:49 ?xdm? 17.12s 0.15s /usr/libexec/gnome-s root pts/0 :0 19:49 27:08 0.01s 0.01s bash root pts/1 192.168.58.1 19:59 4.00s 0.02s 0.00s w
3、who命令
显示当前系统登录的摘要信息
选项:
-b, --boot :上次系统启动时间 -u, --users :列出已登录的用户
案例:
1)查看系统的启动时间
[root@huang ~]# who -b 系统引导 2025-05-15 19:48
2)查看系统登录用户
[root@huang ~]# who -u root :0 2025-05-15 19:49 ? 2162 (:0) root pts/0 2025-05-15 19:49 00:32 2772 (:0) root pts/1 2025-05-15 19:59 . 3759 (192.168.58.1
4、whoami命令
显示当前登录用户的名称
语法:
whoami
案例:
[root@huang ~]# whoami root
5、finger命令
查看用户登录信息,默认系统不存在该命令,需要安装
[root@localhost ~]# yum install -y finger
语法:
finger
案例:
[root@localhost ~]# finger Login Name Tty Idle Login Time Office Office Phone Host root root *:0 Apr 8 19:28 (:0) root root pts/0 11 Apr 8 19:28 (:0) root root pts/1 7 Apr 8 19:35 (192.168.115.1) root root pts/2 Apr 8 19:30 (192.168.115.1)
6、last命令
last命令可以查看登录用户列表,last命令实际上从日志文件/var/log/wtmp读取信息并显示用户最近的登录列表。此命令普通用户也可以执行。
语法:
last
案例:
[root@huang ~]# last root pts/1 192.168.58.1 Thu May 15 19:59 still logged in root pts/1 192.168.58.1 Thu May 15 19:50 - 19:59 (00:09) root pts/0 :0 Thu May 15 19:49 still logged in root :0 :0 Thu May 15 19:49 still logged in reboot system boot 3.10.0-1160.el7. Thu May 15 19:48 - 20:17 (00:29) root pts/1 :0 Thu May 15 19:47 - 19:47 (00:00) root :0 :0 Thu May 15 19:47 - down (00:00) root pts/0 192.168.58.1 Thu May 15 19:08 - down (00:39) reboot system boot 3.10.0-1160.el7. Thu May 15 19:08 - 19:48 (00:39) root pts/0 :0 Thu May 8 20:20 - crash (6+22:48) root :0 :0 Thu May 8 20:18 - crash (6+22:49) reboot system boot 3.10.0-1160.el7. Thu May 8 20:18 - 19:48 (6+23:30) root pts/0 :0 Thu May 8 18:54 - 19:53 (00:59) root pts/0 :0 Thu May 8 18:53 - 18:54 (00:01) root pts/0 :0 Thu May 8 18:52 - 18:52 (00:00) root pts/0 :0 Thu May 8 18:51 - 18:52 (00:00) root pts/2 192.168.58.1 Thu May 8 18:10 - down (01:42) root pts/1 192.168.58.1 Thu May 8 17:41 - 19:31 (01:49) root pts/0 :0 Thu May 8 17:38 - 18:51 (01:13) root :0 :0 Thu May 8 17:27 - down (02:25) reboot system boot 3.10.0-1160.el7. Thu May 8 17:27 - 19:53 (02:26) root pts/1 192.168.58.1 Thu May 8 15:19 - down (02:07) root pts/0 :0 Thu May 8 15:02 - 17:27 (02:24) root pts/0 :0 Thu May 8 22:58 - 15:02 (-7:-56) root :0 :0 Thu May 8 22:57 - down (-5:-30) reboot system boot 3.10.0-1160.el7. Thu May 8 22:56 - 17:27 (-5:-29) root :0 :0 Thu May 8 19:07 - crash (03:49) reboot system boot 3.10.0-1160.el7. Thu May 8 19:06 - 17:27 (-1:-39) root :0 :0 Thu May 8 03:03 - down (00:10) reboot system boot 3.10.0-1160.el7. Thu May 8 03:02 - 03:13 (00:11) reboot system boot 3.10.0-1160.el7. Wed May 7 23:57 - 03:13 (03:16) root pts/0 :0 Wed May 7 23:26 - 15:35 (-7:-51) root :0 :0 Wed May 7 23:24 - crash (00:32) reboot system boot 3.10.0-1160.el7. Wed May 7 23:19 - 03:13 (03:53) wtmp begins Wed May 7 23:19:53 2025
7、lastb命令
lastb命令可以从日志文件/var/log/btmp中读取信息,并显示用户登录失败的记录用于发现系统登录异常。此命令要求root用户才可以执行,lastb可用参数与last命令参数相同。
语法:
last
案例:
[root@huang ~]# lastb 1 :0 :0 Thu May 15 19:47 - 19:47 (00:00) 1 :0 :0 Thu May 15 19:47 - 19:47 (00:00) 1 :0 :0 Thu May 15 19:47 - 19:47 (00:00) btmp begins Thu May 15 19:47:04 2025
8、lastlog命令
统计当前系统中存在用户的登录情况
语法:
lastlog
案例:
root@huang ~]# lastlog 用户名 端口 来自 最后登陆时间 root pts/1 192.168.58.1 四 5月 15 19:59:44 +0800 2025 bin **从未登录过** daemon **从未登录过** adm **从未登录过** lp **从未登录过** sync **从未登录过** shutdown **从未登录过** halt **从未登录过** mail **从未登录过** operator **从未登录过** games **从未登录过** ftp **从未登录过** nobody **从未登录过** systemd-network **从未登录过** dbus **从未登录过** polkitd **从未登录过** libstoragemgmt **从未登录过** colord **从未登录过** rpc **从未登录过** saned **从未登录过** saslauth **从未登录过** abrt **从未登录过** setroubleshoot **从未登录过** rtkit **从未登录过** pulse **从未登录过** radvd **从未登录过** chrony **从未登录过** unbound **从未登录过** qemu **从未登录过** tss **从未登录过** usbmuxd **从未登录过** geoclue **从未登录过** gluster **从未登录过** gdm :0 四 5月 15 19:49:00 +0800 2025 rpcuser **从未登录过** nfsnobody **从未登录过** gnome-initial-setup **从未登录过** sshd **从未登录过** avahi **从未登录过** postfix **从未登录过** ntp **从未登录过** tcpdump **从未登录过** huang pts/0 四 5月 15 19:26:56 +0800 2025 user1 pts/1 四 5月 15 20:07:54 +0800 2025 user2 **从未登录过** user3 **从未登录过**