用户信息文件/etc/passwd

这个文件中保存的就是系统中所有的用户及其对应的用户主要信息。

文件格式:

第1数组

第2数组

第3数组

第4数组

第5数组

第6数组

第7数组

用户名称

密码标志

用户ID

组ID

用户说明

家目录

登录后的Shell

比如:root:x:0:0:root:/root:/bin/bash

lizhouwei:x:1000:1000:lizhouwei:/home/lizhouwei:/bin/bash

用户名称

第1个数组是用户名称,用户名称只是为了便捷管理员记忆,Linux系统是通过用户ID(UID)来分辨不同用户、分配用户权限的。而用户名称和UID的对应正是通过/etc/passwd这个文件来定义的。

密码标志

第2个数组是密码标志linux防火墙设置,这儿的"x"代表的是密码标志,表示用户是拥有密码的,而不是真正的密码,真正的密码是保存在/etc/shadow文件中的。因为这个文件的权限是644,查询命令如下:

[root@lo命令t/]#ls-letc/passwd

linux用户管理常用命令_linux 用户有效期_linux用户组管理

-rw-r--r--.1rootroot2282Nov520:19etc/passwd

linux用户管理常用命令_linux用户组管理_linux 用户有效期

所有用户都可以读取/etc/passwd文件,这样特别容易造成密码的泄密。似乎密码是加密的,并且采用暴力破解的方法也是才能进行破解的。所以如今的Linux系统把真正的加密密码串放置在影子文件/etc/shadow中,而影子文件的权限是000,查询命令如下:

[root@localhost/]#ls-letc/shadow

----------.1rootroot1266Nov520:19etc/shadow

这个文件是没有任何权限的,但由于我是root用户,所以读取权限不受限制。其实,用强制更改的方式也是可以手工更改这个文件的内容的。只有root用户可以浏览和操作这个文件,这样就最大限度地保证了密码的安全。

所以在/etc/passwd中"x"只是密码标志,代表用户是拥有密码的,具体的密码要去/etc/shadow文件中查询。假如删掉了密码标志"x",这么系统会觉得这个用户没有密码,因而造成只输入用户名而不用输入密码就可以登录(用户无密码时远程是不可以登录的)。

UID

第3个数组就是用户ID(UID),在Linux中系统是通过UID来辨识不同的用户和分配用户权限的。这种UID是有使用限制和要求的:

0:超级用户UID。假如用户UID为0,则代表这个帐号是管理员帐号。在Linux中只需把其他用户的UID更改为0就可以把普通用户升级成管理员了。

1~499:系统用户(伪用户)UID。这种UID是系统保留给系统用户的UID,也就是说UID是1~499范围内的用户是不能登入系统的,而是拿来运行系统或服务的。其中,1~99是系统保留的帐号,系统手动创建;100~499是预留给用户创建帐号的linux 用户有效期,并且这种用户同样也不能被删掉,由于一旦删掉,依赖这种用户运行的服务或程序就不能正常执行,会造成系统问题。

500~65535:普通用户UID。构建的普通用户UID从500开始,最大到65535。

说明:在2.6.x内核之后的Linux系统用户UID早已可以支持232个用户了。

GID

第4个数组就是用户的组ID(GID),这个组ID是指用户的初始组的标志号。在Linux中用户可以同时加入初始组和附加组。

初始组:指用户一登入录就立即拥有这个用户组的相关权限。每位用户的初始组只能有一个,在添加用户时假如不指定初始组,则系统会构建一个与用户名相同的组作为用户的初始组。诸如:我们手工添加用户lizhouwei,在构建用户lizhouwei的同时还会构建lizhouwei组作为lizhouwei用户的初始组。

附加组:指用户可以加入多个其他的用户组,并拥有这种组的权限。每位用户只能有一个初始组,除初始组以外,把用户再加入其他的用户组,这种用户组就是这个用户的附加组。附加组可以有多个,但是用户可以有这种附加组的权限。诸如:刚才的lizhouwei用户除属于初始组lizhouwei外,我又把它加入了users组,这么lizhouwei用户同时属于lizhouwei组、users组,其中lizhouwei是初始组,users是附加组。其实,初始组和附加组的身分是可以更改的,并且我们在工作中不更改初始组,只更改附加组,由于更改了初始组有时会让管理员逻辑混乱。

用户说明

