linux账号与群组

一、UID与GID

用户账号只不过是一串便于用户记住的字符串,而实际上linux系统在内部是用UID进行计算的。所谓用UID进行计算,就是说在linux文件系统中,文件的inode节点的拥有者属性字段记录的是UID,而不是用户名。GID同理。

在linux系统中,系统为用户展示几乎都是用户账号,而不是UID。如ls指令,展示的其中一个字段就是用户名。那这其中肯定有将用户名与UID建立起联系,让系统去解析并显示的吧?是的,这个联系文件就是 /etc/passwd。同理,组名与GID的关联文件在 /etc/group。

范例一:执行ls命令,系统是如何找出文件所属用户名与组名的?
首先,ls指令会读取文件的属性(在文件的inode节点上),其中包括UID与GID;
接着,根据 UID与GID 分别在 /etc/passwd 与 /etc/group文件查找用户名与组名;
最后,显示出来。

范例二:输入账号密码后,系统帮你处理了什么?
1.先在 /etc/passwd 中查找是否有你输入的账号,如果没有则跳过,如果有的话则将该账号对应的UID与GID读出来,另外,该账号的家目录与shell设定也一并读出来
2.核对账号密码。根据UID在 /etc/shadow 中查找密码,当然,这个密码是加密的,系统采用某种算法比对用户输入的密码与这里头的密码是否相符
3.如果密码正确,就进入shell控管阶段了!

二、有效群组与初始群组

我们知道一个用户可以加入多个群组,那当我们在操作文件或目录等作业时,到底以哪个为准呢?先明确一个概念,有效群组就是用户参与作业时的所在群组。像创建文件这个作业时,文件创建者及其有效群组将被记录在文件的inode中。有效群组总得有一个默认的吧?是的,这个默认的群组就是初始群组了!

上一节讲到用户密码登录的简单流程,回顾第一个步骤,我们发现登录过程中,系统会从 /etc/passwd 中查找UID与GID,这个GID对应的群组就是该用户的初始群组了!

有效群组可以切换吗?那是肯定的,可通过newgrp命令!它是通过另一个shell来提供这个功能的。所以,用完后,若想回到原来的shell环境,需要执行exit。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值