鸟哥linux群,【鸟哥的linux私房菜-学习笔记】linux的帐号与群组

linux的帐号与群组

使用者标识符: UID 与 GID

ID 与账号的对应就在 /etc/passwd 当中;

计算机只认得ID(即数字),并不能区别账号;

每个登陆的使用者至少都会取得两个 ID ,一个是使用者 ID (User ID ,简称 UID)、一个是群组 ID (Group ID ,简称 GID)。

使用者账号

登录的时候,输入账号口令,系统的动作如下:

1.先找寻 /etc/passwd 里面是否有你输入的账号?如果没有则跳出,如果有的话则将该账号对应的 UID 与 GID (在 /etc/group 中) 读出来,另外,该账号的家目录与 shell 配置也一并读出;

2.再来则是核对口令表,这时 Linux 会进入 /etc/shadow 里面找出对应的账号与 UID,然后核对一下你刚刚输入的口令与里头的口令是否相符;

3.如果一切都 OK 的话,就进入 Shell 控管的阶段。

/etc/passwd 文件结构:

每一行都代表一个账号,有几行就代表有几个账号在你的系统中。 不过需要特别留意的是,里头很多账号本来就是系统正常运行所必须要的,我们可以简称他为系统账号, 例如 bin, daemon, adm, nobody 等等。

每一行使用『:』分隔开,共有七个咚咚,分别是:

1.账号名称;

2.口令:

早期 Unix 系统的口令就是放在这字段上!但是因为这个文件的特性是所有的程序都能够读取,很容易被窃取, 因此后来就将这个字段的口令数据改放到 /etc/shadow 中了。所以这里你会看到一个x;

3.UID:

0为系统管理员;

1~499为系统帐号,其中1~99:由 distributions 自行创建的系统账号;100~499:若用户有系统账号需求时,可以使用的账号 UID;

4.GID;

5.用户信息说明栏;

6.家目录;

7.Shell。

*很多程序的运行都与权限有关,而权限与 UID/GID 有关。因此各程序当然需要读取 /etc/passwd 来了解不同账号的权限。 因此 /etc/passwd 的权限需配置为 -rw-r–r– 。

/etc/shadow 文件结构:

shadow 同样以『:』作为分隔符,共有九个字段啊,这九个字段的用途是这样的:

1.账号名称;

2.口令:

这个文件的默认权限是『-rw——-』或者是『-r——–』,口令是加密过的;

3.最近更动口令的日期;

4.口令不可被更动的天数(与第 3 字段相比);

5.口令需要重新变更的天数(与第 3 字段相比);

6.口令需要变更期限前的警告天数(与第 5 字段相比);

7.口令过期后的账号宽限时间(口令失效日)(与第 5 字段相比);

8.账号失效日期;

9.保留。

*口令过期与口令失效并不相同,口令过期但是该账号还是可以用来进行其他工作的,包括登陆系统取得 bash 。不过如果口令过期了, 那当你登陆系统时,系统会强制要求你必须要重新配置口令才能登陆继续使用,这就是口令过期特性。而失效则是该账号再也无法使用该口令登陆了。

例子:

口令过期:

You are required to change your password immediately (password aged)

WARNING: Your password has expired.

You must change your password now and login again!

Changing password for user dmtsai.

Changing password for dmtsai

(current) UNIX password:

口令失效:

Your account has expired; please contact your system administrator

关于群组: 有效与初始群组、groups, newgrp

/etc/group 文件结构:

这个文件每一行代表一个群组,也是以冒号『:』作为字段的分隔符,共分为四栏,每一字段的意义是:

1.组名;

2.群组口令:

同样的,口令已经移动到 /etc/gshadow 去,因此这个字段只会存在一个『x』而已;

3.GID;

4.此群组支持的账号名称。

0818b9ca8b590ca3270a3433284dd417.png

账号相关文件之间的 UID/GID 与口令相关性示意图

有效群组(effective group)与初始群组(initial group):

/etc/passwd 里面第四栏那个 GID 就是所谓的『初始群组 (initial group) 』!也就是说,当用户一登陆系统,立刻就拥有这个群组的相关权限。

groups: 有效与支持群组的观察,第一个输出的群组即为有效群组 (effective group)

(当我们使用当前帐号去创建一个新档案时,档案的群组为有效群组。)

newgrp: 有效群组的切换

