day 16 权限详解

Day 16


作者:翟玉龙

归档:课堂笔记

2019/3/21

快捷键:

Ctrl  + 1    标题1

Ctrl  + 2    标题2

Ctrl  + 3    标题3

Ctrl  + 4    实例

Ctrl  + 5    程序代码

Ctrl  + 6    正文

格式说明:

蓝色字体:注释

黄色背景:重要

绿色背景:注意

老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结

学无止境,老男孩教育成就你人生的起点!

联系方式:

网站运维QQ交流群:

Linux 385168604架构师390642196

Python 29215534大数据421358633

官方网站:

http://www.oldboyedu.com 

目录

学无止境,老男孩教育成就你人生的起点!... 1

第1章 权限... 1

1.1 Linux基础权限... 1

Linux基础权限是9个字符。... 1

第2章 目录的读写执行权限... 10

2.1企业环境下[if !vml]

[endif]............................................................................................................................................................................. 13






[if !supportLists]第1章 [endif]权限

[if !supportLists]1.1 [endif]Linux基础权限

Linux基础权限是9个字符。

rw-r--r--

rw-r--r—

rw-                        r--                              r--

rw-                        r--                              r--

前三位:用户(属主)权限位

中三位:用户组权限位

后三位:其他用户权限位

r--  第一个字符的位置是读的权限位。 User 用户    U

     第二个字符的位置是写的权限位。 Group  用户组   G

     第三个字符的位置是执行的权限位。   Others其他用户  O

Linux基础权限是9个字符。

[root@oldboyedu ~]# ls -lhi

total 36K

33631870 -rw-r--r--. 1 root root     21 Oct 6 22:54 a.txt

33631871 -rw-r--r--. 1 root root     16 Oct 6 23:02 b.txt

33631857 -rw-r--r--  1 root root     61 Oct 7 00:11 c.txt


rw-r--r--

rw-r--r--

rw-r--r--


分3组:

前三个字符是表示用户(属主)权限位  user(用户)u

中三个字符是表示用户组权限位group(用户组)     g

后三个字符是其它用户权限位others(其他用户)    o


同一组的三个字符权限也是有位置的:

r-- 第一个字符的位置读的权限位

    第二个字符的位置写的权限位

       第三个字符的位置是执行的权限位。


r  4

w  2

x  1

-  0


【文件】权限详细说明:****

【目录】权限详细说明:****

测试准备:

incahome(家、组)   

oldboy   家庭男主人,用来代表用户(User)角色,是文件的所有者

oldgirl   女主人(和所有者oldboy属于相同组,oldboy的家人)用来代表用户组incahome的角色

test  其他人    其他(others)人,用来代表其他用户角色


[root@oldboyedu ~]# groupadd incahome

[root@oldboyedu ~]# useradd oldboy

useradd: user 'oldboy' already exists

[root@oldboyedu ~]# usermod -g incahomeoldboy

[root@oldboyedu ~]# id oldboy

uid=1000(oldboy) gid=1004(incahome)groups=1004(incahome),1000(oldboy)


如果此前没有创建oldboy,可以执行下面命令,而不需要usermod命令。

[root@oldboyedu ~]# useradd oldboy -gincahome


[root@oldboyedu ~]# useradd oldgirl -gincahome

useradd: user 'oldgirl' already exists

[root@oldboyedu ~]# id oldgirl

uid=1001(oldgirl) gid=1001(oldgirl)groups=1001(oldgirl)

[root@oldboyedu ~]# usermod -g incahomeoldgirl

[root@oldboyedu ~]# id oldgirl

uid=1001(oldgirl) gid=1004(incahome)groups=1004(incahome)

[root@oldboyedu ~]# useradd test

useradd: user 'test' already exists


准备环境:

[root@oldboyedu ~]# mkdir -p /oldboy

[root@oldboyedu ~]# echo "echooldboyLinux" >/oldboy/test.sh

[root@oldboyedu ~]# chmod +x/oldboy/test.sh


1. 测试默认情况下不同用户的对应权限


[root@oldboyedu /oldboy]# chownoldboy.incahome test.sh

[root@oldboyedu /oldboy]# ls -l

total 4

-rwxr-xr-x 1 oldboy incahome 22 Oct  7 21:18 test.sh


权限修改:

777 +x -x u=w  g-x


Linux权限有两种表现形式:

1、数字表示法称为8进制权限

r 4

