操作系统权限管理

系统常见权限信息:
r(4) 读权限:
· 文件信息: 内容信息可以读取
· 目录信息: 查看目录数据信息
w(2) 写权限
· 文件信息: 内容信息可以编辑
· 目录信息: 操作目录数据信息(删除数据/创建数据/移动数据/修改数据名称)
x(1) 执行权限:
· 文件信息: 文件可以进行执行 /etc/rc.local
· 目录信息: 目录可以进行切换
系统权限分配方式:
rwx 第一组权限: 分配给属主用户
rw- 第二组权限: 分配给属组用户
r-- 第三组权限: 分配给其他用户
PS: 系统常用权限位: 9位权限位 实际是为12位 (面试)
系统权限配置方法:
rwx- 000~777 001 002 003

image.png

image.png

系统权限详细说明:

文件权限总结:

  1. 文件如果想正常编写, 必须要有读权限
  2. 文件如果想正常执行, 必须要有读权限
  3. 文件如果拥有执行权限, 管理员用户拥有文件绝对权限
    总结: 对于文件来说, 读取权限是最重要, 可以让写和执行权限有意义

目录权限总结:

  1. 目录如何想正常查看, 必须要有执行权限
  2. 目录如何想正常操作, 必须要有执行权限
  3. 目录没有任何权限信息, 管理员用户拥有目录绝对权限
    总结: 对于目录来说, 执行权限是最重要, 可以让读和写权限有意义

目录的权限图


image.png

最终结论:

  1. root用户在系统中属于无敌存在, 只要文件有执行权限, 可以随意操作文件和目录信息

疑问:

  1. 当目录只有读权限时, 属主用户查看信息为什么只能看见文件名称, 不能看见文件属性信息?
    说明:

    1. 目录只有读权限, 只能利用读权限查看目录block信息
    2. 目录需要有执行权限, 才能进入到目录中, 查看文件的inode获得属性信息
      提示: inode block
      inode作用: 查看数据内容索引信息
      存储: 文件属性信息/block指针信息
      block作用: 真正存储数据内容信息
      普通文件: inode 文件属性 指针信息
      block 真正文件内容
      目录文件: inode 目录属性 指针信息
      block 目录下面数据名称
      image.png
  2. 一个文件权限为777, 属主属组为oldboy, 但是oldboy用户无法操作管理此文件?
    提示: 利用inode block, 理解系统数据文件读写原理 权限说明
    说明: 对文件信息进行读写操作, 和文件本身权限有关/和文件所在目录路径权限也有关系

系统数据默认权限

文件默认权限: 644(root)
目录默认权限: 755(root)

如何修改默认权限:
umask: 0022
umask是奇数信息
文件默认权限: 666 - umask(033) = 63(+1)3(+1) == 644 文件做奇数运算位, 做完运算还需要在加1
目录默认权限: 777 - umask(033) = 744
umask是偶数信息
文件默认权限: 666 - umask(022) = 644
目录默认权限: 777 - umask(022) = 755

临时修改:
文件默认权限: 需求 600 666 - umask(066) = 600
需求 611 666 - umask(055) = 61(+1)1(+1) = 622
目录默认权限: 需求 700 777 - umask(077) = 700

永久修改:
vim /etc/profile
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022
fi

解释01: 脚本判断语句信息
a 单分支判断语句:  if 条件 then 操作 fi
b 双分支判断语句:  if 条件 then 方案一操作 else 方案二操作 fi
   
解释02: 判断条件信息意思
a 条件判断有单一条件和多条件判断(并且关系 或者关系)    
b 每个条件表达的意思
-gt  大于什么 >
-lt  小于什么 <
-eq  等于什么 ==
-ge  大于等于 
-le  小于等于 
-ne  不等于
$UID -gt 199   : 判断当前用户UID数值是否大于199
"`/usr/bin/id -gn`" = "`/usr/bin/id -un`"  : 当前登录系统用户名称和用户组名称是否一致

系统用户提权方法

解释说明: 让普通用户可以获得管理员部分或者全部权利 皇帝root -大宝剑(sudo)- 将军 -大宝剑(sudo)-> 贪官
实现方式:
第一个里程: 编写提权配置文件
vim /etc/sudoers --- visudo (语法检查)
100: oldgirl ALL=(ALL) /usr/bin/cat /etc/shadow
01 02 03
01: 将管理员权限赋予给哪个普通用户
02: 进行权限统一集中管理 (跳板机服务 jumpserver)
03: 赋予普通用户权限信息
赋予权限方法:
a 赋予权限命令必须绝对路径信息
b 多个权限之间必须有分隔符号 利用,分隔

