Linux基础命令[27]-gpasswd

文章目录

    • [1. gpasswd 命令说明](#1. gpasswd 命令说明)
    • [2. gpasswd 命令语法](#2. gpasswd 命令语法)
    • [3. gpasswd 命令示例](#3. gpasswd 命令示例)
      • [3.1 不加参数](#3.1 不加参数)
      • [3.2 -a(将用户加入组)](#3.2 -a(将用户加入组))
      • [3.3 -d(从组中删除用户)](#3.3 -d(从组中删除用户))
      • [3.4 -r(删除组密码)](#3.4 -r(删除组密码))
      • [3.5 -M(多个用户一起加入组)](#3.5 -M(多个用户一起加入组))
      • [3.6 -A(设置组管理员用户)](#3.6 -A(设置组管理员用户))
    • [4. 总结](#4. 总结)

1. gpasswd 命令说明

gpasswd:用于管理用户组的密码文件,也可以将用户添加到一个组中,或删除组中的用户,也可以为一个组设置或更改密码。基本信息如下:

shell 复制代码
Usage: gpasswd [option] GROUP

Options:
  -a, --add USER                add USER to GROUP
  -d, --delete USER             remove USER from GROUP
  -h, --help                    display this help message and exit
  -Q, --root CHROOT_DIR         directory to chroot into
  -r, --delete-password         remove the GROUP's password
  -R, --restrict                restrict access to GROUP to its members
  -M, --members USER,...        set the list of members of GROUP
  -A, --administrators ADMIN,...
                                set the list of administrators for GROUP
Except for the -A and -M options, the options cannot be combined.

基本参数如下:

选项 作用
-a, --add USER 将用户添加到组
-d, --delete USER 从组中删除用户
-h, --help 显示帮助消息并退出
-Q, --root CHROOT_DIR 要导入的目录
-r, --delete-password 删除组的密码
-R, --restrict 将对组的访问权限限制为其成员
-M, --members USER,... 设置组的成员列表
-A, --administrators ADMIN,... 设置组的管理员列表

2. gpasswd 命令语法

shell 复制代码
gpasswd [option] GROUP

3. gpasswd 命令示例

先创建了一个用户 t20,同时创建了用户组 t20。/etc/group 里面是组信息,/etc/gshadow 是组密码文件。

shell 复制代码
[root@loaclhost home]# id t20
uid=1012(t20) gid=13001(t20) groups=13001(t20)
[root@loaclhost home]# tail -3 /etc/group
sysgrp:x:980:
t111:x:13000:
t20:x:13001:
[root@loaclhost home]# tail -3 /etc/gshadow
sysgrp:!::
t111:!::
t20:!::
[root@loaclhost home]# 

3.1 不加参数

设置组密码

shell 复制代码
[root@loaclhost home]# gpasswd t20
Changing the password for group t20
New Password: 
Re-enter new password: 
[root@loaclhost home]# tail -3 /etc/gshadow
sysgrp:!::
t111:!::
t20:$1$UUCoI/q.$U5lwWl.p6r0IZwdT/eGTV0::
[root@loaclhost home]# 

3.2 -a(将用户加入组)

shell 复制代码
[root@loaclhost home]# ls
aaa  demo1  demo2  root2  t20  tuser15
[root@loaclhost home]# id tuser15
uid=1011(tuser15) gid=1011(tuser15) groups=1011(tuser15)
[root@loaclhost home]# gpasswd -a tuser15 t20
Adding user tuser15 to group t20
[root@loaclhost home]# id tuser15
uid=1011(tuser15) gid=1011(tuser15) groups=1011(tuser15),13001(t20)
[root@loaclhost home]# 

3.3 -d(从组中删除用户)

shell 复制代码
[root@loaclhost home]# ls
aaa  demo1  demo2  root2  t20  tuser15
[root@loaclhost home]# id tuser15
uid=1011(tuser15) gid=1011(tuser15) groups=1011(tuser15),13001(t20)
[root@loaclhost home]# gpasswd -d tuser15 t20
Removing user tuser15 from group t20
[root@loaclhost home]# id tuser15
uid=1011(tuser15) gid=1011(tuser15) groups=1011(tuser15)
[root@loaclhost home]# 

3.4 -r(删除组密码)

shell 复制代码
[root@loaclhost home]# tail -3 /etc/gshadow
sysgrp:!::
t111:!::
t20:$1$UUCoI/q.$U5lwWl.p6r0IZwdT/eGTV0::
[root@loaclhost home]# gpasswd -r t20
[root@loaclhost home]# tail -3 /etc/gshadow
sysgrp:!::
t111:!::
t20:::
[root@loaclhost home]# 

3.5 -M(多个用户一起加入组)

shell 复制代码
[root@loaclhost home]# ls
aaa  demo1  demo2  root2  t20  tuser15
[root@loaclhost home]# id demo1
uid=1013(demo1) gid=1008(demo1) groups=1008(demo1)
[root@loaclhost home]# id demo2
uid=1010(demo2) gid=1010(demo2) groups=1010(demo2)
[root@loaclhost home]# gpasswd -M demo1,demo2 t20
[root@loaclhost home]# id demo1
uid=1013(demo1) gid=1008(demo1) groups=1008(demo1),13001(t20)
[root@loaclhost home]# id demo2
uid=1010(demo2) gid=1010(demo2) groups=1010(demo2),13001(t20)
[root@loaclhost home]# 

3.6 -A(设置组管理员用户)

shell 复制代码
[root@loaclhost home]# gpasswd -A t20 t20

4. 总结

gpasswd:不仅可以对组密码进行设置,还可以对组用户进行增加、删除、设置管理员等。

相关推荐
戴为沐20 小时前
Linux内存扩容指南
linux
zylyehuo1 天前
Linux 彻底且安全地删除文件
linux
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜4 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https