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:不仅可以对组密码进行设置,还可以对组用户进行增加、删除、设置管理员等。

相关推荐
小北方城市网4 分钟前
微服务接口设计实战指南:高可用、易维护的接口设计原则与规范
java·大数据·运维·python·微服务·fastapi·数据库架构
可爱又迷人的反派角色“yang”5 分钟前
k8s(五)
linux·运维·docker·云原生·容器·kubernetes
爱吃生蚝的于勒10 分钟前
【Linux】进程间通信之匿名管道
linux·运维·服务器·c语言·数据结构·c++·vim
好奇心害死薛猫15 分钟前
飞牛OS开机自动挂载SMB
linux
SHolmes185427 分钟前
Python all函数 判断是否同时满足多个条件
java·服务器·python
inksci27 分钟前
Python 中使用 SQL 连接池
服务器·数据库·python
fiveym31 分钟前
持续交付与持续部署(CD)深度解析:定义差异、流程架构与交付模式对比
运维·ci/cd·架构
PascalMing33 分钟前
ubuntu 24.04安装dotnet 10日志
linux·运维·ubuntu·dotnet10
optimistic_chen38 分钟前
【Docker入门】容器技术
linux·运维·服务器·docker·容器
Lueeee.40 分钟前
2.智梯云枢・全维管控广告系统——解决串口卡顿 + 优化稳定性
linux·运维·服务器