小说素材网站,推进网站建设,做海报的素材哪个网站,平面广告设计培训招生目录 用户标识符#xff1a;UID与GID
用户账号
/etc/passwd文件结构
1、账号名称
2、密码
3、UID
4、GID
5、用户信息说明栏
6、家目录
7、shell
/etc/shadow文件结构
1、账号名称
2、密码
3、最近修改密码的日期
4、密码不可被修改的天数#xff08;与第三字…目录 用户标识符UID与GID
用户账号
/etc/passwd文件结构
1、账号名称
2、密码
3、UID
4、GID
5、用户信息说明栏
6、家目录
7、shell
/etc/shadow文件结构
1、账号名称
2、密码
3、最近修改密码的日期
4、密码不可被修改的天数与第三字段相比
5、密码需要重新修改的天数与第三字段相比
6、密码需要修改期限前的警告天数与第五字段相比
7、密码过期后的账号宽限时间密码失效日与第五字段相比
8、账号失效日期
9、保留
关于用户组有效与初始用户组groupsnewgr
/etc/group文件结构
1、组名
2、用户组密码
3、GID
4、此用户组支持的账号名称
有效用户组effective group与初始用户组initial group
groups有效与支持用户组的观察 newgrp有效用户组的切换
/etc/gshadow 用户标识符UID与GID
其实Linux主机并不会直接认识你的账号名称它仅认识IDID就是一组号码。由于计算机智认知0和1所以主机对于数字比较有概念而账号只是为了让人们容易记忆而已我们的ID与账号的对应就在/etc/passwd中
我们知道一个文件的属性中有拥有人与拥有人组这两个属性所以每个登录的用户至少会获取两个ID一个是用户IDUID一个是用户组IDGID
所以文件判断拥有者与用户组就是依据这两个ID来进行判断的当我们要显示文件属性时系统会根据/etc/passwd与/etc/group的内容来找到UID与GID对应的账号与组名再显示出来
下述例子仅说明UID与账号的对应性 系统中redhat的UID与GID都是1000它们的关系就是redhat对应的UID为1000 此时我们将/etc/passwd中将用户的UID改为2000 你会发现该文件的拥有者就变成了数字 在正常运行的Linux主机环境下上面的操作不可以随意进行因为系统上面已经有很多的数据被建立存在了随意修改系统上某些账号的UID会导致某些程序无法运行甚至导致系统无法顺利运行——因为权限的问题。上述例子中我们如果没有将2000改回来会导致redhat下次登录时将没有办法进入自己的家目录因为它的UID已经改为2000但是它的家目录却记录的是1000由于权限为700因此它将无法进入原本的家目录
用户账号
你输入账号密码后系统做了哪些处理
1、先查找/etc/passwd里面是否有你输入的账号没有则退出有则将该账号对应的UID与GID/etc/group读出来,另外该账号的家目录与shell设置也一并读出
2、再核对密码表这是Linux会进入/etc/shadow中找出对应账号与UID然后核对一下你输入的密码是否相符
3、上面一切OK则进入shell管理的阶段
跟用户账号有关的有两个非常重要的文件一个是管理用户UID与GID重要参数的/etc/passwd另一个则是专门管理密码相关数据的/etc/shadow
很多程序的运行都与权限有关而权限与UID和GID有关。因此各程序都需要读取/etc/passwd来了解不同账号的权限因此我们/etc/passwd的权限需设置为-rw-r--r--这样
/etc/passwd文件结构
文件内容构造每一行代表一个账号有几行则代表几个账号在你的系统中但是里面很多账号本来就是系统正常运行所需要的我们简称它为系统账号例如bin、daemon、adm等这些账号不可随意删除
查看vim /etc/passwd root为系统管理员我们可以看出每一行中都有来相互分隔开因此一行中共有七个东西
1、账号名称
就是账号提供给对数字不敏感的我们用来登录系统的需要用来对应UID
2、密码
早期UNIX系统的密码就放于此字段上后来由于这个文件的特性是所有程序都能读取导致容易造成密码数据被窃取所以就将这个字段的密码数据改放到/etc/shadow中去了因此我们在这里只能看到一个【x】
3、UID
用户标识符通常Linux对于UID有几个限制我们可以了解一下 4、GID
这个与/etc/group有关其实/etc/group的概念与/etc/shadow差不多只是它是用来规范组名与GID的对应而已
5、用户信息说明栏
用来解释这个账号的意义而已如果你使用finger的功能时这个字段可以提供很多信息可以了解一下chfn命令
6、家目录
这就是用户的家目录我们可以看到每个账号的家目录位置所以我们使用各个用户登录时会立刻跑到每个用户的家目录里面。所以当我们想要把家目录进行移动时就可以在这个字段进行修改默认的用户家目录在/home/yourIDname
7、shell
当用户登录后会获取一个shell来与系统的内核沟通以进行用户的操作任务那为何默认shell会使用bash呢就是在这个字段指定的这里比较需要注意的是有一个shell可以使账号在登录时无法获取shell环境那就是/sbin/nologin这个东西。这也可以用来制作纯pop邮件账号的数据
/etc/shadow文件结构 基本上shadow同样以来作为分隔符所以每一行共有九个字段这九个字段的用途是这样的
1、账号名称
密码也需要与账号对应所以第一栏为账号且必须与/etc/passwd相同才行
2、密码
这个字段内的数据才是密码而且是经过编码的密码这些密码很难破解但不代表不会所以它的权限为-rw-------或----------即只有root才可以读写所以我们得注意不要随意修改这个权限
由于固定的摘要算法产生的密码是特定的因此当修改这个字段后该密码就会失效算不出来。很多软件通过这个功能在此字段前加上或*修改密码字段就会让密码暂时失效
3、最近修改密码的日期
记录了密码修改那一天的日期我们可以看到bin那栏中的日期为18849呢这是因为计算Linux是以1970年1月1日作为1而累加的日期1971年1月1日就是366
4、密码不可被修改的天数与第三字段相比
记录了账号的密码在最近一次修改后需要经过几天才能再次修改如果是0则表示可以随时修改
5、密码需要重新修改的天数与第三字段相比
经常修改密码是个好习惯为了强制修改密码这个字段可以指定最近一次更改密码后需要在多少天数内再次修改才行。你必须在这个天数内重新设置你的密码否则这个密码将会变为过期特性如果是99999计算为273年的话那就表示密码的修改没有强制性
6、密码需要修改期限前的警告天数与第五字段相比
当账号密码有效期限快要到的时候第五字段系统会根据这个字段的设置发出警告信息给这个账号提醒它再过n天你的密码就要过期
7、密码过期后的账号宽限时间密码失效日与第五字段相比
密码有效期为更新日期重新修改日期过了该期限后用户依旧没有更新密码那该密码就过期了虽然密码过期了但是该账号还是可以用来执行其他任务包括重新登录系统获取bash。不过如果密码过期了那当你登录系统时系统会强制你必须重新设置你的密码才能继续登录使用这就是密码过期特性
8、账号失效日期
这个日期与第三字段相同都是采用1970年以来的天数的总天数这个字段表示这个账号在此字段规定的日期之后无法再使用这个字段通常都是在收费服务系统中
9、保留
最后一个字段为保留看以后有没有新功能加入
关于用户组有效与初始用户组groupsnewgr
/etc/group文件结构 该文件也是以来作为分隔符共分为四栏
1、组名
用来供人使用基本上与第三字段的GID对应
2、用户组密码
通常不需要设置这个设置一般是给用户组管理员用的目前很少有机会设置用户组管理员。同样密码以及移动到了/etc/shadow中所以我们只能看到【x】
3、GID
用户组ID我们/etc/passwd第四个字段使用的GID对应的用户组名就是由这里对应出来的
4、此用户组支持的账号名称
一个账号可以加入多个用户组中如果某个账号想要加入此用户组时将该账户填入这个字段即可账号之间用逗号隔开不要有空格如果一个账号的初始用户组为此用户组则此账号不写入此字段例如root的初始用户组为root用户组并且root用户组中只有root用户所以此字段没有数据
有效用户组effective group与初始用户组initial group
每个用户在它的/etc/passwd中都有一个GID这个GID就是所谓的初始用户组也就是说用户一登录系统就会立刻拥有这个用户组的相关权限
我么给redhat用户新增加一个次要用户组 此时我们redhat账号同时支持redhat与users这两个用户组但当我创建一个新目录或文件时新文件的用户组为哪个所以这时候就需要理解有效用户组了
groups有效与支持用户组的观察
我们以redhat用户身份登录后就可以用groups命令来查看我们所有支持的用户组了 第一个输出的用户组即为有效用户组所以我此时去建立一个新文件的话拥有者与用户组都为redhat newgrp有效用户组的切换
我们可以使用newgrp来修改有效用户组但是newgrp是有限制的即切换的用户组必须是已有支持的用户组 需要注意的是记得退出newgrp的环境因为这个命令是以一个shell来提供这个功能就是说redhat目前是以另一个shell登录的并且这个shell中redhat的有效用户组为users虽然用户的环境设置不会有影响但是用户的用户组权限将会重新计算所以我们需要使用完newgrp后需要退出到原来的shell环境有效用户组会改回redhat
加入用户组有两种方式一种是系统管理员利用usermod帮你加入另一种是用户组管理员以gpasswd帮你加入他所管理的用户组中
/etc/gshadow 四个字段的意义为
组名密码栏同样的开头为表示无合法密码所以无用户组管理员用户组管理员的账号有加入该用户组支持的所属账号与/etc/group内容相同
以系统管理员来说gshadow最大的功能就是建立用户组管理员该用户组管理员可以将其他账号加入到自己管理的用户组中来减轻root用户的任务这个功能已经很少使用了