1. 程式人生 > >Linux目錄及檔案許可權詳解

Linux目錄及檔案許可權詳解

說明:命令及測試經來自:centos6.5版本測試結果。

1、描述硬連結和軟連結的區別? 在linux系統中,連結分兩種:一種被稱為硬連結(Hard Link),另一種被稱為符號連結或軟連結(Symbolic Link)。 1)預設不帶引數情況下,ln命令建立的是硬連結,帶-s引數的ln命令建立的是軟連結。 2)硬連結檔案與原始檔的inode節點號相同,而軟連結檔案的inode節點與原始檔不同。 3)ln命令不能對目錄建立硬連結,但可以建立軟連結,對目錄的軟連結會經常被用到。 4)刪除軟連結檔案,對原始檔及硬連結檔案無任何影響。 5)刪除檔案的硬連結檔案,對原始檔及軟連結檔案無任何影響。 6)刪除連結檔案的原始檔,對硬連結檔案無影響,會導致其軟連結失效(紅底白字閃爍狀)。 7)同時刪除原始檔及其硬連結檔案,整個檔案才會被真正的刪除。 8)很多硬體裝置中的快照功能,使用的就類似硬連結的原理。 9)軟連結可以跨檔案系統,硬連結不可以跨檔案系統。

2、檔案的刪除原理。(面試題) 控制檔案的刪除:以下兩個條件同時具備才生效。 1)受檔案的硬連結數控制,有一個硬連結i_link +1,減少一個硬連結,i_link -1,當i_link=0時,檔案就刪除了。 2)是否有程序佔用使用這個檔案,有一個程序佔用這個檔案I_count+1,沒有程序佔用,i_count=0,檔案就被刪了。

3、help 內建命令,type 命令 #判斷命令是否為內建命令。

4、如何取得/etiantian檔案的許可權對於的數字內容,如-rw-r–r--為644,要求使用命令取出0644。

[[email protected] data]# stat etiantian |sed -n '4p'|awk -F "[/(]" '{print $2}' 
0644

5、請給出預設情況下eth0網絡卡配置檔案的路就及客戶端DNS的路徑。

/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/resolv.conf

6、企業的網站遭受木馬攻擊了,導致網站目錄下所有的檔案都被篡改了。

find /root/filedir -type f|xargs sed -i 's#篡改內容##g'

7、執行下面命令時發現提示輸入密碼,請問提示輸入的密碼是哪個使用者的密碼? [[email protected]]$sudo su - testboy 當前輸入的命令是test賬戶的密碼。

8、已知test.txt內容為: boy

xizi

xiaochao 請問如何把檔案中的空行過濾掉?

grep -v "^$" test.txt
sed '/^$/d' test.txt
awk /^[^$]/ test.txt

9、如何快速查到ifconfig的全路徑?

[[email protected] data]# which ifconfig
/sbin/ifconfig
[[email protected] data]# find / -name "ifconfig"
/sbin/ifconfig
[[email protected] data]# locate -n 1 ifconfig
/sbin/ifconfig

10、請給出正確關機和重啟的命令。

shutdown -h now #立刻關機,生產常用
shutdown -h +1  #1分鐘後關機
init 0
halt 
poweroff #立即停止系統,並且關閉電源

reboot #重啟,生產常用
shutdown -r now #重啟,生產常用
init 6

logout #登出
exit

11、檔案許可權 1)chmod的數字說明方法 r 4,w 2,x 1,- 0; rwx,屬組數字許可權為4+2+1=7;其它使用者數字許可權r-x,數字許可權為4+0+1=5;

[[email protected] data]# chmod 755 test.txt  #chmod 644 test.txt 可讀可寫,屬組可讀,其它使用者可讀,也就是
[[email protected] data]# ll test.txt 
-rwxr-xr-x 1 root root 23 Oct 14 23:25 test.txt
[[email protected] data]# chmod 644 test.txt # 可讀可寫,屬組可讀,其它使用者可讀。
[[email protected] data]# ll test.txt 
-rw-r--r-- 1 root root 23 Oct 14 23:25 test.txt