第5个数组是这个用户的简单说明,没有哪些特殊作用,可以不写。

家目录

第6个数组是这个用户的家目录,也就是用户登入后有操作权限的访问目录,我们把这个目录称为用户的家目录。

普通用户家目录:/home/用户名所有者所属组都是此用户权限700;

超级用户的家目录:/root所有者所属组都是root权限550;

说明:在psswd中虽然将用id(UID)改为0用户管理员,其家目录的位置是不变的,还是/home/用户名

登陆以后的Shell

Shell就是Linux的命令类库。将Linux的命令翻译成系统可以辨识的机器语言linux 用户有效期,同时把系统的执行结果翻译为用户可以辨识的中级语言。Linux的标准Shell就是/bin/bash。

在/etc/passwd文件中,你们可以把这个数组理解为用户登入以后所拥有的权限。假如写入的是Linux的标准Shell,/bin/bash就代表这个用户拥有权限范围内的所有权限。诸如:

[root@localhost/]#vimetc/passwd

lizhouwei:x:1000:1000:lizhouwei:/home/lizhouwei:/bin/bash

比如:lizhouwei用户,它的登陆Shell是/bin/bash,这么这个用户就可以使用普通用户的所有权限。假如把lizhouwei用户的Shell更改为/sbin/nologin,这么这个用户就不能登入了,由于/sbin/nologin就是严禁登陆的Shell。假如我在这儿装入的系统命令,如/usr/bin/passwd,这么这个用户可以登陆,但登陆以后就只能更改自己的密码。

说明:在用户的Shell中不能随意写入和登录没有关系的命令,如ls,否则系统不会辨识那些命令,也就意味着这个用户不能登入。

影子文件/etc/shadow

这个文件中保存着用户的实际加密密码和密码有效期等参数。我们早已晓得这个文件的权限是000,所以除root用户外,其他用户是不能查看的,这样做有效地保证了密码的安全。数组之间使用":"作为分隔符。

第1数组

第2数组

第3数组

第4数组

第5数组

第6数组

第7数组

第8个数组

第9个数组

用户名称

密码

密码最后一次更改曰期

密码的两次更改间隔时间

(和第3个数组相比)

密码的有效期

linux用户组管理_linux 用户有效期_linux用户管理常用命令

(和第3个数组相比)

密码更改到期前的警告天数

(和第5个数组相比)

密码过期后的宽限天数

(和第5个数组相比)

帐号失效时间

保留

比如:lizhouwei:bIUmABK6YbB4k1w6Ai::0:99999:7:::

用户名称

第1个数组中保存的是用户名称,和/etc/passwd文件的用户名称相对应。

密码

第2个数组中保存的是真正加密的密码。在Linux的密码采用的是SHA512散列加密算法。假如用户密码是"!!"或"*",代表没有密码是不能登入。诸如:所有伪用户的密码都是"!!"或"*",代表没有密码是不能登入的。新创建的用户假如不设定密码,这么它的密码项也是"!!",代表这个用户没有密码,不能登入。

密码最后一次更改曰期

第3个数组是密码的更改日期,数值表示当前日期到1970年1月1日的天数,366代表的就是1971年1月1日。

密码的两次更改间隔时间(和第三个数组相比)

第4个数组是密码的两次更改间隔时间。这个数组要和第3个数组相比linux视频,也就是说密码被更改后多久不能再更改密码。假如是0,则密码可以随时更改。假如是10,则代表密码更改后10天之内不能再度更改这个密码。

密码的有效期(和第三个数组相比)

第5个数组是密码的有效期。这个数组也要和第三个数组相比,也就是说密码被更改后可以生效多少天。默认值99999,也就是27年,你们可以觉得永久生效。假如改为90,这么密码被更改90天以后就必须再度更改,否则该用户就不能登入了。我们在管理服务器的时侯可以通过这个数组强制用户定期更改密码。

密码更改到期前的警告天数(和第五个数组相比)

第6个数组是密码更改到期前的警告天数。这个数组要和第五个数组相比,就是密码到期前需提早几天更改。默认值是7,也就是说从密码到期前的7天开始,每次登入系统就会警告该用户更改密码。

密码过期后的宽限天数(和第五个数组相比)