newgrp 这个命令可以变更目前用户的有效群组, 而且是另外以一个 shell 来提供这个功能的。虽然用户的环境配置(例如环境变量等等其他数据)不会有影响,但是使用者的『群组权限』将会重新被计算。 需要注意,由于是新取得一个 shell ,因此如果你想要回到原本的环境中,请输入 exit 回到原本的 shell。

/etc/gshadow文件结构:

四个字段的意义为:

1.组名;

2.口令栏,同样的,开头为 ! 表示无合法口令,所以无群组管理员;

3.群组管理员的账号 (相关信息在 gpasswd 中介绍);

4.该群组的所属账号 (与 /etc/group 内容相同)

以系统管理员的角度来说,这个 gshadow 最大的功能就是创建群组管理员。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux网络编程 华清,Linux网络编程之套接字

一 :套接字属性套接字由域(domain),类型(type)和协议(protocol)三个属性确定其特性。1)套接字的域域指定套接字通信中使用的网络 介质,常见的套接字域是AF_INET,它指的是互联网络,许多LINUX局域网使用的都是该网络。服…

用数据结构c语言写成绩排序,C语言数据结构 快速排序实例详解

C语言数据结构 快速排序实例详解一、快速排序简介快速排序采用分治的思想,第一趟先将一串数字分为两部分,第一部分的数值都比第二部分要小,然后按照这种方法,依次对两边的数据进行排序。二、代码实现#include /* 将两个数据交换 *…

c语言进制转换pdf下载,C语言 十六进制和十进制间的转换.pdf

1.将十六进制转换为十进制.#include#includeint main(void){int convert(int,char *);int i,j ;char m[20];printf("请输入你要转换的数:");scanf("%s",m);i 0;while(*(mi)! \0){i;}j convert(--i,m);printf("转换为十进制是:%d\n",j );return 0…

c语言 为什么i%3cn 1,c语言中n+1个基础且容易出错的知识点

前言为什么称为是n1呢,因为我会持续更新本条博客。1.“/”与“%”基本用法除法运算符“/” :二元运算符,具有左结合性。参与运算的量均为整形时,结果为整型,舍去小数。如果运算量中有一个实型,结果为双精度…

第二次上机报告c语言,第二次C语言设计上机报告

任务一:显示美元与人民币的汇率。实验内容:编写一个“美元与人民币汇率”的C程序。实验目的:进一步掌握C程序的编写和运行的结果。我的程序//***********************************#includeint main(){int dollar,RMB;int lower,upper,step;lo…

c语言使用循环编写勾股数,刘徽《九章算术》中的勾股数

若A、B、C为满足A2B2C2的正整数。我国古代数学书《周髀算经》曾经提到“勾广三,股修四,径偶五”这三个边都是正整数的直角三角形。在公元263年时,我国数学家:刘徽写了一本数学书,书名叫作《九章算术》,其中…

c语言边序列构造邻接表,结构C语言版期末考试考试(有答案).doc

人生难得几回搏,此时不搏更待何时?"数据结构"期末考试试题一、单选题(每小题2分共12分)1.在一个单链表HL中若要向表头插入一个由指针p指向的结点则执行( )A. HL=ps p一>next=HLB. …

c语言打不开h文件,说那个“mem.h”头文件打不开 怎么改啊 高手们帮帮忙

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include "stdio.h"#include "stdlib.h"#include "string.h"#include "conio.h"#include "mem.h"#include "ctype.h"#include "alloc.h"struct score{char…

C语言中表示温度符号,摄氏度符号怎么打(SCI论文中摄氏度°C符号的正确输法)...

大家可能知道中文的摄氏度百思特网是一个字符,而且输入方法比较简单,可以用搜狗输入法,还可以输入 "sheshidu",第五个一般就是℃,甚至可以在网上或文献中复制粘贴。而英文的摄氏度C 却是两个字符&#xff0c…

利用spi发送接收信息c语言,SPI接收发送函数程序