-R change files and directories recursively

2)chmod字元許可權表示法。 chmode [使用者型別] [+|-|=] [許可權符號] 檔名

  • 使用者型別 u(user),g(group),o(others),a(all)
  • 操作字元 +(加入),許可權字元(r),-(減去),許可權字元(w),=(設定),許可權字元(x)。
[[email protected] data]# chmod u+rw test.txt 
[[email protected] data]# ll test.txt 
-rw-r--r-- 1 root root 23 Oct 14 23:25 test.txt
[[email protected] data]# chmod g=rx test.txt 
[[email protected] data]# ll test.txt 
-rw-r-xr-- 1 root root 23 Oct 14 23:25 test.txt
[[email protected] data]# chmod u-x,g=rwx,o=w test.txt 
[[email protected] data]# ll test.txt 
-rw-rwx-w- 1 root root 23 Oct 14 23:25 test.txt
[[email protected] data]# chmod +x test.txt 
[[email protected] data]# ll test.txt 
-rwxrwx-wx 1 root root 23 Oct 14 23:25 test.txt
[[email protected] data]# chmod +rwx test.txt 
[[email protected] data]# ll test.txt 
-rwxrwxrwx 1 root root 23 Oct 14 23:25 test.txt

3)chown語法。

  • chown 使用者 檔案或目錄 #僅僅授權使用者
  • chown :組 檔案或目錄 #僅僅授權組
  • chown 使用者:組 檔案或目錄 #表示授權使用者和組
[[email protected] data]# ll -l test.txt 
-rwxrwxrwx 1 root root 23 Oct 14 23:25 test.txt
[[email protected] data]# chown studyboy test.txt 
[[email protected] data]# ll -l test.txt 
-rwxrwxrwx 1 studyboy root 23 Oct 14 23:25 test.txt
[[email protected] data]# chown studyboy:studyboy test.txt 
[[email protected] data]# ll test.txt 
-rwxrwxrwx 1 studyboy studyboy 23 Oct 14 23:25 test.txt
[[email protected] data]# chown :root test.txt 
[[email protected] data]# ll test.txt 
-rwxrwxrwx 1 studyboy root 23 Oct 14 23:25 test.txt

4)Linux目錄的讀、寫、執行許可權說明。 可讀r:表示具有瀏覽目錄下面檔案及目錄的許可權,即ls dir。不能進到目錄裡,即無法cd dir; 如果沒有x許可權;列表時也會有問題的,-l列表屬性會有問號,提示沒有許可權。 可寫w:表示具有增加、刪除或修改目錄內檔名的許可權(需要x許可權的配合)。 可執行x:表示具有進入到目錄的許可權;例如:cd dir.

5)預設許可權分配的命令umask(瞭解).

[[email protected] test]# mkdir newdir
[[email protected] test]# touch newfile
[[email protected] test]# ls -lrl
total 4
-rw-r--r-- 1 root root    0 Oct 21 03:21 newfile #644
drwxr-xr-x 2 root root 4096 Oct 21 03:21 newdir  #755

網站目錄安全許可權:目錄755,檔案644是相對安全的許可權,並且使用者為root及使用者組root。生產上一定要儘量要我們的檔案和目錄使用預設的許可權,包括屬組。 系統預設的umask值。

[[email protected] test]# umask  #root使用者
0022
[[email protected] test]# su - oldboy #普通使用者
[[email protected] ~]$ umask
0002

如何計算新umask下,檔案及目錄的預設許可權: umask 044 033 目錄:777 - umask = 檔案: umask的每個位都為偶數的情況,666-umask= umask的數字中有奇數的情況,666-umask,然後把umask對應數字的奇數位加1。

6)setuid和setgid介紹(瞭解)。