gpasswd

gpasswd指令用来管理组文件“/etc/group”和“/etc/gshadow”,每个组可以设置管理员、组员、密码。系统管理员可以使用-A选项定义组管理员,使用-M选项定义成员。他们拥有组管理员和成员的所有权利。由具有组名的组管理员调用的gpasswd只提示输入组的新密码。如果设置了密码,则成员仍然可以在没有密码的情况下使用newgrp(1),而非成员必须提供密码。

组密码是一个固有的安全问题,因为允许多个人知道密码。然而,群组是允许不同用户之间合作的有用工具。

警告,此工具仅对“/etc/group”和“/etc/gshadow”文件进行操作。因此,您不能更改任何NIS或LDAP组。这必须在相应的服务器上执行。

此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

 

1、语法

     gpasswd [选项]  group

 

2、选项列表

选项

说明

--help

显示帮助文档

--version

显示命令版本

-a | --add user

向组中添加用户

-d | --delete user

删除成员

-r | --remove-password

删除组密码

-R | --restrict

限制对命名组的访问。只允许组成员使用newgrp加入命名组。

-M |  --members user,...

向组添加多个成员

-A | --administrators user,..

设置组管理员

 

3、配置

下面“/etc/login.defs”中的配置变量更改了该工具的行为:

     ENCRYPT_METHOD(string),这定义了用于加密密码的系统默认加密算法(如果命令行上没有指定算法)。可用的算法有:DES(默认)、MD5、SHA256、SHA512。注意:此参数重写MD5_CRYPT_ENAB变量。

     MAX_MEMBERS_PER_GROUP(number),每个组条目的最大成员数。达到最大值时,在/etc/group中启动一个新的组条目(行)(具有相同的名称、相同的密码和相同的GID)。默认值为0,这意味着组中的成员数没有限制。此功能(拆分组)允许限制组文件中的行长度。这对于确保NIS组的行不大于1024个字符非常有用。如果你需要执行这样的限制,你可以使用25。注意:拆分组可能不支持所有的工具(即使在阴影工具集中)。除非你真的需要这个变量,否则你不应该使用它。

MD5_CRYPT_ENAB(boolean),指示是否必须使用基于MD5的算法加密密码。如果设置为“是”,新密码将使用基于MD5的算法进行加密,该算法与FreeBSD最新版本使用的算法兼容。它支持无限长度的密码和更长的盐字符串。如果您需要将加密密码复制到其他不了解新算法的系统,则设置为“否”。默认为否。该变量由ENCRYPT_METHOD变量或用于配置加密算法的任何命令行选项取代。不推荐这个变量。您应该使用ENCRYPT_METHOD。

     SHA_CRYPT_MIN_ROUNDS(number)、SHA_CRYPT_MAX_ROUNDS(number),当Encrypt_Method设置为SHA 256或SHA 512时,默认情况下这将定义加密算法使用的SHA轮数(当命令行上未指定轮数时)。有很多回合,这是比较困难的暴力强制密码。但是还要注意的是,需要更多的CPU资源来对用户进行身份验证。如果没有指定,libc将选择默认的回合数(5000)。数值必须在1000-999999999范围内。如果只设置了SHA_CRYPT_MIN_ROUNDS或SHA_CRYPT_MAX_ROUNDS中的一个,则将使用此值。如果SHA_CRYPT_MIN_ROUNDS>SHA_CRYPT_MAX_ROUNDS,则将使用最高值。

4、文件

     /etc/group,组账户信息。

     /etc/gshadow,安全组账户信息。

 

5、实例

1)将用户user01 添加到组weijie

[root@localhost david]# gpasswd -a user01 weijie         //向组添加用户

Adding user user01 to group weijie

[root@localhost david]# cat /etc/group                    //查看组信息,已经成功添加

weijie:x:501:user01

2)设置组管理员

[root@localhost david]# gpasswd -A weijie weijie          //设置管理员

[root@localhost david]# cat /etc/gshadow                  //查看组信息,管理员已经设置

 weijie:!:weijie:

Linux基础命令---管理组gpasswd的更多相关文章

  1. Linux基础命令---添加组groupadd、删除组groupdel

    groupadd 指定群组名称来建立新的群组账号,需要时可以从系统中取得新的群组值. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. ...

  2. Linux基础命令---验证组文件grpck

    grpck grpck指令可以验证组文件“/etc/group”和“/etc/gshadow”的完整性.检查的内容包括:正确的字段数.唯一有效的组名称.有效的组标识符.成员和管理员的有效列表.“/et ...

  3. 【Python之路】第一篇--Linux基础命令

    pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 .   表示当前目录 ..  表示上级目录 /  表示根目录 ls ...

  4. Linux基础命令和文件权限

    Linux命令与文件权限 Linux基础命令   reboot  重启   cd         切换目录   cd ..     回到上一级目录   cd ~      回到主目录   cd /  ...

  5. [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

    linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...

  6. 第四节,Linux基础命令

    第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令         ...

  7. linux基础命令一

    linux基础命令一 1.date命令 date命令介绍:显示或者设置系统日期 date命令的语法: 显示日期:date  [options...]  [+FORMAT] FORMAT:为显示日期的格 ...

  8. 常用的linux基础命令

    常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...

  9. Linux基础命令回顾

    前言 说到linux基础命令,网上一搜一箩筐,想学也有很多教程,如果你不幸看到此篇文章,想看就认真看完,毕竟你点进来了不是嘛? 我每次写的文章都是为了分享自己的学习成果或重要知识点,希望能帮助更多的人 ...

随机推荐

  1. MySQL 5.5 服务器变量详解(一)

    autocommit={0|1} 设定MySQL事务是否自动提交,1表示立即提交,0表示需要显式提交.作用范围为全局或会话,可用于配置文件中(但在5.5.8之前的版本中不可用于配置文件),属于动态变量 ...

  2. Mysql事务原理介绍

    事务 一个事务会涉及到大量的cpu计算和IO操作,这些操作被打包成一个执行单元,要么同时都完成,要么同时都不完成. 事务是一组原子性的sql命令或者说是一个独立的工作单元,如果数据库引擎能够成功的对数 ...

  3. c#获取Amr文件的时长(毫秒)亲测有效

    /// <summary> /// c#获取Amr文件的时长(毫秒) /// </summary> /// <param name="fileName" ...

  4. vue中常用的两中页面刷新的方式和页面回退

    这个方法的参数是一个整数,意思是在 history 记录中向前或者后退多少步,类似 window.history.go(n) router.push(location) 想要导航到不同的 URL,则使 ...

  5. boost生成json中的put操作

    ptree中的put操作后可以加<>,指定类型,不加<>采用默认的类型,感觉不加反而更好用.用法见下面例子. #include <iostream> #includ ...

  6. mybatis test条件判断 如何引用 传入的 list参数中的map中的值

    <select id="query" resultType="map"> select * from ${tbName} <where> ...

  7. 《全栈性能Jmeter》-4JMeter脚本开发

  8. 第一次java测试有感

    今天下午的Java测试体会深刻,真的可能我一暑假学的还没有今天一下午学的多.但通过今天一下午地与Java近距离接触 ,我感受到我与真正的Java距离还是特别远的.以后我的路还很长,我对Java仍然还是 ...

  9. usermod命令详解

    转载自:http://blog.51cto.com/urchin/987186 usermod - 修改用户帐户信息 modify a user account usermod [options] u ...

  10. 查看Andorid应用是32位还是64位

    adb shell cat /proc/进程pid/maps 查看linker位数即可