极北之地,兴安之雪,老骥伏枥转战Linux运维,关于用户组管理命令,看似简单,实际也简单,但应用起来,总会有力不从心之处,今天学习一下groupadd,groupdel,groupmod,gpasswd,newgrp等命令,拓展学习一下passwd等命令。

系统:CentOS 7

身份:管理员:root,一般用户satman、szp

本文没有使用sudo命令,大牛勿喷!!

用户组group:Linux系统每个用户都有一个基本的用户组,不同的操作系统可能不同,这点我还不清楚,目前只学过CentOS,该系统的默认,会给每个用户在默认情况下分配一个与用户名同名的group,作为基本组,附加组要用户自己指定。

所谓的组,在我看来,就像一个人,比如兴安雪本人,我自身属于一个用户,我的身份证就是这个用户的标识,但我还有户口本,在为结婚之前,我的户口本由于上学等原因迁出,户口本上只有我一个人,那这个户口本就是我的用户组,也是基本组,我结婚了,有了结婚证,那这个结婚证就是我的附加组,我结婚以后,岳父岳母等人也成了我的家人,那么岳父岳母家也是我的附加组,我工作了,同一个部门的同事也是我的附加组,总体来说,我的基本组只有一个,但附加组有很多,不知道这么理解对不对。

对于CentOS系统中的文件而言,由于系统是多用户多任务系统,有的文件不仅要给owner使用,还要与其他用户去分享,去合作,但又不能让所有人去浏览,否则,没哟秘密可言,这是文件的属组的作用就提现出来,你可以给文件设置一个属组group,并给属组赋予读写执行的不同权限,这样既保证了合作共享的流畅,又保证了文件的安全性。

下面进行组操作的学习,由于水平和认知有限,不足之处敬请理解!!!

一、组管理命令:

用户组相关配置文件:

/etc/group:组账户信息

/etc/passwd:用户及用户组相关信息

/etc/gshadow:组密码相关

/etc/login.defs  shadow密码套件配置

1、groupadd命令:创建一个新组

位置:/usr/sbin/groupadd,系统管理员命令。

格式:groupadd   [选项]   group_name

常用选项:

-g :GID  指定GID,默认是上一个组的GID+1
                  -r:  创建系统系统组;
                 -p:给组设置密码

【例如】:添加一个名为testg的GID为2003的组,并给改组设置密码为345567456。

首先,使用命令: ~]# groupadd -g 2003 -p "345567456" testg

然后观察/etc/group和/etc/gshadow两个文件,如箭头所示,发现目的已经基本实现。值得注意的是,在/etc/gshadow文件中,用户组的密码是看见的,为什么,是因为,这个密码,没有经过加密算法转换,如果想要经过加密算法,就需要如下命令设置:

~]# gpasswd testg,也就是gpasswd   直接对用户组testg进行手动设置,此密码是哈希加密密码。

为什么要对用户组进行密码设置,我们来看下面一个例子。

【例如】我现在有两个普通用户,satman和szp,加入szp想临时进入satman用户组,拥有satman用户组的临时权限,可以用newgrp命令来实现。

第一种情况,satman用户组没有密码。

由于satman用户组,没有密码,系统返回无效参数。

第二种情况,给用户组satman设置组密码。

 设置密码后,发现该用户组密码为加密算法。

        再使用newgrp命令后,输入satman组密码,执行成功,利用id命令查看,发现用户szp当前的临时组为satman,组密码的功能就在这里,不给用户组加密码,除了root之外的其他用户,谁也不能把satman设置为基本组,但如果加了密码,情况就不一样了,所以,除了工作需要,为安全着想,尽量不要给用户组加密码。 

2、groupdel命令:删除一个用户组。

此命令位置:/usr/sbin/groupdel,为管理员命令。

格式:groupdel   [选项]   GROUP

此命令一般不加选项,后面直接接用户组名称,例如删除我刚刚建立的testg用户组。可以直接使用命令:

~]# groupdel testg

这个命令不能删除用户的基本组,例如szp用户组的基本组是szp,如果我们使用groupdel命令删除。

这个道理告诉我们,现实生活中,甩掉情人容易,甩掉老婆太难了,所以,男人好难!!!

3、groupmod命令:修改用户组属性

此命令位置:/usr/sbin/groupmod,为管理员命令。

       格式:groupmod   [选项]   GROUP

常用选项:

-g  GID:修改GID;      
              -n  new_name:  修改组名

