Linux系統(tǒng)權(quán)限知識及應(yīng)用實踐
1、Linux基礎(chǔ)權(quán)限知举,是9個字符
17372815 drwxr-xr-x. 3 root root 18 Mar 18 23:20 app
rwxr-xr-x
分三組:
前3個字符是表示用戶(屬主)權(quán)限位 ( user)
中3個字符是表示用戶組權(quán)限位 group(用戶組)
后3個字符是其他用戶權(quán)限位 others (其他用戶)
同一組的三個字符權(quán)限也是有位置的“
r- - 第一個字符的位置是讀的權(quán)限位
第二個字符的位置是寫的權(quán)限位
第三個字符的位置是執(zhí)行的權(quán)限位
權(quán)限數(shù)字的表示:
r 4
w 2
x 1
0
對于可讀r补履,這里有兩點需要說明:
1.如果沒有可讀r配合添坊,那么使用vim編輯文件會提示無法編輯(但可強制編輯),可以使用echo等命令進行重定向或追加箫锤;
2.刪除文件或創(chuàng)建文件的權(quán)限是手父目錄(上一級目錄)的權(quán)限控制的(因為文件名沒有存放在inode里贬蛙,而是在上級目錄的block里存放著的雨女,若修改實際目錄block(刪除文件本質(zhì)),當然會 受上級目錄的inode的權(quán)限控制阳准,和文件本身的權(quán)限無關(guān)氛堕,因此,文件本身的可寫W權(quán)限野蝇,和文件是否能被刪除和改名無關(guān)讼稚。
對于可執(zhí)行X,需要注意一下3點:
1.首先文件本身能夠執(zhí)行(命令或腳本)
2.如果是普通用戶绕沈,同時還需要具備可讀r的權(quán)限才能執(zhí)行文件
3.而root只要有可執(zhí)行X的權(quán)限就能執(zhí)行文件
環(huán)境準備:
[root@lixin ~]# groupadd incahome
[root@lixin ~]# useradd oldboy
[root@lixin ~]# id oldboy
uid=1002(oldboy) gid=1004(oldboy) groups=1004(oldboy)
[root@lixin ~]# usermod -g incahome oldboy
[root@lixin ~]# id oldboy
uid=1002(oldboy) gid=1003(incahome) groups=1003(incahome)
[root@lixin ~]# id oldgirl
uid=1000(oldgirl) gid=1000(oldgirl) groups=1000(oldgirl)
[root@lixin ~]# usermod -g incahome
[root@lixin ~]# usermod -g incahome oldgirl
[root@lixin ~]# id oldgirl
uid=1000(oldgirl) gid=1003(incahome) groups=1003(incahome)
[root@lixin ~]# id test
uid=1001(test) gid=1001(test) groups=1001(test)
1.測試默認情況下不同用戶的對應(yīng)權(quán)限
[root@oldboy ~]# mkdir -p /oldboy #<==在根下創(chuàng)建測試目錄oldboy锐想。
[root@oldboy ~]# echo "echo oldboyLinux" >/oldboy/test.sh #<==生成腳本文件test.sh,內(nèi)容是打印oldboyLinux字符串乍狐。
[root@oldboy ~]# cat /oldboy/test.sh #<==查看腳本test.sh內(nèi)容赠摇。
echo oldboyLinux
[root@oldboy ~]# chmod +x /oldboy/test.sh #<==加執(zhí)行權(quán)限,chmod的使用可見本章后文浅蚪。
[root@oldboy ~]# ls -l /oldboy/test.sh #<==查看授權(quán)后的權(quán)限屬性藕帜。
-rwxr-xr-x. 1 root root 17 Apr 30 09:55 /oldboy/test.sh
[root@oldboyedu /oldboy]# chmod o+w test.sh
[root@oldboyedu /oldboy]# ls -l
total 4
-rwxr-xrwx 1 root root 22 Oct 7 21:07 test.sh
[root@oldboyedu /oldboy]# cd ../
[root@oldboyedu /]# ls -ld oldboy/
drwxr-xr-x. 2 root root 21 Oct 7 21:07 oldboy/
[root@oldboyedu /]# chmod o+w oldboy/
[root@oldboyedu /]# ls -ld oldboy/
drwxr-xrwx. 2 root root 21 Oct 7 21:07 oldboy/
二、目錄對應(yīng) 讀掘鄙、寫耘戚、執(zhí)行的權(quán)限
目錄 可讀 r:
表示具有瀏覽目錄下面文件及子目錄名的權(quán)限
可寫W:表示具有增加、刪除或修改目錄內(nèi)文件的權(quán)限
但是必須有X的配合操漠,
可執(zhí)行X:表示具有進入目錄的權(quán)限
三收津、Linux權(quán)限修改有兩種表現(xiàn)形式”
1.數(shù)字表示法 八進制表示
r 4
w 2
x 1
0
實際的權(quán)限表示就是將每3位相加
rwxr-xr-x 755
7 5 5
2.字符表示法
用戶類型
U 用戶(user)”,即文件或目錄的所有者浊伙。
g “同組(group)用戶”撞秋,即與文件屬主有相同組ID的所有用戶
o “其他(others)用戶”
a 所有(all)用戶”。它是系統(tǒng)默認值嚣鄙。
數(shù)字權(quán)限表示的字符權(quán)限如下:
755 代表的字符權(quán)限為rwxr-xr-x
644 代表的字符權(quán)限為rw-r--r--
134 代表的字符權(quán)限為--x-wxr--
修改文件屬性的用戶和用戶組
語法
chown 用戶.用戶組 文件 這里的.點可以用:替換
chown 用戶 文件
chown .用戶組 文件 ==chgrp 用戶組 文件
三吻贿、文件安全核心知識:
安全權(quán)限臨界點:
文件不能想被修改被執(zhí)行:644
目錄不想被修改被執(zhí)行(刪除移動創(chuàng)建)被執(zhí)行(進入):755
博客:寫博客---服務(wù)器的博客目錄和權(quán)限達到以上標準 防止被惡意修改 篡改
企業(yè)真實案例:網(wǎng)站文件被惡意修改————打開網(wǎng)站后有彈窗廣告(不是自己網(wǎng)站廣告)
用戶打開網(wǎng)站。報警 提示
原因:權(quán)限設(shè)置不到位哑子。
解決方案:
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、找到文件被篡改的來源弥奸,并優(yōu)化調(diào)整(亡羊補牢)
5榨惠、寫總結(jié) 故障報告
控制默認權(quán)限的東西 umask(控制默認權(quán)限)
[root@lixin /]# umask
0022
創(chuàng)建文件默認最大的權(quán)限為666(-rw-rw-rw-),其默認創(chuàng)建的文件沒有可執(zhí)行權(quán)限X位
當umask中存在奇數(shù)位的時候,在計算完畢赠橙,奇數(shù)位加1
666
011
655
11
666
基于文件:默認權(quán)限規(guī)則
從666計算
umask 都為偶數(shù) 默認權(quán)限用減法
umask 有奇數(shù) 默認權(quán)限用減法 然后奇數(shù)位加1
基于目錄:默認權(quán)限規(guī)則
從777計算
默認權(quán)限用減法
Linux特殊權(quán)限位知識
9位基礎(chǔ)權(quán)限
還有3位特殊權(quán)限位
suid 位:
suid(setuid)位通過S字符標識耽装,
存在于基本權(quán)限的用戶權(quán)限位的x權(quán)限對應(yīng)的位置,
如果用戶權(quán)限位對應(yīng)的x權(quán)限位上有x權(quán)限期揪,則suid就用小寫的s標識掉奄,
suid的s對應(yīng)的數(shù)字權(quán)限為4,完整權(quán)限用八進制數(shù)4000表示横侦。
sgid 位:
sgid(setgid)位同樣是通過S字符來標識挥萌,
但是绰姻,sgid位存在于基本權(quán)限的用戶組權(quán)限位的x權(quán)限對應(yīng)的位置枉侧,
如果用戶組權(quán)限位對應(yīng)的x權(quán)限位上有x權(quán)限,則sgid就用小寫的s標識狂芋,
suid的s對應(yīng)的數(shù)字權(quán)限為2榨馁,完整的權(quán)限用八進制數(shù)2000表示。
sticky(粘滯位)知識簡介
sticky(粘滯)位通過字符T標識帜矾,存在于基本權(quán)限的其他用戶位對應(yīng)的x權(quán)限位上翼虫,
如果其他用戶位的x權(quán)限位上有x權(quán)限,
則sticky(粘滯)位通過小寫的t標識屡萤,對應(yīng)的數(shù)字權(quán)限是1珍剑,
完整的權(quán)限用八進制數(shù)1000表示。
4 2 1死陆,加和放在基礎(chǔ)權(quán)限數(shù)字的前面招拙。
修改方法:
[root@oldboyedu /oldboy]# chmod 7755 abc
預(yù)測:-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
工作中有什么用?
uid到底有什么作用
簡單地說措译,suid的作用就是讓普通用戶可以在執(zhí)行某個設(shè)置了suid位的命令或程序時别凤,
擁有和root管理員一樣的身份和權(quán)限(默認情況)。
[oldgirl@oldboyedu /]$ ll -ld oldboy/
dr-x-wxrw-. 2 oldboy incahome 6 Oct 7 22:15 oldboy/
oldgirl屬于incahome,增加一個用戶屬于incahome领虹,是不是也和oldgirl有同樣權(quán)限规哪。
oldboy 給一個新用戶設(shè)置suid,這個新用戶的權(quán)限就和oldboy一樣塌衰。
回顧重點:
【文件】權(quán)限詳細說明:*****
【目錄】權(quán)限詳細說明:*****
字符和數(shù)字(8進制)權(quán)限知識*****
chmod chown chgrp命令使用诉稍。*****
企業(yè)真實案例:網(wǎng)站文件被惡意修改了*****
umask默認權(quán)限控制*
特殊權(quán)限,suid** sgid sticky*
重點suid
下節(jié)內(nèi)容:
1最疆、sgid sticky
2杯巨、
跟老男孩學(xué)linux運維:核心基礎(chǔ)實戰(zhàn)_第13章_Linux系統(tǒng)定時任務(wù)Cron(d)服務(wù)應(yīng)用實踐
不能自學(xué) 就算找到工作,會被開掉肚菠。3-6個月舔箭。