w 2

x 1

- 0

实际的权限表示就是将每3位相加即可。

rwxr-xr-x 755


rwx 7

r-x 5

r-x 5


2、字符表示法


rw-rw-r-x 代表的数字权限为665

--xr-x-wx 代表的数字权限为153

-wx--x--x 代表的数字权限为311



而以下数字权限表示的字符权限如下:

755  代表的字符权限为rwxr-xr-x

644  代表的字符权限为rw-r--r--

134  代表的字符权限为--x-wxr--



修改文件属性的用户和组

chown 用户.用户组文件  这里的点可以用:替换。

chown 用户文件

chown .用户组文件  ====chgrp用户组文件



chgrp incahome test.txt



[root@oldboyedu /oldboy]# chown oldboytest.sh

[root@oldboyedu /oldboy]# ls -l

total 4

---x--x--x 1 oldboy root 12 Oct  7 22:16 test.sh

[root@oldboyedu /oldboy]# chown .incahometest.sh

[root@oldboyedu /oldboy]# ls -l

total 4

---x--x--x 1 oldboy incahome 12 Oct  7 22:16 test.sh

[root@oldboyedu /oldboy]# chown root:roottest.sh

[root@oldboyedu /oldboy]# ls -l

total 4

---x--x--x 1 root root 12 Oct  7 22:16 test.sh

[root@oldboyedu /oldboy]#


安全权限临界点:

文件不想被修改被执行:644

[root@oldboyedu /oldboy]# touch oldboy.txt

[root@oldboyedu /oldboy]# ls -l

total 4

-rw-r--r-- 1 root    root 0 Oct  7 23:21 oldboy.txt

目录不想被修改(删除移动创建)被执行(进入):755


博客:写博客。。。服务器的博客目录和文件的权限,防止被恶意篡改。


企业真实案例:网站文件被恶意修改了。。。。打开网站后有弹窗广告(不是你网站的)

用户打开网站,报警。

原因:权限设置不到位。chmod

-R 777 目录开发人员习惯


解决方案:

1、备份

tar zcvf /opt/oldboy_$(date +%F).tar.gz./oldboy/


2、找到被修改的文件

[root@oldboyedu /]# find /oldboy -type f|xargs grep 'ddddddddddddd'

/oldboy/oldboy.txt:ddddddddddddd

/oldboy/test.sh:ddddddddddddd


3、批量删除

[root@oldboyedu /]# find /oldboy -type f|xargs sed -i '/ddddddddddddd/d'

[root@oldboyedu /]# find /oldboy -type f|xargs grep 'ddddddddddddd'


4、找到文件被篡改来源,并优化调整。

亡羊补牢。


5、写总结故障报告。


控制默认权限的东西  umask

[root@oldboyedu /oldboy]# umask

022




创建文件默认最大的权限为666(-rw-rw-rw-),其默认创建的文件没有可执行权限x位。

666

022 -

--------------------

644 默认权限

[root@oldboyedu /oldboy]# umask 044    ====临时

[root@oldboyedu /oldboy]# touch abc

[root@oldboyedu /oldboy]# ls -l abc

-rw--w--w- 1 root root 0 Oct  7 23:42 abc


[root@oldboyedu /oldboy]# umask 044

[root@oldboyedu /oldboy]# touch abc

[root@oldboyedu /oldboy]# ls -l abc

-rw--w--w- 1 root root 0 Oct  7 23:42 abc

[root@oldboyedu /oldboy]# umask

0044

[root@oldboyedu /oldboy]# umask 043

[root@oldboyedu /oldboy]# umask

0043

[root@oldboyedu /oldboy]# touch a

[root@oldboyedu /oldboy]# ls -l a

-rw--w-r-- 1 root root 0 Oct  7 23:44 a


当umask中存在奇数位的时候,在计算完毕,奇数位加1


666

011

-------------------

655

 11

-----------------

666



基于文件:默认权限规则了解

从666计算

umask都为偶数默认权限用减法

umask有奇数默认权限用减法然后奇数位加1


基于目录:默认权限规则


从777计算

默认权限用减法




Linux系统特殊权限位知识

9位基础权限


还有3位特殊权限位

suid位:

suid(setuid)位通过S字符标识,

存在于基本权限的用户权限位的x权限对应的位置,

如果用户权限位对应的x权限位上有x权限,则suid就用小写的s标识,