这个命令太简单,不举例,傻瓜命令。

4、gpasswd命令:组管理命令

此命令位置:/usr/sbin/gpasswd,为管理员命令。

格式:gpasswd [选项] group

常用选项:

-a USERNAME:向组中添加用户
            -d USERNAME:从组中移除用户
            -r                       :删除组用户密码
            -A USERNAME:设置具有管理权限的用户列表,这个对于root来说,慎用。
            不带选项时,给组设置密码

【例如】:向satman用户组添加szz用户,然后删除szz用户,在删除satman用户组密码,可以进行如下操作。

第一步:向satman添加szz用户

第二步:从satman删除szz用户

第三步:删除satman用户组密码 

好了,此命令介绍到这里,有大牛说:你的操作太墨迹!好吧,我的特点就是墨迹。

5、newgrp命令:修改用户其他组为临时基本组

格式:newgrp [-] [group]
                    -:会模拟用户重新登录以实现初始化工作环境;

这个命令在上面的例子中已经用过,不举例。

6、关于几个配置文件,一起学习一下

/etc/group,/etc/login.defs:两个文件在上一篇日志里有介绍,有兴趣的朋友,可以点下面链接:

兴安雪学运维之:CentOS用户管理命令详解之一_兴安岭的雪的博客-CSDN博客

/etc/gshadow:组信息相关文件,此文件绝对不能让普通用户可读。

[root@cainiao ~]# cat /etc/gshadow
root:::
........................
docker:!::suselinux,TestLinux

此文件字段共分为4段,分别以“:”隔开,具体意义如下:

第一段:组名,例如上面所示的root用户组和docker用户组

第二段:组密码,有密码则显示密码,无密码则显示为空,!为密码锁定

第三段:组管理员,类似于root权限,现在很少用,因为sudo的命令太方便

第四段:组成员,不做过多介绍。

7、最后拓展学习一下passwd命令:来更改使用者的密码认证

位置:/usr/bin/passwd,部分功能,普通用户可用。

相关配置文件:

/etc/passwd,  /etc/shadow

此命令可以说是Linux系统运维当中一个非常牛叉的命令,必须要牢牢掌握,时常练习。

格式: passwd  选项  

常用选项:

-d USERNAME:删除指定用户密码,此功能只有root用户使用;

-f USERNAME:强迫用户下次登录时必须修改口令,root特权;

-w DAYS  USERNAME:口令要到期提前警告的天数

-k 更新只能发送在过期之后

-l USERNAME:停止账号使用

-S USERNAME:显示密码信息

-u USERNAME:启用已被停止的账户,前提,该账户已经停用

-x DAYS  USERNAME:指定口令最长存活期

-g GROUP_NAME:修改群组密码

-i 口令过期后多少天停用账户,-1,为禁用此项功能。

不加选项:设置用户密码,如果用户有密码,则为更改密码。

【例如】:设置ArchLinux账户密码,而后设置该账户密码参数为密码到期警告天数为7天,口令过期后不停用,而后显示该账户密码信息,而后再删除该账户密码信息。

第一步:设置ArchLinux账户密码

        设置账户密码的前提是,此帐户必须存在,如果不存在,需要用useradd  username新建。

第二步:更改该账户密码参数

第三步:显示该账户密码信息

第四步:删除密码,并重新显示账户密码信息

        居然还显示密码已经设置,查看一下/etc/passwd,/etc/shadow文件

结果显示,ArchLinux用户的密码已经为空。

 关于密码设置的几条原则:

                1、密码长度,8位以上,随机字符,哈希算法还是很牛叉的。
                2、大小写、数字合特殊字符中至少三类,出现个问你题,忘了密码咋办
                3、定期修改密码,建议每周修改一次,最长不能超过半个月。

        今天的命令就学到这里,本人是刚刚学习,过程中有很多瑕疵,希望各位能够谅解,海涵!

