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. 在Linux上搭建私有git仓库

    最近在学Linux,顺便将自己的服务器用起来,不然又得废弃一年.这次是跟着网上的教程做一个简单的git私有仓库,复杂完整的git系统还需使用gitlib系统. 首先在linux上安装git yum i ...

  2. 第十一章 存储之ConfigMap

    1.描述信息 ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件.命令行参数或环境变量中读取配置信息.ConfigMap API 给我们提供了向容器中注入配置 ...

  3. mysql中级操作

    解析sql执行过程 show VARIABLES like '%profil%' //查看是否开启了剖析 如没开启set profiling=1; 启用 show profiles; set @que ...

  4. linux下各文件夹的结构及其用途说明

    bin 二进制可执行命令 dev 设备特殊问题 etc 系统管理和配置文件 etc/rc或etc/rc.d或etc/rc?.d启动或改变运行级时运行的脚本或脚本的目录 etc/passwd 用户数据库 ...

  5. MySQL-几种关联

    左表t1: DROP TABLE IF EXISTS t1; )); ,'t1a'); ,'t1b'); ,'t1c'); ,'t1d'); ,'t1f'); 右表 t2: DROP TABLE IF ...

  6. localstorage sessionstorage和cookie的区别

    基本概念 cookie:是网景公司的前雇员在1993年发明.它的主要用于保存登陆信息,比如登陆某个网站市场可以看到'记住密码’,这就是通过在cookie中存入一段辨别用户身份的数据来实现的. sess ...

  7. c++11的构造函数继承

    https://en.cppreference.com/w/cpp/language/using_declaration 在[Inheriting constructors]这一节. 其实叫做"基类的 ...

  8. 彻底理解 JS 中 this 的指向

    首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然 ...

  9. Mysql学习-安装与启动

    安装mysqlrpm -ivh Mysql-server....rpm安装完成后,会提示/usr/bin/mysqladmin -u root password 'new-password'也可以用m ...

  10. Ubuntu下Arm-Linux-GCC交叉编译环境的搭建

    1.下载arm-linux-gcc-3.4.1.tar.bz2到临时的目录下. 2.解压 arm-linux-gcc-3.4.1.tar.bz2 #tar -jxvf arm-linux-gcc-3. ...