UID  与   GID

UID用户的编号  GID 用户群组的编号

账号登录时,有一个对应的文本来记录某个账户的UID与GID。然后获得这个UID去对应的密码文本中,取得密码进行比对,然后登陆。

保管账户的文本:/etc/passwd

让我们看一下这个文件的结构:

head -n 4取4行

看到了取出4行数据,我们看root,就是画红框的那个

用户名      密码                          0          0             root                 /root               /bin/bash

root         x(去shadow查看)   UID      GID      用户信息说明      家目录(可修改)          预设shell使用bash

第三项UID解析

注:所以要时刻关注/etc/passwd这个文件,多关注一下UID是0的账户,防止被恶意篡改

保管密码的文本:/etc/shadow

红框就是root 的密码。加密的。。。

root            加密串            18078                             0【密码可随时更改】                      99999                                     7                                                  空                              空

账号名称     密码         最近更改密码日期         密码不可被更动天数   变更其先前      密码需要重新变更的天数      密码需要变更前警告天数       密码更改的宽限期             密码过期日

root密码忘记的处理办法

一  利用单人维护模式,修改passwd密码

二  live cd开机后挂载/etc/shadow,将root的密码字段清空

查询密码加密的方式的指令

[root@localhost conf.d]# authconfig --test | grep hashing
password hashing algorithm is sha512

GID解析

GID放在了

/etc/group 和 /etc/gshadow 这两个目录下面。同上,一个保存账户信息,一个保存群组密码信息

[root@localhost conf.d]# head -n  /etc/group
root:x::
bin:x::
daemon:x::
sys:x::

解析类似:

root 用户名

x群组密码

0 GID

最后:后面的空意思是加入该群组的用户为空,如果想让两个用户加入群组,可以在:后面将这两个用户的用户名写入即可。

二  有效群组与支持群组

有效群组就是用户的默认群组,也就是你用户创建的时候的默认群组

支持群组,就是默认群组之外,你后加的支持的群组

查看用户的群组信息的命令

groups xxxx。即可查看用户的群组信息

如图:

可以看到,lsq这个用户的默认群组就是lsq

默认群组的作用:

你用该用户登录之后,创建目录,文件等操作,这些目录,文件的默认群组就是用户的默认群组。这就是默认群组的作用。这样就解决了,多用户情况下,自己账户做的文件及文件夹信息只能有自己查看的有效方法。

默认群组是否可以切换呢?答案是可以的。

newgrp命令。但是这个命令只能在有效群组和支持群组之间进行切换,而无法对不支持的群组进行切换。

所以一般情况下,首先你要查看一下用户所支持的群组,groups XXXX,然后根据所列出的群组信息,用newgrp来进行切换默认群组的操作。

OK。我们现在拿lsq这个用户来说,现在lsq只支持一个用户组,即lsq组,所以无法切换他的默认群组,因为只有一个,所以,我们需要先将该用户添加到想要的群组中

gpasswd命令来设置,命令详解 如下图:

首先我们需要将lsq加入到users组中。gpasswd -a lsq users ,然后groups lsq查看一下。然后登陆lsq账户,用newgrp users切换默认群组,然后groups查看一下默认群组是否切换,如下图

红框标注了命令执行前后的区别。groups之后,第一个显示的群组即该账户的默认群组。第一个红框,默认群组是lsq,第二个红框,默认群组是users.现在我们所有通过lsq账户做的操作添加目录,文件,都将具有users的权限。也就是所有有users组权限的用户都可以进行操作

三   新增移除使用者  useradd passwd usermod userdel

useradd解析:

OK。接下来鸟哥解答了我的一个 疑惑,就是为什么他会默认创建上面的默认群组,家目录等等。他的配置文件在哪里?

通过命令useradd -D即可以查看他的默认的配置信息

看到了么?GROUP 100 HOME /home SHELL /bin/bash

