3月21號
Linux基礎(chǔ)權(quán)限是9個字符。
[root@guohaoxiang~]# ls -lhi
total 8.0K
33574978 -rw-r--r--. 1 root root ???0 Mar 15 16:33 [!2-Z]
?-rw-r--r--
分3組:
前三個字符是表示用戶(屬主)權(quán)限位user(用戶) u
中三個字符是表示用戶組權(quán)限位group(用戶組) ????g
后三個字符是其它用戶權(quán)限位others(其他用戶) ???o
同一組的三個字符權(quán)限也是有位置的。
r-- 第一個字符的位置讀的權(quán)限位。
第二個字符的位置寫的權(quán)限位。
第三個字符的位置是執(zhí)行的權(quán)限位。
r ?4
w ?2
x ?1
- ?0
【文件】權(quán)限詳細(xì)說明:****
【目錄】權(quán)限詳細(xì)說明:****
測試準(zhǔn)備:
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 incahome oldboy
[root@oldboyedu ~]# id oldboy
uid=1000(oldboy) gid=1004(incahome)
?groups=1004(incahome),1000(oldboy)
如果此前沒有創(chuàng)建oldboy,可以執(zhí)行下面命令,而不需要usermod命令。[root@oldboyedu?~]#?useradd?oldboy?-g?incahome[root@oldboyedu?~]#?useradd?oldgirl?-g?incahomeuseradd:?user?'oldgirl'?already?exists[root@oldboyedu?~]#?id?oldgirluid=1001(oldgirl)?gid=1001(oldgirl)?groups=1001(oldgirl)[root@oldboyedu?~]#?usermod?-g?incahome?oldgirl[root@oldboyedu?~]#?id?oldgirluid=1001(oldgirl)?gid=1004(incahome)?groups=1004(incahome)[root@oldboyedu?~]#?useradd?testuseradd:?user?'test'?already?exists(2934145242)??9:05:39[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
準(zhǔn)備環(huán)境:
[root@guohaoxiang/]# mkdir -p /oldboy
[root@guohaoxiang/]# echo "echo oldboyLinux" >/oldboy/test.sh
[root@guohaoxiang/]# echo "echo oldboyLinux" >/oldboy/test.sh
[if !supportLists]1、[endif]測試默認(rèn)情況下不同用戶的對應(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
權(quán)限修改:
777 +x -x ?u=w ?g-x
Linux權(quán)限有兩種表現(xiàn)形式
1字符表示法
r ?4
w ?2
X ?1
x 5
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--
修改文件的屬性的用戶和組
Chown用戶.用戶組 文件 ??這里的點可以用:替換
Chown用戶 ??文件
Chown ?.用戶組 ?文件
例子:
[root@oldboyedu?/oldboy]#?chown?oldboy?
test.sh?[root@oldboyedu?/oldboy]#?ls?-ltotal?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?-ltotal?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?-ltotal?4---x--x--x?1?root?root?12?Oct??7?22:16?test.sh
安全權(quán)限臨界點:
文件不想被修改:(新建文件)默認(rèn)644
目錄不想被修改(刪除移動創(chuàng)建)被執(zhí)行(進(jìn)入):755
企業(yè)真實案例:網(wǎng)站文件被惡意修改了
解決方案
1、備份
2、找到被修改文件
3、批量刪除例如:(sed’/*****/d‘)
4、找到文件被篡改來源
5、寫總結(jié)故障報告
控制默認(rèn)權(quán)限的:umask
[root@guohaoxiang~]# umask
0022
創(chuàng)建文件默認(rèn)最大的權(quán)限位666(-rw-rw-rw-),其默認(rèn)創(chuàng)建的文件沒有可執(zhí)行權(quán)限x位
644默認(rèn)權(quán)限
當(dāng)umask中存在奇數(shù)位的時候,在計算完畢,在奇數(shù)位加1
基于文件:umask都為偶數(shù) 默認(rèn)權(quán)限用減法
Umask有奇數(shù) 默認(rèn)權(quán)限用減法 ?然后奇數(shù)位加1
基于目錄:默認(rèn)權(quán)限規(guī)則
還有3位特殊權(quán)限位
Suid位:
Suid(setuid)位通常s字符標(biāo)識。
存在于基本權(quán)限的用戶權(quán)限位的x權(quán)限對應(yīng)的位置
針對二進(jìn)制命令

Sgid位
Sgid(setgid)位同樣是通過s字符標(biāo)識,作用就是讓普通用戶可以在執(zhí)行某個sgid的命令時,擁有和命令對應(yīng)的用戶組(一般位root管理員)一樣的身份和權(quán)限(默認(rèn))
Sticky粘滯位 通常通過T字符標(biāo)識。例如/tmp/屬于粘滯位。

4 ?2 ?1,加和放在基礎(chǔ)權(quán)限數(shù)字的前面。
修改方法:[root@guohaoxiang~]# chmod 7755 ab
用途
Suid簡單地說,suid的作用就是讓普通用戶可以在執(zhí)行某個設(shè)置了suid位的命令或程序擁有和root管理員一樣的身份和權(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
權(quán)限修改:
777 +x -x ?u=w ?g-x。。。。。。。。