重點(diǎn):
- 【文件】權(quán)限詳細(xì)說(shuō)明:*****
- 【目錄】權(quán)限詳細(xì)說(shuō)明:*****
- 字符和數(shù)字(8進(jìn)制)權(quán)限知識(shí)*****
chmod chown chgrp命令使用。*****
企業(yè)真實(shí)案例:網(wǎng)站文件被惡意修改了*****
umask默認(rèn)權(quán)限控制* - 特殊權(quán)限,suid** sgid sticky*
重點(diǎn)suid
命令:
chown 改變屬主屬組
chmod 改變權(quán)限
-
修改文件屬性的用戶和組
chown 用戶.用戶組 文件 這里的點(diǎn)可以用:替換够掠。
chown 用戶 文件
chown .用戶組 文件 ====chgrp 用戶組 文件
image.png
1.Linux基礎(chǔ)權(quán)限是9個(gè)字符塞颁。
1.1普通文件對(duì)應(yīng)讀踩麦、寫(xiě)球切、執(zhí)行權(quán)限的詳細(xì)說(shuō)明
rw-r--r--
rw-r--r--
rw-r--r--
- 分3組:
前三個(gè)字符是表示用戶(屬主)權(quán)限位 user(用戶) u
中三個(gè)字符是表示用戶組權(quán)限位 group(用戶組) g
后三個(gè)字符是其它用戶權(quán)限位 others(其他用戶) o - 同一組的三個(gè)字符權(quán)限也是有位置的:
r-- 第一個(gè)字符的位置讀的權(quán)限位
第二個(gè)字符的位置寫(xiě)的權(quán)限位
第三個(gè)字符的位置是執(zhí)行的權(quán)限位虹曙。
1. 對(duì)于普通文件
1)可讀r:表示具有讀取瀏覽文件內(nèi)容(block實(shí)體的權(quán)限)迫横。
2)可寫(xiě)w:表示可以對(duì)文件內(nèi)容進(jìn)行增刪改文件內(nèi)容的權(quán)限
3)可執(zhí)行:表示具有執(zhí)行文件的權(quán)限
-
對(duì)于可讀r,有兩點(diǎn)說(shuō)明
2疏哗、刪除文件或創(chuàng)建文件是受父目錄(上一級(jí)目錄)的權(quán)限控制的(因?yàn)槲募麤](méi)有存放在inode里呛讲,而是存放在上級(jí)目錄的block里,若修改上級(jí)目錄的block,當(dāng)然要受上級(jí)目錄的inode的權(quán)限控制)贝搁,和文本本身權(quán)限無(wú)關(guān)吗氏,因此,文件本身的可寫(xiě)w權(quán)限和文件是否能被刪除和改名沒(méi)有關(guān)系
1酝碳、如果沒(méi)有可讀r配合矾踱,那么使用vi編輯器追加時(shí)會(huì)提示無(wú)法編輯(但可強(qiáng)制編輯),可以使用echo等命令進(jìn)行重定向追加
image.png 對(duì)于可執(zhí)行x雷逆,需要注意以下三點(diǎn)弦讽。
1、首先文件的本身要能夠執(zhí)行(命令和腳本)
2膀哲、如果是普通用戶往产,同時(shí)還需要具備,可讀r權(quán)限才能執(zhí)行文件
3某宪、而root用戶只要有可執(zhí)行x的權(quán)限就能執(zhí)行文件
2. 對(duì)于目錄
image.png
- 測(cè)試準(zhǔn)備:
incahome(家仿村、組)
oldboy 家庭男主人,用來(lái)代表用戶(User)角色兴喂,是文件的所有者
oldgirl 女主人(和所有者oldboy屬于相同組蔼囊,oldboy的家人)用來(lái)代表用戶組incahome的角色
test 其他人 其他(others)人,用來(lái)代表其他用戶角色
[root@oldboyedu ~]# groupadd incahome
[root@oldboyedu ~]# useradd oldboy
useradd: user 'oldboy' already exists
[root@oldboyedu ~]# usermod -g incahome oldboy
[root@oldboyedu ~]# id oldboy
uid=1000(oldboy) gid=1004(incahome) groups=1004(incahome),1000(oldboy)
如果此前沒(méi)有創(chuàng)建oldboy瞻想,可以執(zhí)行下面命令压真,而不需要usermod命令。
[root@oldboyedu ~]# useradd oldboy -g incahome
[root@oldboyedu ~]# useradd oldgirl -g incahome
useradd: user 'oldgirl' already exists
[root@oldboyedu ~]# id oldgirl
uid=1001(oldgirl) gid=1001(oldgirl) groups=1001(oldgirl)
[root@oldboyedu ~]# usermod -g incahome oldgirl
[root@oldboyedu ~]# id oldgirl
uid=1001(oldgirl) gid=1004(incahome) groups=1004(incahome)
[root@oldboyedu ~]# useradd test
useradd: user 'test' already exists - 準(zhǔn)備環(huán)境:
[root@oldboyedu ~]# mkdir -p /oldboy
[root@oldboyedu ~]# echo "echo oldboyLinux" >/oldboy/test.sh
[root@oldboyedu ~]# chmod +x /oldboy/test.sh
- 測(cè)試默認(rèn)情況下不同用戶的對(duì)應(yīng)權(quán)限
[root@oldboyedu /oldboy]# chown oldboy.incahome test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
-rwxr-xr-x 1 oldboy incahome 22 Oct 7 21:18 test.sh
2.權(quán)限修改
Linux權(quán)限有兩種表現(xiàn)形式:
1蘑险、數(shù)字表示法 稱(chēng)為8進(jìn)制權(quán)限
r | 4 |
---|---|
w | 2 |
x | 1 |
- | 0 |
實(shí)際的權(quán)限表示就是將每3位相加即可。
rwxr-xr-x 755
權(quán)限 | 八進(jìn)制 |
---|---|
--- | 0 |
--x | 1 |
-w- | 2 |
-wx | 3 |
r-- | 4 |
r-x | 5 |
rw- | 6 |
rwx | 7 |
2岳悟、字符表示法
rw-rw-r-x 代表的數(shù)字權(quán)限為665
--xr-x-wx 代表的數(shù)字權(quán)限為153
-wx--x--x 代表的數(shù)字權(quán)限為311
而以下數(shù)字權(quán)限表示的字符權(quán)限如下:
755 代表的字符權(quán)限為rwxr-xr-x
644 代表的字符權(quán)限為rw-r--r--
134 代表的字符權(quán)限為--x-wxr--
3.修改文件的屬性
chown 改變屬主屬組 -r遞歸
chmod 改變權(quán)限
-
修改文件屬性的用戶和組
chown 用戶.用戶組 文件 這里的點(diǎn)可以用:替換佃迄。
chown 用戶 文件
chown .用戶組 文件 ====chgrp 用戶組 文件
(chgrp incahome test.txt=chown .incahome test.txt)
image.png - [root@oldboyedu /oldboy]# chown oldboy test.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 .incahome test.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:root test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
---x--x--x 1 root root 12 Oct 7 22:16 test.sh
[root@oldboyedu /oldboy]#
4.安全權(quán)限臨界點(diǎn)
-
文件不想被修改被執(zhí)行:默認(rèn)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
目錄不想被修改(刪除移動(dòng)創(chuàng)建)被執(zhí)行(進(jìn)入):755
博客:寫(xiě)博客。贵少。呵俏。服務(wù)器的博客目錄和文件的權(quán)限,防止被惡意篡改滔灶。
-
企業(yè)真實(shí)案例:網(wǎng)站文件被惡意修改了普碎。。录平。麻车。打開(kāi)網(wǎng)站后有彈窗廣告(不是你網(wǎng)站的)
用戶打開(kāi)網(wǎng)站,報(bào)警斗这。
原因:權(quán)限設(shè)置不到位动猬。chmod -R 777 目錄 開(kāi)發(fā)人員習(xí)慣
解決方案:
1、備份
tar zcvf /opt/oldboy_$(date +%F).tar.gz ./oldboy/
2表箭、找到被修改的文件
[root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'
/oldboy/oldboy.txt:<script>ddddddddddddd</scripts>
/oldboy/test.sh:<script>ddddddddddddd</scripts>
3赁咙、批量刪除
[root@oldboyedu /]# find /oldboy -type f |xargs sed -i '/ddddddddddddd/d'
[root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'
4、找到文件被篡改來(lái)源,并優(yōu)化調(diào)整彼水。
亡羊補(bǔ)牢崔拥。
5、寫(xiě)總結(jié) 故障報(bào)告凤覆。
5.umask文件權(quán)限的掩碼
命令umask查看掩碼
- 基于文件:默認(rèn)權(quán)限規(guī)則 了解
從666計(jì)算
umask都為偶數(shù) 默認(rèn)權(quán)限用減法
umask有奇數(shù) 默認(rèn)權(quán)限用減法 然后奇數(shù)位加1 - 基于目錄:默認(rèn)權(quán)限規(guī)則
從777計(jì)算
默認(rèn)權(quán)限用減法
6.Linux系統(tǒng)特殊權(quán)限位知識(shí)
- 9位基礎(chǔ)權(quán)限
還有3位特殊權(quán)限位
-
suid位:
suid(setuid)位通過(guò)S字符標(biāo)識(shí)握童,
存在于基本權(quán)限的用戶權(quán)限位的x權(quán)限對(duì)應(yīng)的位置,
如果用戶權(quán)限位對(duì)應(yīng)的x權(quán)限位上有x權(quán)限叛赚,則suid就用小寫(xiě)的s標(biāo)識(shí)澡绩,
suid的s對(duì)應(yīng)的數(shù)字權(quán)限為4,完整權(quán)限用八進(jìn)制數(shù)4000表示俺附。 -
sgid位:
sgid(setgid)位同樣是通過(guò)S字符來(lái)標(biāo)識(shí)肥卡,
但是,sgid位存在于基本權(quán)限的用戶組權(quán)限位的x權(quán)限對(duì)應(yīng)的位置事镣,
如果用戶組權(quán)限位對(duì)應(yīng)的x權(quán)限位上有x權(quán)限步鉴,則sgid就用小寫(xiě)的s標(biāo)識(shí),
suid的s對(duì)應(yīng)的數(shù)字權(quán)限為2璃哟,完整的權(quán)限用八進(jìn)制數(shù)2000表示氛琢。 -
sticky(粘滯位)知識(shí)簡(jiǎn)介
sticky(粘滯)位通過(guò)字符T標(biāo)識(shí),存在于基本權(quán)限的其他用戶位對(duì)應(yīng)的x權(quán)限位上随闪,
如果其他用戶位的x權(quán)限位上有x權(quán)限阳似,
則sticky(粘滯)位通過(guò)小寫(xiě)的t標(biāo)識(shí),對(duì)應(yīng)的數(shù)字權(quán)限是1铐伴,
完整的權(quán)限用八進(jìn)制數(shù)1000表示撮奏。
-
修改方法
4 2 1,加和放在基礎(chǔ)權(quán)限數(shù)字的前面当宴。
修改方法:
[root@oldboyedu /oldboy]# chmod 7755 abc
預(yù)測(cè):-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到底有什么作用
簡(jiǎn)單地說(shuō),suid的作用就是讓普通用戶可以在執(zhí)行某個(gè)設(shè)置了suid位的命令或程序時(shí)户矢,
擁有和root管理員一樣的身份和權(quán)限(默認(rèn)情況)玲献。
[oldgirl@oldboyedu /]$ ll -ld oldboy/
dr-x-wxrw-. 2 oldboy incahome 6 Oct 7 22:15 oldboy/
oldgirl屬于incahome,增加一個(gè)用戶屬于incahome,是不是也和oldgirl有同樣權(quán)限梯浪。
oldboy 給一個(gè)命令設(shè)置suid捌年,任何使用這條命令的用戶權(quán)限就和屬主使用它一樣。
- 作用之一:
sgid的作用就是讓普通用戶可以在執(zhí)行某個(gè)設(shè)置了sgid位的命令時(shí)驱证,
擁有和命令對(duì)應(yīng)用戶組(一般為root用戶組)一樣的身份和權(quán)限(默認(rèn))延窜。
locate搜索內(nèi)容,默認(rèn)從updatedb對(duì)應(yīng)的數(shù)據(jù)庫(kù)中查找
updatedb 更新locate查找內(nèi)容對(duì)應(yīng)的數(shù)據(jù)庫(kù)抹锄。
[root@oldboyedu ~]# updatedb
[root@oldboyedu ~]# ls -l /var/lib/mlocate/mlocate.db
-rw-r----- 1 root slocate 1977042 Oct 8 00:47 /var/lib/mlocate/mlocate.db
[root@oldboyedu ~]# file /var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db: data
sgid基于目錄的作用:
讓不同的人創(chuàng)建文件屬于相同的用戶組逆瑞,從而可以互相共享文件的權(quán)限荠藤。
12.9 本章重點(diǎn)
1)Linux基本9位權(quán)限之文件和目錄權(quán)限詳細(xì)說(shuō)明。
2)Linux基本9位權(quán)限之字符和數(shù)字(8進(jìn)制)權(quán)限知識(shí)获高。
3)權(quán)限及用戶用戶組屬性修改命令chmod哈肖、chown、chgrp念秧。
4)默認(rèn)權(quán)限umask以及系統(tǒng)目錄安全案例淤井。
5)特殊權(quán)限Suid知識(shí)掌握,Sgid和sticky知識(shí)了解即可摊趾。