unsigned char SPI_RW(unsigned char byte){?? ?unsigned char bit_ctr;?? ?for(bit_ctr0;bit_ctr<8;bit_ctr)?? ?{?? ??? ?NRF_MOSI(byte&0x80); // MSB TO MOSI?? ??? ?byte(byte<<1);?? ?// shift next bit to MSB?? ??? ?NRF_S…

android 跳转权限管理的代码,Android权限管理

Android权限管理说明在targetSdkVersion的值为23或者更高&#xff0c;就要进行权限管理&#xff0c;否则如果运行在Android6.0或以上的设备会没有相应权限而导致崩溃请求权限后&#xff0c;在onRequestPermissionsResult方法回调&#xff0c;在该方法判断三种状态&#xff1a;允…

android filehelper,为AndroidStudio开发mvp插件(MvpHelper)

如果觉得写mvp有点枯燥无味&#xff0c;我们可以做点 cool 的事情&#xff1a;做个 as 插件help.pngtodo-mvp: 基础的MVP架构。todo-mvp-loaders:基于MVP架构的实现&#xff0c;在获取数据的部分采用了loaders架构。todo-mvp-databinding: 基于MVP架构的实现&#xff0c;采用了…

android+5.q,MSM8909+Android5.1.1电池管理(2)--qpnp-linear-charger.txt驱动学习概要

MSM8909Android5.1.1电池管理(2)--qpnp-linear-charger.txt驱动学习概要参考文件\kernel\Documentation\power\qpnp-linear-charger.txt---下面是学习此文件\kernel\Documentation\devicetree\bindings\power\qpnp-linear-charger.txt1. 简介The QPNP linear charger drive…

岳阳鸿蒙数学培优阶梯训练,鸿蒙应用-呼吸训练app部分练习展示(开始)

本帖最后由 李洋水蛟龙 于 2020-12-20 18:11 编辑1.在主页面添加一个按钮并响应点击事件效果显示&#xff1a;图片1.png (404.17 KB, 下载次数: 0)2020-12-10 17:53 上传点击按钮“点我”下方便会显示“我被点击了”说明点击事件已完成代码如下&#xff1a;Index.hml文件中Hell…

Android无法优化应用,Android应用优化总结

原标题&#xff1a;Android应用优化总结内存泄漏最常见也是最严重的 &#xff1a;持有Activity 与Context引用&#xff0c;生命周期本该短于应用生命周期&#xff0c;该回收的没被回收掉&#xff0c;导致泄露检测手段&#xff1a;leakcanary mit等Handler泄露new Handler 替换为…

android日期选择滚轮框架,GitHub - liwenzhi/wheelview: 滚轮效果的View,日期选择器

#wheelview滚动效果的View这段时间需要用到一个时间选择器&#xff0c;但是不能使用日期对话框&#xff0c;因为它是筛选条件框架下的&#xff0c;只能是View&#xff01;这个WheelView改造后可以达到要求&#xff01;这个wheelview框架使用的类不多&#xff0c;就几个&#xf…

html页面返回原理,浏览器输入URL到界面显示(HTML渲染)发生了什么?

浏览器从输入URL到界面显示一共经历了6个阶段1. DNS(域名)解析2. TCP连接(三次握手)3. 发送HTTP请求4. 服务器处理请求并返回HTTP报文5. 浏览器解析渲染页面6. 连接结束1. DNS(域名)解析一个网址到ip地址的转换&#xff0c;找到URL对应的IP。如www.xiaochongtec.cn到22.33.55.6…

nginx缓存HtmL文件,Nginx在缓存的html文件上返回404

我试图在没有索引页的所有.html文件中添加缓存&#xff0c;但是当我做了一些更改时&#xff0c;我的文件进入了404找不到页面。Nginx在缓存的html文件上返回404这是我对我的默认配置&#xff0c;没有任何改变&#xff0c;我做了&#xff0c;没有工作。server {listen 80;server…

韩顺平轻松搞定网页设计(html+css+js),韩顺平轻松搞定网页设计方案(html+css+js)之javascript现场授课笔记(完整版).doc...

2011韩顺平轻松搞定网页设计(htmlcssjs)之javascript现场授课笔记(完整版)视频18整和19的前半部分不用看Javascript的基本介绍JS是用于WEB开发的脚本语言&#xff1a;脚本语言是什么&#xff1a;脚本语言不能独立使用&#xff0c;它和HTML/JSP/PHP/ASP.NET配合使用脚本语言也有…

大学计算机基础知识点图文,大学计算机基础知识点超详细总结

大学计算机基础知识点超详细总结 第一章 计算机及信息技术概述1. 电子计算机的发展历程①1946 年 2 月由宾夕法尼亚大学研制成功的 ENIAC 是世界上第一台电子数字计算机。 “诞生了一个电子的大脑” 致命缺陷&#xff1a;没有存储程序。②电子技术的发展促进了电子计算机的更新…