linux运维基础[用户和用户组管理]——————用户配置文件[/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow]

这篇博客介绍了Linux系统中用于管理用户和用户组的配置文件,包括/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow。详细讲解了每个文件的作用和内容,如用户名、密码、UID、GID、用户说明、家目录、shell解释器、加密密码、密码修改规则、组信息和组密码标志等,强调了合理管理用户和权限对服务器安全性的重要性。
摘要由CSDN通过智能技术生成

1. 用户信息文件/etc/passwd

1.1 用户管理简介

  • 为什么要添加用户?
    答:对服务器来讲,如果每个人登录都是使用root高权限用户的话,我们的服务器就会很危险,所以通过和合理的建立用户权限等级制度来保证服务器的安全性

  • 在Linux中主要是通过用户配置文件来查看和修改用户信息

1.2 /etc/passwd

这是用户的基本信息文件,每一个用户的基本信息都保存在这里:
在这里插入图片描述在这里插入图片描述
我们可以通过man命令来查看配置文件:
在这里插入图片描述在这里插入图片描述在这里插入图片描述
接下来我们一个一个进行解读:

1.2.1 用户名

在这里插入图片描述

  • 用户名中不能包含特殊字符。
  • 用户名最好是统一的,有规律的。

1.2.2 密码

在这里插入图片描述
早期是将密码直接放置在这个文件当中,现在为了安全性,是将密码放在/etc/shadow文件当中。

在这里插入图片描述
当然在/etc/shadow也不是明文出现的,我们可以给权限看一下:

在这里插入图片描述
就算是加密的密码,也可以暴力破解,将他放进/etc/shadow中所有用户都不能查看,这样就比较安全,所以我们知道==/etc/passwd中的X表示这个用户时有密码的,并且这个X不能省略==。

也就是说,没有x在登陆的时候,系统不会在/etc/shadow中寻找密码,登陆的时候就没有密码直接登录,但是这种登录不提供远程登录,只能本机登录。

1.2.3 UID

在这里插入图片描述
内核对每个用户,用户组,进程等进行操作的时候,他不认识abcd字母,他只认识唯一的数字标示,这就是UID。但是普通用户如果记UID容易乱,所以要起一个用户名。

0超级用户
1-999系统用户(伪用户)
1000-65535普通用户

伪用户:不可以删除,如果删除系统崩溃,这些用户给系统启动服务,启动命令来用的,如果将这些用户删除,服务命令就不可以使用了

1.2.4 GID

在这里插入图片描述
在linux相同类型的用户集合可以成为一个组。linux中有两种组

初始组用户一建立就会默认属于一个组,这个用户离开这个组就不能活,每一个用户必须由一个初始组;每个用户只能有一个初始组存在。初始组能改最好不要改,容易混乱
附加组用户可以加入多个其他组,并且拥有这些组的权限,附加组可以有多个

1.2.5 用户说明

在这里插入图片描述
只是用户的一个说明而已,加不加都可以,算是一种用户的解释说明。

1.2.6 家目录

在这里插入图片描述
在服务器端我们登录之后就直接是一个字符界面,所以在登陆的时候,就得有一个初始的登录位置,用用户的家目录作为初始登录位置。这个家目录是固定的。

普通用户/home/用户名/
超级用户/root/

理论上可以调整但是不建议调整。

1.2.7 登录之后的shell

在这里插入图片描述
shell是什么?

  • Shell就是linux的命令解释器,敲入命令,命令解释器解释,并且传给内核。

在linux中默认的shell是/bin/bash,他是其他几个shell版本的进化升级整合。

普通用户/bin/bash
伪用户/sbin/nologin

2. 影子文件/etc/shadow

他其实是/etc/passwd的影子文件,查看权限:
在这里插入图片描述
他的权限更小,在shadow中保存的是真正的加密的密码串。在passwd中只有密码标志X
在这里插入图片描述

2.1 用户名

与/etc/passwd是相同的。
在这里插入图片描述

  • 用户名中不能包含特殊字符。
  • 用户名最好是统一的,有规律的。

2.2 加密密码

在这里插入图片描述
这里使用的加密方式是:

加密算法已经升级为SHA512三列算法,注意这类算法就算设计的密码相同,加密出来的结果也不回相同,不能通过字段进行猜测。

但是也可以进行暴力破解的出密码,所以文件权限是000.

如果密码是“!!”或者“ * ” 代表这个用户没有密码,不可登录。

我们可以给一个用户的加密字串密码前加一个!,这样就相当于禁用一个密码,这样是可以的。

2.3 密码最后一次修改日期

这个密码在那天最后设置的。

使用1970年1月1日作为标准时间,每过一天时间戳加1

在这里插入图片描述

2.4 两次密码的修改间隔

在这里插入图片描述
上一次修改密码,距离这一次修改的时间间隔。

2.5 密码的有效期

也就是说这个密码在99999天内有效,273年。

密码的原则

  • 密码要复杂
  • 密码要经常改
  • 密码要能记住

我们可以修改这个值,强制用户修改密码。

在这里插入图片描述
那么如果没有修改。

2.6 密码修改到期前的警告天数

在这里插入图片描述
这时你不改也没关系,这只是一个警告。

2.7 密码过期后的宽限天数

在这里插入图片描述
如果过期不改就会,就把他封掉。

0密码过期后立即失效
-1密码永远不会失效

如果写了-1那么就不用担心前面了,你不用修改了 。

2.8 帐号失效时间

在这里插入图片描述
这里写了时间,帐号到这个时间就会删掉。

这里要用时间戳标示。

2.8.1 时间戳换算算法

date -d "1970-01-01 17754 days"

在这里插入图片描述

echo $(($(date --date="2020/06/11" +%s)/86400+1))

在这里插入图片描述

2.9 保留

第九字段是没有生效的暂时没有用。

3.组信息文件/etc/group

在这里插入图片描述

每天加一个用户就会生成和用户名相同的用户组。

3.1 组名

默认组名与用户名相同的。当然也有不同的情况。

3.2 组的密码标志

这里也只是密码的标志,真正的组密码在/etc/gshadow中。X作为标志标示这个组密码。
在这里插入图片描述

在/etc/gshadow中:

在这里插入图片描述
那么这个组密码是干什么的?

  • 只有root客人一把用户加到其他的用户组,如果用户过忙,可以给组先一个管理员,给管理员设立密码,知道密码的人可以加人近来。
  • 会降低系统的安全性

3.3 GID

就是组ID的意思,给内核一个分辩组的数字:

在这里插入图片描述
我们可以通过组id更改组。

0超级用户组
1-999系统用户组(伪用户组)
1000-65535普通用户组

3.4 组中附加用户

在其中可以看到附加用户,不能看到初始用户

在这里插入图片描述

4.组密码文件/etc/gshadow

这里只有组密码与组管理员要说一说。

你给一个组添加了组管理员,设定了组密码,这个组管理员就可以通过设定的组密码添加删除组中的用户

第一字段组名
第二字段组密码
第三字段组管理员用户名
第四字段组中附加用户

我们就是通过这四个文件,来查询用户的个人信息的,互相配合,完成工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值