兴安雪学运维之:CentOS用户组管理groupadd,groupdel...相关推荐

  1. 兴安雪学运维之:CentOS用户管理命令详解之一

    极北之地,兴安之雪,老骥伏枥转战Linux运维,用户管理命令是运维学习常用命令的重中之重,需要反复理解,勤于练习,不断实践,才能熟练运用,个人结合学习实际,加以整理,仅供学习参考,不足之处,敬请批评指 ...

  2. 兴安雪学运维之:目录树详解

    极北之地,兴安之雪,老骥伏枥转战Linux运维,最近根据授课和大略看了FHS3.0,对Linux的目录有了初步的了解,怕人老忘性差,作以记录. 一.目录结构图 Linux的目录是一个倒置的树状结构,最 ...

  3. 【linux】循序渐进学运维-基础篇-yum管理

    文章目录 yum的优劣势 什么是yum? 配置本地yum源 配置网络yum源 yum的日常使用 1) 安装httpd 2) 升级软件包,系统版本内核都升级 3) 升级软件包,系统版本升级,不升级内核 ...

  4. 【linux】循序渐进学运维-基础篇-进程管理

    文章目录 Linux进程 1. 进程的概念 2. 进程的属性 3. 关于僵尸进程 Linux管理的基本命令 1. ps命令 1) 常用参数: 2)常用组合 a) ps -aux b) ps-uax输出 ...

  5. 【linux】循序渐进学运维-基础篇-rpm管理

    文章目录 1) RPM安装常用参数: 2) rpm获取方式: 3) rpm格式: 举例: a. 从本地安装软件包 b. 查询lrzsz的包有没有安装 c. 查看所有已经安装的包 d. 查询一个命令是哪 ...

  6. Centos 用户组管理

    #组帐号管理 linux 组管理 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--= 1.组的分类 私用组:只能包含一个用 ...

  7. centos普通用户修改文件权限_Linux CentOS更改文件的权限与用户及用户组管理命令...

    记录下Linux CentOS更改文件的权限命令与用户及用户组管理命令,供大家参考. Linux CentOS更改文件的权限命令 chgrp  (全称:change group) groupadd t ...

  8. 《循序渐进学运维》第一阶段Linux基础

    前言 循序渐进学运维系列,第一阶段的内容已经全部更新完毕.包含学习方法篇,和基础入门课程. 所有内容均在csdn存档. 想要学习的可以按照这个步骤进行学习,有不完善的地方欢迎在留言区留言,一起交流. ...

  9. 用户管理与用户组管理

    ---------用户管理-----– useradd 添加一个新用户 参数:# -g 指定用户的主要组# -G 指定用户的附加组 格式为 G1,G2,G3 (多个组有逗号分割)-u 指定用户的UID ...

最新文章

  1. 【笔记】重学前端-winter
  2. 2.LRU算法实现 [C++]
  3. Ext.menu.Menu菜单栏
  4. linux git 删除分支,git 删除分支和回滚的实例详解
  5. 程序员修复bug的吐血过程,太形象了
  6. 复旦大学在职MBA项目2011年度学费调整通知
  7. 求1000的阶乘c语言编程,用C语言编写程序,求出1000的阶乘?
  8. 基于vue开发简易备忘录,实现列表增删
  9. python从入门到放弃图片-Python从入门到放弃:与用户交互
  10. pycharm 虚拟环境virtualenv迁移到别的机器 无法读取包的问题
  11. 人工智能︱腾讯如何利用英特尔至强处理器在游戏内创建购买推荐系统?
  12. 浅析数据中心交换机芯片,中国自主可控国产化交换机已是历史必然
  13. 抖音小程序的私域运营
  14. 程序员是如何买房的?
  15. 从学校,到字节跳动,追忆似水流年
  16. Log4j2日志记录框架的使用教程与简单实例
  17. 俏丽教师杂志俏丽教师杂志社俏丽教师编辑部2022年第9期目录
  18. php-gtk2怎么用,PHP+GTK2 初体验,简单计算器客户端
  19. 总结——硬件工程师面试容易碰到的问题
  20. VB.net学习笔记(二十九)认识STA与MTA

热门文章

  1. 22年Web3.0的三大前沿议题:NFT、元宇宙和DAO
  2. 计算机基础笔记(五)—数据库
  3. 联发科 MK8675 5G modem资料
  4. 联想开天s620z改win7和Linux,图文并茂,教会你联想商用机改换win7系统bios设置
  5. 如何在线重新安装苹果电脑系统---基于 Intel 处理器的 Mac 电脑上的 macOS 恢复功能
  6. 爷青回!AI把《灌篮高手》角色真人化,最帅的居然不是流川枫?
  7. (原码、反码和补码)例子byte的详细讲解
  8. python生成日历_Python创建日历实例代码
  9. Xamarin实现将图片设置为启动页——Xamarin.forms(二)
  10. 谷歌眼镜GDK开发指南之Immersions