groupadd [-r] 用户组名称
常用选项:
-g GID——指定新用户组的组标识号(GID),默认值是已有的最大的GID加1。
-r——建立一个系统组账号,与-g不同时使用时,则分配一个1~999的GID。
#向系统中添加一个组ID为1000,组名为group1的新组
sudo groupadd -g 1000 group1
groupmod 选项 用户组
-g GID——为用户组指定新的组标识号。
-n 新用户组——将用户组的名字改为新名字修改用户组的名称和用户组的GID值。
#将组group1的GID修改为2000,组名修改为group11。
#修改 GID
sudo groupmod -g 2000 group1
#修改组名
sudo groupmod -n group11 group1
gpasswd [选项] [用户] [组]
-r 删除组密码
-a——把用户加入组
-d——把用户从组中删除。
-M——可同时添加多个用户
-A——给组指派管理员。
#将zhang3、li4用户同时加入group1组,并指派zhang3为管理员
#使用 usermod 命令将用户添加到 group1 组
sudo usermod -aG group1 zhang3
sudo usermod -aG group1 li4
如果 group1 是一个需要特殊权限的组(例如 sudo 权限),你可以将 zhang3 添加到 sudo 组(假设你的系统使用的是基于 Debian 的发行版)
sudo usermod -aG sudo zhang3
基于 Red Hat 的系统,可以使用 wheel 组:
sudo usermod -aG wheel zhang3
groupdel 用户组名
sudo groupdel group11
#显示出某个用户的详细信息
[root@node13 ~]# id centos
uid=1042(centos) gid=1042(centos) groups=1042(centos)
#显示出用户的所属组信息
[root@node13 ~]# useradd -g centos -G root admin
[root@node13 ~]# groups admin
admin : centos root
查看当前登录系统的用户
[root@node12 ~]# users
root
列出目前与过去登入系统的用户相关信息,该命令默认会去读取/var/log/wtmp文件,并把该文件记录的登入系统的用户名单全部显示出来
#显示最近的两条登录信息
[root@node13 ~]# last -2
centos pts/1 192.168.168.1 Mon May 9 16:25 - 16:25 (00:00)
root pts/0 192.168.168.1 Mon May 9 15:38 still logged in
#显示/var/log/wtmp文件中最近的两条登录信息
[root@node13 ~]# last -f /var/log/wtmp -n 3
centos pts/1 192.168.168.1 Mon May 9 16:25 - 16:25 (00:00)
root pts/0 192.168.168.1 Mon May 9 15:38 still logged in
reboot system boot 4.18.0-240.el8.x Mon May 9 15:38 still running
如果想要知道每个账号的最近登录时间,则可使用lastlog查看,该命令会读取/var/log/lastlog文件。
[root@node13 ~]# lastlog
Username Port From Latest
root pts/0 192.168.168.1 Mon May 9 15:38:52 +0800 2022
xiaoming03 **Never logged in**
bin **Never logged in**
daemon **Never logged in**
第一行 | 当前的系统时间、开机多久、登录到系统中的用户数和系统平均负载。平均负载是指在1分钟、5分 钟、15分钟内系统负载情况 |
---|---|
第二行 | USER:表示登录系统的用户 TTY:表示用户使用的TTY名称FROM:表示用户从哪里登录进来 LOGIN@:用户登录的日期和时间idle:表示空闲时间 JCPU:在某段时间内所有与该终端相关的进程任务所耗费的cpu时间 PCPU:当前活动进程使用的系统时间 WHAT:表示当前用户执行的进程名称和选项 |
第三行以后 | 每行代表一个用户登录的信息 |
[root@localhost ~]# w
05:03:24 up 6:23, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 21:34 7:28m 1.08s 1.08s -bash
root pts/1 192.168.133.1 02:08 4.00s 0.59s 0.05s w
who 命令 的输出格 式 | 名 称 | 状态 | 终端 | 时 间 | 活动 | 进程 标识 | 主机名 |
---|---|---|---|---|---|---|---|
说明 | 用 户 的 登 录 名 | 表明终 端是否 对用户 都是可 写的 | 类似于 pts/1、 pts/2等 | 用 户 登 录 系 统 的 时 间 | 某个用户在自己的终端上最 后一次活动发生以来到现在 的时间,如果是".",表示一 分钟内的终端活动 | 用户 登录 shell 的进 程id | 登录到 linux 系统上 的客户 端机器 标识 |
[root@node13 ~]# who
root pts/0 2022-05-09 15:38 (192.168.168.1)
[root@node13 ~]# who -s 仅显示名称、终端、时间字段信息和主机名。这是who默认的输出
root pts/0 2022-05-09 15:38 (192.168.168.1)
[root@node13 ~]# who -a
system boot 2022-05-09 15:38
run-level 3 2022-05-09 15:38
LOGIN tty1 2022-05-09 15:38 996 id=tty1
root + pts/0 2022-05-09 15:38 . 1510 (192.168.168.1)
pts/1 2022-05-09 16:25 1661 id=ts/1 term=0
exit=0
# 列出系统最近启动的日期
[root@node13 ~]# who -b
system boot 2022-05-09 15:38
#列出关于当前终端的信息
[root@node13 ~]# who -m
root pts/0 2022-05-09 15:38 (192.168.168.1)第八章 Linux文件系统权限
[root@node13 ~]# who am i
root pts/0 2022-05-09 15:38 (192.168.168.1)
[root@node13 ~]# who am I
root pts/0 2022-05-09 15:38 (192.168.168.1)
#列出在本地系统上的用户和用户数的清单
[root@node13 ~]# who -q
root
# users=1
#显示当前系统的运行级别
[root@node13 ~]# who -r
run-level 3 2022-05-09 15:38
#显示当前每个用户的用户名、登录终端、登录时间、终端活动、进程和主机
[root@node13 ~]# who -u
名
root pts/0 2022-05-09 15:38 . 1510 (192.168.168.1)
#显示tty终端的状态,“+”表示对任何人可写,“-”表示仅对root用户或所有者可写,“?”表示遇到终端故障
[root@node13 ~]# who -T
root + pts/0 2022-05-09 15:38 (192.168.168.1)
#和-T一样
[root@node13 ~]# who -w
root + pts/0 2022-05-09 15:38 (192.168.168.1)