1.ls -l 命令:

最前面的一位表示文件類(lèi)型:
d 目錄。
l 符號(hào)鏈接(指向另一個(gè)文件)。
s 套接字文件。
b 塊設(shè)備文件。
c 字符設(shè)備文件。
p 命名管道文件。
- 普通文件,或者更準(zhǔn)確地說(shuō),不屬于以上幾種類(lèi)型的文件。
后面的連續(xù)九位,表示文件的讀寫(xiě)權(quán)限:
r w x:文件屬主權(quán)限 這是前面三位
r - x:同組用戶(hù)權(quán)限 這是中間三位
r - x:其他用戶(hù)權(quán)限 這是最后三位
2. 新創(chuàng)建文件(夾)的權(quán)限
目錄:

可以看到,新創(chuàng)建的目錄 myshell 的權(quán)限是:rwx r-x r-x, 即:
onwer 用戶(hù)具有 read、write、execute 權(quán)限,group 和其他用戶(hù)具有 read、execute權(quán)限。
文件:

可以看到,新創(chuàng)建的文件 myfile 的權(quán)限是:rw- r-- r--。
文件在新創(chuàng)建的狀態(tài)下,不會(huì)被賦予執(zhí)行的權(quán)限,這是出于安全性的考慮。
文件權(quán)限修改:

# chmod 777 myfile // 為所有用戶(hù)賦予了該文件的所有權(quán)限。
# chmod a-x myfile // 回收所有用戶(hù)的執(zhí)行權(quán)限(注意 a-x,-x 前面沒(méi)有空格)。

# chmod u+x,go-w myfile // 賦予文件屬主執(zhí)行權(quán)限,同時(shí)回收其他用戶(hù)的寫(xiě)權(quán)限
3. chmod 命令兩種模式:符號(hào)模式和絕對(duì)模式
符號(hào)模式:
# u: 文件屬主
# g: 同組用戶(hù)
# o: 其他用戶(hù)
# a: 所有用戶(hù)
+ 增加權(quán)限
- 回收權(quán)限
如:
chmod a-x myfile // 剝奪所有用戶(hù)的文件執(zhí)行權(quán)限
chmod og-w myfile
chmod g+w myfile
chmod u+x myfile
chmod go+x myf
chmod u+x,o-w myfile
絕對(duì)模式:
004 可讀
002 可寫(xiě)
001 可執(zhí)行
000 沒(méi)有權(quán)限
chmod 750 myfile
對(duì)文件myfile增加權(quán)限:
7 = 4 + 2 + 1 (屬主可讀、寫(xiě)、執(zhí)行)
5 = 4 + 1 (同組用戶(hù)可讀、執(zhí)行)
0 = 0 (其他用戶(hù)沒(méi)有任何權(quán)限)
如果對(duì)一個(gè)目錄執(zhí)行:
chmod 740 *
表示對(duì)該目錄下的所有文件賦予740權(quán)限,但以后新增的目錄,權(quán)限仍是默認(rèn)的 rw- r-- r--
4. 目錄的權(quán)限
對(duì)目錄而言,意味著:
讀權(quán)限:可以列出該目錄中的文件
寫(xiě)權(quán)限:可以在該目錄中創(chuàng)建或刪除文件
執(zhí)行權(quán)限:可以搜索或進(jìn)入該目錄
目錄的權(quán)限將會(huì)覆蓋該目錄中文件的權(quán)限。例如,如果目錄 docs 具有如下的權(quán)限:

而其中的文件 pay 的權(quán)限為:

那么 admin 組的用戶(hù)將無(wú)法編輯該文件,因?yàn)樗鶎俚哪夸洸痪哂羞@樣的權(quán)限。
該文件對(duì)任何用戶(hù)都可讀,但由于它所在的目錄并未給 admin 組的用戶(hù)賦予執(zhí)行權(quán)限,所以該組的用戶(hù)都將無(wú)法訪(fǎng)問(wèn)該目錄,他們將會(huì)得到“訪(fǎng)問(wèn)受限”的錯(cuò)誤消息。
5.suid 和 guid(了解)
suid 意味著如果某個(gè)用戶(hù)對(duì)屬于自己的 shell 腳本設(shè)置了這種權(quán)限,那么其他用戶(hù)在執(zhí)行這一腳本時(shí)也會(huì)具有其屬主的相應(yīng)權(quán)限。
如文件 myfile 具有 741 的權(quán)限,要對(duì)其設(shè)置suid,只需在其權(quán)限數(shù)字前加 4 (guid 是加 2,兩個(gè)都設(shè)置就是 4+2=6),


6. /etc/passwd 文件
該文件中列出了系統(tǒng)合法的用戶(hù)相關(guān)信息。
7. chown 和 chgrp
chown:文件的所有者和管理員能用這一命令改變文件的所有權(quán),改變之后,原來(lái)的所有者,就不能回收他的權(quán)限了,如果真要回收,必須求助與管理員。
如:

將 myfile 的所有者,從root變更為用戶(hù) zhy (zhy 必須是在 /etc/passwd 中合法的)。
chgrp:改變文件所屬的組。
如:

將 myfile 所屬的組,從 root 改成了 zhy 組。
(
# groups
查看當(dāng)前登錄用戶(hù)所在的組內(nèi)所有的成員。
# id

查看當(dāng)前登錄用戶(hù)的信息
# whoami
查看系統(tǒng)當(dāng)前是被哪個(gè)用戶(hù)登錄的。
# groups zhy
查看zhy用戶(hù)所在的組,以及組內(nèi)成員。
用戶(hù)組的特性在系統(tǒng)管理中為系統(tǒng)管理員提供了極大的方便,但安全性也是值得關(guān)注的,如某個(gè)用戶(hù)下有對(duì)系統(tǒng)管理有最重要的內(nèi)容,最好讓用戶(hù)擁有獨(dú)立的用戶(hù)組,或者是把用戶(hù)下的文件的權(quán)限設(shè)置為完全私有;另外root用戶(hù)組一般不要輕易把普通用戶(hù)加入進(jìn)去。
8.umask命令
一個(gè)用戶(hù)登錄到系統(tǒng)之后,他所創(chuàng)建的文件有一個(gè)缺省的權(quán)限,這個(gè)權(quán)限可以由管理員配置,也可以由用戶(hù)登錄之后用 umask 命令自己配置,這種配置在退出該 shell 或使用另外的 umask 命令之前一直有效。
一般來(lái)說(shuō), umask 命令是在 /etc/profile 文件中設(shè)置的,每個(gè)用戶(hù)在登錄時(shí)都會(huì)引用這個(gè)文件,所以如果希望改變所有用戶(hù)的 umask ,可以在該文件中加入相應(yīng)的條目。如果希望永久性地設(shè)置自己的 umask 值,那么就把它放在自己 $home 目錄下的 .profile或 .bash_profile 文件中。
umask 值與權(quán)位:

通過(guò):
# umask
命令查看當(dāng)前 umask 值(后三位):

可以看到,當(dāng)前 umaks 值為022,通過(guò)上面的表,就可以知道,umask 對(duì)應(yīng)的文件權(quán)限是 644,目錄權(quán)限是 755。
如果沒(méi)有上面的表,還有另外一種計(jì)算方法:
777: rwx rwx rwx
022: --- -w- -w-
取上面兩行中沒(méi)有匹配的位就是目錄的權(quán)限:
rwx r-x r-x
換成值就是:755(目錄權(quán)限)
再將上面算出的結(jié)果(rwx r-x r-x)中為 x 的位換成 - ,就是文件的權(quán)限:
rw- r-- r--
換成值就是:644(文件權(quán)限)
如果希望改變系統(tǒng)的 umask 值,可以這樣:
# umask 007
例:

可以看到,文件的權(quán)限確實(shí)被改變了。
9. 符號(hào)鏈接
是一個(gè)指向文件的指針,在我理解就是 window 下的快捷方式:

.profile 就是 /usr/local/menus/sales.profile 的快捷方式了,這樣很方便,比如我們有多個(gè)用戶(hù),比如 50 個(gè),可以為他們分別創(chuàng)建一個(gè).profile 文件,都指向這同一個(gè) sales.profile 文件,以后我們修改一個(gè) sales.profile 就可以了,不用對(duì)每個(gè)用戶(hù)的 .profile 做修改。
創(chuàng)建符號(hào)鏈接的命令格式:
# ln [-s] source_path target_path
source_path 是要指向的文件
target_path 就是指針(快捷方式)
例:
# ln -s /usr/opt/monitor/regstar/reg.log /var/adm/logs/monitor.log
在新安裝的系統(tǒng)上,通常要進(jìn)行這樣的操作,在/var 目錄中創(chuàng)建一個(gè)指向/tmp目錄的鏈接,因?yàn)橛行?yīng)用程序認(rèn)為存在 /var/tmp 目錄(然而它實(shí)際上并不存在),有些應(yīng)用程序在該目錄中保存一些臨時(shí)文件。為了使所有的臨時(shí)文件都放在一個(gè)地方,可以使用 ln 命令在 /var目錄下建立一個(gè)指向 /tmp 目錄的鏈接:
# ln -s /tmp /var/tmp
以后,如果有應(yīng)用程序試圖將一些臨時(shí)文件放在 /var/tmp 下,實(shí)際上它是被存放在了 /tmp 目錄下了,因?yàn)?nbsp;/var/tmp 只是一個(gè)符號(hào)鏈接而已。