suid的s对应的数字权限为4,完整权限用八进制数4000表示。


sgid位:

sgid(setgid)位同样是通过S字符来标识,

但是,sgid位存在于基本权限的用户组权限位的x权限对应的位置,

如果用户组权限位对应的x权限位上有x权限,则sgid就用小写的s标识,

suid的s对应的数字权限为2,完整的权限用八进制数2000表示。


sticky(粘滞位)知识简介

sticky(粘滞)位通过字符T标识,存在于基本权限的其他用户位对应的x权限位上,

如果其他用户位的x权限位上有x权限,

则sticky(粘滞)位通过小写的t标识,对应的数字权限是1,

完整的权限用八进制数1000表示。



4 2 1,加和放在基础权限数字的前面。

修改方法:

[root@oldboyedu /oldboy]# chmod 7755 abc

预测:-rwsr-sr-t

[root@oldboyedu /oldboy]# chmod 7755 abc

[root@oldboyedu /oldboy]# ls -l abc

-rwsr-sr-t 1 root root 0 Oct  7 23:42 abc


[root@oldboyedu /oldboy]# chmod 7644 abc

[root@oldboyedu /oldboy]# ls -l abc

-rwSr-Sr-T 1 root root 0 Oct  7 23:42 abc



工作中有啥用?


suid到底有什么作用

简单地说,suid的作用就是让普通用户可以在执行某个设置了suid位的命令或程序时,

拥有和root管理员一样的身份和权限(默认情况)。




[oldgirl@oldboyedu /]$ ll -ld oldboy/

dr-x-wxrw-. 2 oldboy incahome 6 Oct  7 22:15 oldboy/


oldgirl属于incahome,增加一个用户属于incahome,是不是也和oldgirl有同样权限。


oldboy 给一个新用户设置suid,这个新用户的权限就和oldboy一样。


[if !vml]

[endif]

[if !vml]

[endif]

                R            4                      -                   0

        W            2                     x                  1

[if !vml]

[endif][if !vml]

[endif] 



[if !supportLists]第2章 [endif]目录的读写执行权限

[if !vml]

[endif][if !vml]

[endif] Linux权限有两种表现形式

1数字表达

  R4

W2

X1

-0

实际的权限表示即是权限的三位相加即可

2.字符表示法

[if !vml]

[endif]


修改文件属性的用户和组

[if !supportLists]2.1 [endif]企业环境下[if !vml]

[endif]

 

                    安全权限临界点:

  文件不想被修改:644

rw-  r--  r— 文件临界点

目录不想被修改(删除移动创建)被执行(进入):755

企业案例:

  网站文件被恶意修改,打开网站后有弹窗广告(不是自己网站的弹窗广告)

用户打开网站会提示中毒,or报警

原因:权限设置不到位 chmod -R 777 目录  开发人员习惯

解决方案:

1.备份 :打企业真实案例:网站文件被恶意修改了。。。。打开网站后有弹窗广告(不是你网站的)用户打开网站,报警。原因:权限设置不到位。chmod -R 777 目录 开发人员习惯

解决方案:

1

、备份

tar zcvf /opt/oldboy_$(date +%F).tar.gz ./oldboy/

2

、找到被修改的文件

[root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'

/oldboy/oldboy.txt:ddddddddddddd

/oldboy/[if !vml]

[endif]test.sh:ddddddddddddd

3

、批量删除

[root@oldboyedu /]# find /oldboy -type f |xargs sed -i '/ddddddddddddd/d'

[root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'

4

、找到文件被篡改来源,并优化调整。亡羊补牢。

5

、写总结 故障报告。




控制默认权限的东西umask  默认umask是022

[root@zyl  18:32:11 /oldboy]# umask

0022

创建文件的最大的权限是666

666

022 –

644 默认权限

当umask中存在奇数位的时候,在计算完毕后在奇数位加1

基于文件

Umask都是偶数,默认权限用减法

Umask有奇数,默认权限用减法,然后奇数位减1

基于目录;

从777计算,

直接减法

特殊权限

9位基础权限

还有3位特殊权限位

Suid位用大写的S标识与x权限重合,有x权限是小s 没有x权限是大S

Suid的s对应的数字权限为4

Sgid 为也是S来表示

2

Sticky 通过大写T表示

1


[if !vml]

[endif]



                     工作中咋用:

[if !vml]

[endif]

[if !vml]

[endif]

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

推荐阅读更多精彩内容