方法一: 配置单一权限信息
方法二: 配置多个权限信息
oldgirl ALL=(ALL)       /usr/bin/cat /etc/shadow, /usr/bin/rm /etc/hosts
oldgirl ALL=(ALL)       /usr/bin/cat, /usr/bin/rm
oldgirl ALL=(ALL)       /usr/bin/*, /usr/sbin/*
oldgirl ALL=(ALL)       /usr/bin/*, /usr/sbin/*, !/usr/bin/rm, !/usr/sbin/visudo
方法三: 免密码进行提权操作
oldgirl ALL=(ALL)       NOPASSWD: /usr/bin/*, /usr/sbin/*, !/usr/bin/rm, !/usr/sbin/visudo
    
第二个里程: 切换到普通用户查看自己提权信息
[oldgirl@linux67 ~]$ sudo -l
User oldgirl may run the following commands on linux67:
(ALL) /usr/bin/cat /etc/shadow

第三个里程: 测试提权操作是否成功
sudo cat /etc/shadow

总结结论: 普通用户操作系统权限拒绝, 可以如何调整
修改文件或者目录权限 (权限位信息 chmod)
用户身份信息进行调整 (切换管理员身份 su -) OK
设置普通用户提权配置 (普通用户拥有管理员部分权限 sudo) OK
修改文件数据特殊权限
检查数据是否加锁配置

操作系统特殊权限位

  • setuid : s 属主权限 4 属主权限位总结: s r w x
    概念说明: 可以让所有普通用户获得指定文件属主用户能力, 像属主用户一样执行命令或者操作文件
    以文件的所属用户身份执行,而非执行文件的用户
    作用说明: 特殊命令操作权限 --> 赋予 --> 所有普通用户
    设置方法: chmod u+s/u-s 文件信息 u(user 属主) | chmod 4755 文件信息

  • setgid : s 属组权限 2 属组权限位总结: s r w x
    概念说明: 可以让所有普通用户获得指定文件属组用户能力, 像属组用户一样执行命令或者操作文件
    以文件的所属用户组身份执行,而非执行文件的用户
    设置方法: chmod g+s/g-s 文件信息 g(group 属组) | chmod 2755 文件信息

  • Sticky bits (粘滞位) : t 1 ***** 其他用户权限位总结: t r w x
    概念说明: 给目录设置特殊权限, 将目录变为共享资源目录, 文件数据只能被属主用户所管理
    其他用户只看文件内容
    设置方法: chmod o+t/o-t 文件信息 o(other 其他用户) | chmod 1777 目录信息

  • 总结权限命令: chmod -- 修改数据权限信息

针对不同用户修改权限

· 属主用户: chmod u +-= s r w x 文件/目录
· 属组用户: chmod g +-= s r w x 文件/目录
· 其它用户: chmod o +-= t r w x 文件/目录

针对所有用户修改权限

· 按照字符进行修改: chmod a +-= r w x 文件/目录
· 按照数值进行修改: chmod 000 ~ 777 文件/目录
chmod 0000 - 7777 文件/目录
PS: 使用chmod前提, 必须对权限非常熟悉

  • chown -- 修改文件数据属主和属组信息
    chown oldgirl oldboy.txt --- 只修改文件属主信息
    chown .oldboy01 oldboy.txt --- 只修改文件属组信息
    chown oldgirl.oldboy01 oldboy.txt --- 属主和属组信息同时修改
    chown oldgirl. oldboy.txt
    chown -R oldgirl. /oldboy --- 递归修改目录属主属组以及目录下面所有数据属主和属组

  • 给文件上锁命令:
    chattr +i 文件信息 --- 给文件上锁
    lsattr 文件信息 --- 查看文件是否上锁
    chattr -i 文件信息 --- 给文件解锁
    说明: 系统中非常重要文件必须上锁

  • 普通用户操作系统, 出现权限拒绝, 如何处理
  1. 修改文件或目录权限 chmod OK

  2. 进行用户身份信息转换 su - root OK

  3. 进行用户提权操作 sudo OK

  4. 修改文件特殊权限位 setuid setgid 粘滞位 OK

  5. 文件数据信息上锁

    面试题: 根据以下文件属性信息, 判断文件权限, 但是此时root用户无法编辑文件什么原因:
    -rw-r--r-- 1 root root 158 Nov 8 11:38 /etc/hosts
    可能文件被上锁了, 利用lsattr查看确认, 利用chattr -i 解锁

操作系统用户管理

操作系统用户知识回顾
用户分类:
· 创建管理员 权限比较大 root uid 0
· 虚拟用户 管理进程信息 nobody uid 1-999 不能登录系统 不能有家目录
· 普通用户 权限较低用户 oldboy uid 1000+

用户和用户组关系:
用户标识信息:
uid : 用户身份证号
gid : 用户组编号

和用户或者用户组相关文件信息

/etc/passwd ****** : 保存系统所有用户信息
/etc/shadow : 保存系统所有用户密码信息
/etc/group : 保存系统所有用户组信息
/etc/gshadow : 保存系统所有用户组密码信息

image.png

sunwukong01:x:1024:1024::/home/sunwukong01:/bin/bash
sunwukong02:x:1025:1025::/home/sunwukong02:/bin/bash
sunwukong03:x:1026:1026::/home/sunwukong03:/bin/bash
sunwukong04:x:1027:1027::/home/sunwukong04:/bin/bash
sunwukong05:x:1028:1028::/home/sunwukong05:/bin/bash
01 02 03 04 05 06 07

  1. 用户名称信息
  2. 早期密码信息
  3. 用户UID数值信息
  4. 用户GID数值信息
  5. 用户描述信息
  6. 用户家目录信息
  7. shell信息 登录系统方式
    /bin/bash --- 可以登录
    /sbin/nologin --- 不可以登录系统

测验: passwd文件中有多少个虚拟用户
grep
awk
思路1) 查出虚拟用户
grep "/sbin/nologin" /etc/passwd
awk '$NF~/nologin/' /etc/passwd

思路2) 将查出虚拟用户进行统计
grep -c "/sbin/nologin" /etc/passwd
awk '$NF~/nologin/{i++}END{print "虚拟用户数量:",i}' /etc/passwd

  • 和用户相关目录信息
    /etc/skel --- 用户家目录样板房
    .bash_logout --- 用户退出系统后执行操作
    .bash_profile --- 可以配置变量 环境变量 别名 局部配置
    .bashrc --- 可以配置变量 环境变量 别名 局部配置

/home/oldboy --- 用户房子

用于修复加目录
命令提示符出现错误/家目录中没有任何信息
cp /etc/skel/.b* ~/
面试题: 命令提示符显示异常了如何修复: -bash-4.2$
方法一: 修复用户家目录
方法二: 设置PS1环境变量

useradd --- 创建用户命令
-u --- 指定用户uid信息
-c --- 设置用户描述信息
-g --- 指定用户属于哪个主要组
-G --- 指定用户属于哪个附属组
[root@linux67 ~]# useradd alex07 -u 2002 -c dba -g olddog -G linux
[root@linux67 ~]# grep -E "olddog|linux" /etc/group
linux:x:1500:alex07
olddog:x:1201:
[root@linux67 ~]# id alex07
uid=2002(alex07) gid=1201(olddog) groups=1201(olddog),1500(linux)
创建虚拟用户:
-s --- 指定登录方式 /sbin/nologin
-M --- 指定不能创建家目录

useradd alex08 -M -s /sbin/nologin ***** --- 如何创建虚拟用户

ll -d /home/alex08

ls: cannot access /home/alex08: No such file or directory
[root@linux67 ~]# grep alex08 /etc/passwd
alex08:x:2003:2003::/home/alex08:/sbin/nologin
[root@linux67 ~]# su - alex08
su: warning: cannot change directory to /home/alex08: No such file or directory
This account is currently not available.

测验: 创建一个database用户, uid为888, 并且不能登录系统, 不能有家目录
useradd -u 888 -s /sbin/nologin -M

usermod - 修改用户信息
-u --- 修改用户uid信息
-c --- 修改用户描述信息
-g --- 修改用户属于哪个主要组
-G --- 修改用户属于哪个附属组
-s --- 修改登录方式 /sbin/nologin

userdel --- 删除用户家目录
userdel -r 用户信息 --- 彻底删除用户
问题: 删除用户不彻底, 有可能原有家目录会被别人占用

掌握用户相关命令信息

groupadd : 创建指定用户组 -g 指定组id
groupadd dev -g 2000
grep dev /etc/group
dev:x:2000:
groupdel :
groupmod : 修改指定用户组 -g 指定组id

开发人员 -- 线上服务器 完全控制 开发目录
chown dev01.dev01 /development/
chmod g+w /development/

ll /development/ -d

drwxrwxr-x 2 dev01 dev01 6 Nov 11 15:44 /development/
usermod sa01 -G dev01

运维人员 -- 线上服务器 完全控制 开发目录 运维目录 数据库目录
???
据库人员 -- 线上服务器 完全控制 数据库目录
???

如何查看用户信息:

whoami --- 以什么用户登录系统
id --- 查看用户uid数值 所属组信息 以及组id数值
w --- 显示系统当前状态登录用户信息
ps -ef|grep ssh ---> kill 进程号
last --- 记录谁远程连接破坏过系统
lastlog --- 系统用户登录情况

合理设置不同用户权限, 设置用户密码信息
密码信息如何设置管理:
方法一: excel 表格
方法二: 利用密码管理软件/jumpserver ******
方法三: 需要密码令牌 动态变化

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342