Linux與命令列基礎

touch 以 666、mkdir 以 777 去掉 umask 的位元,作為新檔案與新目錄的權限。在 umask 為 027 的 shell 中建立新檔案與新目錄時,兩者權限的組合何者正確?

  1. A檔案 637、目錄 750
  2. B檔案 640、目錄 750
  3. C檔案 750、目錄 750
查看答案與解析

正確答案:B. 檔案 640、目錄 750

umask 表示從新建立的檔案或目錄「去掉」的權限位元。027 從群組去掉寫入(2),從其他人去掉讀取、寫入、執行(7),因此檔案從 666 成為 rw-r-----(640),目錄從 777 成為 rwxr-x---(750)。這不是八進位的減法,而是逐位元去掉的計算(666 AND NOT 027)。常用的 umask 022 以同樣的計算,檔案為 644,目錄為 755。

  • A. 這是以八進位從 666 減去 027 的值。umask 是逐位元去掉的運作,結果可能與減法不同(若是 022,兩者都是 644)。
  • B. 正確。檔案從 666 成為 640,目錄從 777 成為 750。
  • C. 檔案是以 666 而不是 777 為基礎建立的,所以新檔案不會有執行權限。
練習這個領域 前往領域頁面

Linux與命令列基礎的其他題目

  1. 目錄 d 的權限為 rwx--x--x(711),其中的檔案 f.txt 的權限為 rw-r--r--(644)。既不是擁有者也不是超級使用者的使用者執行「ls d」與「cat d/f.txt」時,結果是下列何者?
  2. 關於 Linux 的 sudo 指令,下列敘述何者正確?
  3. 在許多 Linux 上執行「ls -l /usr/bin/passwd」會顯示「-rwsr-xr-x 1 root root ...」。擁有者執行位置上的「s」是什麼意思?
  4. 依序執行上面的指令時,最後的 cat 顯示的內容是下列何者?
  5. 如上所示,在有 a.txt、沒有 nofile 的目錄中執行最後一個指令。結果是下列何者?