第7个数组是密码过期后的宽限天数。也就是密码过期后,用户假如还是没有更改密码,这么在宽限天数内用户还是可以登入系统的;假如过了宽限天数,这么用户就难以再使用该密码登入了。天数假如是10,则代表密码过期10天后失效;假如是0,则代表密码过期后立刻失效;假如是-1,则代表密码永远不会失效。

帐号失效时间

第8个数组是用法的帐号失效时间。这儿同样要写时间戳,也就是用1970年1日1日进行时间换算。假如超过了失效时间,即使密码没有过期,用户也就失效,难以使用了。

保留

这个数组目前没有使用。

在Linux中,假如遗忘了密码,则可以启动步入单用户模式。这时既可以删掉/etc/passwd文件中的密码标示数组,也可以删掉/etc/shadow文件中的密码标示数组,都可以达到清空密码的目的

组信息文件/etc/group

这个文件是记录组ID(GID)和组名的对应文件。etc/passwd文件的第四个数组记录的是每位用户的初始组的ID

文件格式:

第1数组

第2数组

第3数组

第4数组

组名

组密码标志

组ID(GID)

组中的用户

比如:lizhouwei:x:1000:lizhouwei

组名

第1个数组是用户组的组名。

组密码标志

第2个数组是组密码标志数组。和/etc/passwd文件一样,这儿的"x"仅仅是密码标示,真正的加密然后的组密码保存在/etc/gshadow文件中。

不过,用户设置密码是为了验证用户的身分,并且用户组设置密码是拿来指定组管理员的,因为系统中的帐号可能会特别多,root用户可能没有时间进行用户的组调整,这时可以给用户组指定组管理员,假如有用户须要加入或退出某用户组,可以由该组的组管理员代替root进行管理。并且这项功能目前极少使用,我们也极少设置组密码。假如须要赋于某用户调整某个用户组的权限,则可以使用sudo命令替代。

组ID(GID)

第3个数组是用户组的ID,和UID一样,Linux系统是通过GID来区别不同的用户组的,组名只是为了易于管理员辨识。所以,在/etc/group文件中可以查看对应的组名和GID。

组中的用户

第4个数组表示的就是这个用户组中究竟包含了什么用户。须要注意的是,假如该用户组是这个用户的初始组,则该用户不会写入这个数组。也就是说,写入这个数组的用户是这个用户组的附加用户。例如lizhouwei组就是这样写的"lizhouwei:x:1000",并没有在第四个数组中写入lizhouwei用户,由于lizhouwei组是lizhouwei用户的初始组。假如要查询那些用户的初始组,则须要先到/etc/passwd文件中查看GID(第四个数组),之后到/etc/group文件中比对组名。

linux 用户有效期_linux用户组管理_linux用户管理常用命令

每位用户都可以加入多个附加组,而且只能属于一个个初始组。所以我们在实际工作中,假如须要把用户加入其他组,则须要添加附加组。通常情况下,用户的初始组就是在构建用户的同时完善的和用户名相同的组。

注意,/etc/passwd、/etc/shadow、/etc/group之间的关系为:先在/etc/group文件中查询用户组的GID和组名;之后在/etc/passwd文件中查找该GID是那个用户的初始组,同时提取这个用户的用户名和UID;最后通过UID到/etc/shadow文件中提取和这个用户相匹配的密码

组密码文件/etc/gshadow

这个文件就是保存组密码的文件。假如我们给用户组设定了组管理员,并给该用户组设定了组密码,这么组密码就保存在这个文件中,组管理员就可以借助这个密码管理者个用户组了。

文件格式:

第1数组

第2数组

第3数组

第4数组

组名

组密码

组管理员用户名

组中的附加用户

比如:lizhouwei:!!::lizhouwei

组名

第1个数组是用户的组名。

组密码

第2个数组就是实际加密的组密码。注意,对于大多数用户来说,这个数组不是空就是"!",代表这个组没有合法的组密码。

组管理员用户名

第3个数组表示这个组的管理员是那个用户。

组中的附加用户

第4个数组用于显示这个用户组中有什么附加用户。

用户模板目录/etc/skel/

此文件是一个用户创建的时侯一个模板,假如该/etc/skel文件夹有文件的话,使用useradd命令则会将/etc/skel/下的文件拷贝到新建用户的/home/用户名文件夹下

本文原创地址:https://www.linuxprobe.com/lxtbzzdjmmmc.html编辑:刘遄,审核员:暂无