Linux账号管理与ALC权限设定(一)
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权限设定(一)的更多相关文章
- Linux账号管理与ALC权限设定(二) 批量增加用户脚本
接上篇.鸟哥提出了一个问题.就是 如果myuser1用户是这个项目的助理,他只能查看该目录下的内容,而无法修改删除.那该如何操作呢? 首先,不能将该用户加入projecta这个群组,否则他也可以修改删 ...
- linux 账号管理与ACL权限设定
此文涉及命令:useradd.usermod.userdel.passwd.chage.setfacl.getfacl.su.sudo.fingr.chfn.chsh.id.groupadd.grou ...
- linux备忘录-账号管理与ACL权限设定
知识 账号管理中的一些文件结构 /etc/passwd 每一行的内容都为下面结构 账号名称:密码:UID:GID:用户信息说明:家目录:shell ---- UID ---- -- 0 -> 代 ...
- Linux 账号管理与 ACL 权限配置
要登陆 Linux 系统一定要有账号与口令才行,否则怎么登陆,您说是吧?不过, 不同的使用者应该要拥有不同的权限才行吧?我们还可以透过 user/group 的特殊权限配置, 来规范出不同的群组开发项 ...
- 第十四章、Linux 账号管理与 ACL 权限配置
1. Linux 的账号与群组 1.1 使用者标识符: UID 与 GID 1.2 使用者账号:/etc/passwd 文件结构, /etc/shadow 文件结构 1.3 关于群组: /etc/gr ...
- 第14章 Linux账号管理与ACL权限设置
Linux的账号与用户组 用户标识符:UID与GID 每一个文件都有一个所有者ID和用户组ID,当我们需要查看文件属性时,系统会根据/etc/passwd和/etc/group的内容,找到对应UID和 ...
- Linux 账号管理及ACL权限设置,PAM模块简介
有效群组与初始群组: groups:有效与支持群组的观察 newgrp:有效群组的切换,后面接群组名称 在passwd文件中记录的GID就是默认的GID,就是初始群组 /etc/passwd文件结构 ...
- 鸟哥私房菜基础篇:Linux 账号管理与 ACL 权限配置习题
猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0410accountmanager.php 1-root 的 UID 与 GID 是多少?而基于这个理由 ...
- Linux账号管理与ACL权限设置
1:UID和GID 用户ID:在/etc/passwd中 群组ID:在/etc/group中 2:有效群组与初始群组 初始群组:/etc/passwd文件里面的GID 有效群组: groups #查看 ...
随机推荐
- numpy 中的broadcast 机制
https://www.cnblogs.com/jiaxin359/p/9021726.html
- dictionary小项目代码管理
软件项目开发流程 需求分析 ----> 概要设计 ---> 项目计划 ---->详细设计--->编码测试 -----> 项目测试 ---->调试修改 ---> ...
- Codeforces 360C DP 计算贡献
题意:给你一个长度为n的字符串,定义两个字符串的相关度为两个串对应的子串中第一个串字典序大于第二个串的个数.现在给你相关度,和第二个串,问满足条件的第一个串有多少个? 思路:设dp[i][j]为填了前 ...
- Git--将已有的项目添加到github(转)
转自:https://blog.csdn.net/north1989/article/details/53471439 1. 目标: 把本地已经存在的项目,推送到github服务端,实现共享. 2. ...
- 大数据基础环境--jdk1.8环境安装部署
1.环境说明 1.1.机器配置说明 本次集群环境为三台linux系统机器,具体信息如下: 主机名称 IP地址 操作系统 hadoop1 10.0.0.20 CentOS Linux release 7 ...
- PHP filter_var_array() 函数
定义和用法 filter_var_array() 函数获取多个变量,并进行过滤. 该函数对过滤多个值很有用,无需重复调用 filter_var(). 如果成功,则以数组形式返回请求变量的值.如果失败, ...
- Database基础(二):MySQL索引创建与删除、 MySQL存储引擎的配置
一.MySQL索引创建与删除 目标: 本案例要求熟悉MySQL索引的类型及操作方法,主要练习以下任务: 普通索引.唯一索引.主键索引的创建/删除 自增主键索引的创建/删除 建立员工表yg.工资表gz, ...
- 浅析DirectX11技术带给图形业界的改变(一) 浅析DirectX11技术带给图形业界的改变【转】
浅析DirectX11技术带给图形业界的改变(一) 浅析DirectX11技术带给图形业界的改变 前言:2009年10月23日,微软高调发布了其最新一代操作系统——Windows7,这款操作系统相对于 ...
- Hive 窗口函数
举例: row_number() over(partition by clue_id order by state_updated desc) 业务举例: select distinct a.clue ...
- 漫谈C语言结构体【转】
相信大家对于结构体都不陌生.在此,分享出本人对C语言结构体的学习心得.如果你发现这个总结中有你以前所未掌握的,那本文也算是有点价值了.当然,水平有限,若发现不足之处恳请指出.代码文件test.c我放在 ...