这里有个坑。就是默认群组 GROUP 100这个东东,我们查一下100这个群组是谁?

看到了么?100的群组是users。但是我们的lsq的默认群组是lsq并不是100啊。。。为啥不执行默认呢?书中给出了答案,安全性考虑。。。

即  私有群机制和公共群组机制

centos  rhel fedora等系统都是执行的似有群机制,也就是说,创建用户的时候,都会基于该用户名创建一个自己的群组

公共群组

SuSE  等系统

passwd 修改用户密码

root账户修改密码,可以不受密码限制的影响,任意修改。

自己修改密码,会受到密码限制的影响。

我们在安装系统时,会让我们输入root账户的密码。这个时候你会发现,你的密码是受限制的,比如太弱等等。但是你安装完系统之后,通过passwd来更改密码的时候,虽然他也会提示密码太弱等信息,但还是会修改你的root密码

他会提示,BAD PASSWORD。。。但是最终还是会successfully.这就是root的霸道之处,霸道总裁。

通过明码更改密码

,最关键的就是passwd 后面的stdin这个了。

chage 命令 

鸟哥,给了个很实用的例子,让用户在登录系统后,第一时间更改密码

即让用户密码在第一时间过期。

chage -d 0 agetest。。。在第0天更改密码。这样用户登录的时候,就需要第一时间修改密码信息了。

usermod 

。通过-c给账号加上说明信息。两个红框就是有说明信息和没说明信息的区别。

范例3是个很值得考究的东东。其中关于chown 和 chmod 这两个命令的解析

userdel 删除用户

id 指令  查询用户的详细信息

群组相关命令

综合实践:

首先 创建群组

然后添加用户,并将用户置于该群组

我画框的就是让用户无法登陆的脚本。。。。/sbin/nologin  用-s进行挂载

剩下的就很简单了。用passwd --stdin 来进行密码的更新

任务二

首先建立群组

然后建立用户并放入该群组

然后设置密码

然后创建目录

设置目录的群组权限

然后就是红框中的部分,2770的理解概念,用到了SGID的知识,你还记得么?我反正忘了。。。回头查查

OK。关于目录权限的SUID,SGID,SBIT的权限设置问题。

4       SUID设置用户的权限  当权限前加4的时候,意思就是该文档的执行权限具有了文档拥有者的权限。该权限只能用在系统的一些命令上。不能用在脚本上,也不能应用于目录上

2       SGID设置目录的group群组中的人都具有目录中文档拥有者的权限。也就是说实现了该目录群组下的所有人都可以修改同一个文件的功能

1       SBIT只针对目录起作用,主要针对others来设置当,用户在该目录下建立文档和文件时,只有自己和root用户才能够删除文档和目录

上面题目中,需要3个人同时协作文档,所以就需要三个人都可以修改某个文件,那就必须加上2这个SGID的权限。也就是2770目录权限的由来

