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 #查看 ...
随机推荐
- day01 python初识、数据类型、流程控制
今日内容大纲:1,计算机基础. cpu,内存,硬盘,操作系统.2,python的发展与应用.3,python的历史. 2008年python同时更新了两个版本 1,python2x python3x ...
- hbase配置详解(转)
转自:http://www.cnblogs.com/viviman/archive/2013/03/21/2973539.html 1 准备工作 因为我只有一台机器,所以,一切都成为了伪分布,但是,其 ...
- ThreadLocal简单使用示例
ThreadLocal为每个线程提供单独的数据副本,线程间的数据为自身线程所独有(不存在共享变量问题),直接看代码 public class ThreadLocalTest { private sta ...
- js对象的深度拷贝
//判断对象的类型 Array Object Function String Number ..... function getObjType(obj){ return Object.prototyp ...
- java--ArrayList,LinkedList应用比较
import java.util.ArrayList; import java.util.LinkedList; import java.util.List; public class ListDem ...
- mysql内连接(inner join 找两个表的交集)、左连接(left join 交集并且左表所有)、右连接(right join 交集并且右表所有)、全连接(mysql不支持)
用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...
- python学习--第二天 爬取王者荣耀英雄皮肤
今天目的是爬取所有英雄皮肤 在爬取所有之前,先完成一张皮肤的爬取 打开anacond调出编译器Jupyter Notebook 打开王者荣耀官网 下拉找到位于网页右边的英雄/皮肤 点击[+更多] 进入 ...
- c++11 委派构造函数
委派构造函数可以减少构造函数的书写量: class Info { public: Info() : type(), name('a') { InitRest(); } Info(int i) : ty ...
- ceph学习笔记之十二 Ubuntu安装部署Ceph J版本
https://cloud.tencent.com/info/2b70340c72d893c30f5e124e89c346cd.html 安装Ubuntu系统安装步骤略过 拓扑连接: 一.安装前准备工 ...
- LA 3971 Assemble(二分)
题目: 给你b元钱,让你组装一台电脑,有n个配件,属性有 种类 名字 价格 品质,每种类型选至少一个,并且最小品质最大.输出这个最大的最小品质. 白书上说了,最小值最大的问题一般是二分来求解答案.在这 ...