1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 兴安雪学运维之:CentOS用户组管理groupadd groupdel...

兴安雪学运维之:CentOS用户组管理groupadd groupdel...

时间:2019-04-26 04:39:17

相关推荐

兴安雪学运维之:CentOS用户组管理groupadd groupdel...

极北之地,兴安之雪,老骥伏枥转战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为的组,并给改组设置密码为345567456。

首先,使用命令:~]# groupadd -g -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、定期修改密码,建议每周修改一次,最长不能超过半个月。

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。