Linux中用户、用户组(三):用户、用户组的信息存储位置以及内容解读 您所在的位置:网站首页 actiontaimanin账号信息在哪 Linux中用户、用户组(三):用户、用户组的信息存储位置以及内容解读

Linux中用户、用户组(三):用户、用户组的信息存储位置以及内容解读

2024-01-18 06:01| 来源: 网络整理| 查看: 265

之前的博客中讲到,在Linux中有三个跟用户、用户组相关的文件值得注意,分别是/etc/passwd、/etc/shadow、/etc/group。本文将对这三个文件本身的意义以及各自的内容进行详细的解读。 1./etc/passwd        这个文件主要是存储我们Linux中的用户信息,每一个用户都对应着文件中的一条记录,每行记录又被冒号分割为7个字段。 命令:vim /etc/passwd 在这里插入图片描述        里面的每一条记录的格式组成如下:        用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell        对每个字段的解读如下:

.用户名 代表用户账号字段,一般为不超过8个字符的字符串,由大小写字母以及数组组成,不能含有冒号,最好不要含有点字符(.),不要以加号(+)或(-)开头。

口令 虽然口令都是加密的,但是由于/etc/passwd这个文件对所有人可见,为了安全起见,很多Linux发现版都采用了shadow技术,即将真正的口令存放在shadow文件中,这里的口令一般用“x”或“*”进行代替。

用户标识号 一般情况下,用户的标识号是与用户名一一对应的,若是几个用户都是一样的用户标识号,那么在系统看来是同一个用户,但它们可以拥有不同的口令、主目录以及登录shell。

组标识号 记录着用户所属的主用户组的id,对应着/etc/group中的一条记录。

注释性描述 记录着一些用户的个人描述,如姓名、电话等等。这个字段并没有什么实际的用途。在不同的Linux 系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。

主目录 用户登录到系统之后所处的目录,用户的主目录名称就是该用户的登录名,自己对主目录有完整的读、写、操作权限,其他用户视情况设置权限。

登录shell 用户登录到系统后,会启动一个进程负责将用户的操作传递到系统内核,这个进程就是系统登录后的命令解释器或程序,我们称之为shell,主要起到人机之间的联通作用。 Shell是用户与Linux之间的一个接口(详见我的另一篇shell博文),Linux中的shell有很多种如,sh(Bounce Shell)、csh(C Shell)、ksh(Korn Shell)、bash(Bounce Again Shell)等等。 选择哪个shell需要系统管理员具体情况集体分析,一把Linux默认使用sh或bash,对应的软链为/bin/bash–>POSIX、/bin/bash。 注释: 之后我会写一篇博文,详细介绍一下sh、bash。 用户的登录Shell也可以指定为某个特定的程序(此程序不是一个命令解释器)。 利用这一特点,我们可以限制用户只能运行指定的应用程序,在该应用程序运行结束后,用户就自动退出了系统。有些Linux 系统要求只有那些在系统中登记了的程序才能出现在这个字段中。

特别地 系统中有这样的一群存在,我们称之为伪用户,伪用户与用户的最大区别就是,伪用户无法进行登录,也就是说她们的登录shell为空或者是/sbin/nologin,它们存在的意义是为了支持系统的运行,满足相应的系统进程对文件属主的要求。(它们在passwd中也占有一条记录哦) 常见的伪用户如下:        伪用户名         含义           bin           拥有可执行的用户命令文件           sys          拥有系统文件           adm         拥有帐户文件           uucp        UUCP使用           lp             lp或lpd 子系统使用           nobody    NFS使用

2./etc/shadow        /etc/shadow文件主要承担的事存储每个用户的口令(密码)任务,她里面每一条记录与passwd文件里面的每个用户记录一一对应,由pwconv命令根据passwd中的内容自动生成。 命令:vim /etc/shadow(或者用cat 命令也行) 在这里插入图片描述 格式如下:       登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

登录名 与/etc/passwd文件中的登录名相一致的用户账号

加密口令 “口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合 { $./0-9A-Za-z }中的字符,则对应的用户不能登录。

最后一次修改时间 自创建密码时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能最后一次修改时间”表示的是从某个不一样。例如在SCO Linux 中,这个时间起点是1970年1月1日。(最近一次修改的日期)

最小时间间隔 指的是两次修改口令之间所需的最小天数。(自上次修改密码后多久之内不能被修改)

最大时间间隔 指的是口令保持有效的最大天数。(密码最久使用的时间)

警告时间 表示的是从系统开始警告用户到用户密码正式失效之间的天数。(密码到期前提醒修改的时间。)

不活动时间 表示密码失效后,但账号仍能保持有效的最大天数。(密码过期后最多几天内还能登录或着理解为密码过期后的存活期)

失效时间 该字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。(密码无效时间)

注释:authconfig --test | grep hashing 可以查出你当前系统的加密方式,如md5、sha512等。        当你忘记密码想要找回时,可以先去查看加密口令,然后根据你系统的加密方式去网上搜在线解密工具进行解密。

3./etc/group 用户组的所有信息都存在这个文件里面了。 命令:cat /etc/group 注意,用户组中所记录的组是主组,不是附加组。 在这里插入图片描述 内容组成:         组名:口令:组标识号:组内用户列表

"组名"是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。

"口令"字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。

"组标识号"与用户标识号类似,也是一个整数,被系统内部用来标识组。

"组内用户列表"是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有