Linux账号管理与ALC权限设定(一)的更多相关文章

  1. Linux账号管理与ALC权限设定(二) 批量增加用户脚本

    接上篇.鸟哥提出了一个问题.就是 如果myuser1用户是这个项目的助理,他只能查看该目录下的内容,而无法修改删除.那该如何操作呢? 首先,不能将该用户加入projecta这个群组,否则他也可以修改删 ...

  2. linux 账号管理与ACL权限设定

    此文涉及命令:useradd.usermod.userdel.passwd.chage.setfacl.getfacl.su.sudo.fingr.chfn.chsh.id.groupadd.grou ...

  3. linux备忘录-账号管理与ACL权限设定

    知识 账号管理中的一些文件结构 /etc/passwd 每一行的内容都为下面结构 账号名称:密码:UID:GID:用户信息说明:家目录:shell ---- UID ---- -- 0 -> 代 ...

  4. Linux 账号管理与 ACL 权限配置

    要登陆 Linux 系统一定要有账号与口令才行,否则怎么登陆,您说是吧?不过, 不同的使用者应该要拥有不同的权限才行吧?我们还可以透过 user/group 的特殊权限配置, 来规范出不同的群组开发项 ...

  5. 第十四章、Linux 账号管理与 ACL 权限配置

    1. Linux 的账号与群组 1.1 使用者标识符: UID 与 GID 1.2 使用者账号:/etc/passwd 文件结构, /etc/shadow 文件结构 1.3 关于群组: /etc/gr ...

  6. 第14章 Linux账号管理与ACL权限设置

    Linux的账号与用户组 用户标识符:UID与GID 每一个文件都有一个所有者ID和用户组ID,当我们需要查看文件属性时,系统会根据/etc/passwd和/etc/group的内容,找到对应UID和 ...

  7. Linux 账号管理及ACL权限设置,PAM模块简介

    有效群组与初始群组: groups:有效与支持群组的观察 newgrp:有效群组的切换,后面接群组名称 在passwd文件中记录的GID就是默认的GID,就是初始群组 /etc/passwd文件结构 ...

  8. 鸟哥私房菜基础篇:Linux 账号管理与 ACL 权限配置习题

    猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0410accountmanager.php 1-root 的 UID 与 GID 是多少?而基于这个理由 ...

  9. Linux账号管理与ACL权限设置

    1:UID和GID 用户ID:在/etc/passwd中 群组ID:在/etc/group中 2:有效群组与初始群组 初始群组:/etc/passwd文件里面的GID 有效群组: groups #查看 ...

随机推荐

  1. WPFの多屏幕问题

    public MainWindow(string sysName, int timeState) { InitializeComponent(); //查找当前屏幕数量 ) { Dispatcher. ...

  2. HashMap源码浅析

    HashMap源码主要一些属性 //默认的初始化容量(2的n次方) static final int default_inital_capacity = 16; //最大指定容量为2的30次方 sta ...

  3. Magolor的数据结构作业

    \(CodeForces 706E ~Working routine\) 给出一个矩阵,每次操作交换两个子矩阵,求最后状态. 使用链表存储,每次交换后,影响到的之后矩阵边缘的指针,暴力修改. \(~~ ...

  4. elasticsearch 6.x 安装search guard

    前言 es之前版本一直无用户验证功能,不过官方有提供一x-pack,但是问题是付费.在es的6.3.2版本中,已经集成了x-pack,虽然es团队已经对x-pack开源,但是在该版本中如果需要使用到安 ...

  5. Ubuntu 16.04 install R language

    apt-get install r-base r-base-dev

  6. RzPageControl(pagecontrol)

    实现多标签的动态添加,切换,关闭 使用RzPageControl来实现多标签页使用菜单来打开标签页,通过标签页的caption来判断将标签页是否已经被打开过了.1.创建标签页,并判断是否是已经打开过的 ...

  7. thinkphp 根据文件后缀的不同返回不同的结果

    ** * 根据文件后缀的不同返回不同的结果 * @param string $str 需要判断的文件名或者文件的id * @return integer 1:图片 2:视频 3:压缩文件 4:文档 5 ...

  8. MVC MVC3中 ViewBag、ViewData和TempData的使用和区别 【转】

    在MVC3开始,视图数据可以通过ViewBag属性访问,在MVC2中则是使用ViewData.MVC3中保留了ViewData的使用.ViewBag 是动态类型(dynamic),ViewData 是 ...

  9. 分布式系统理论基础4:Paxos

    本文转自:https://www.cnblogs.com/bangerlee/p/5655754.html 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到 ...

  10. echarts 柱状图 X(Y)轴数据过多时,滑动以及内置缩放的问题

    前言:在开发中碰到的情况(菜鸟出门).           在使用echarts 图表的时候发现要展示的数据过多,但是系统留的展示框太小,造成数据都挤压在一块(不好看而且新感觉很不专业).       ...