命令列快速提示:許可權

Paul W. Frields發表於2019-07-20

Fedora 與所有基於 Linux 的系統一樣,它提供了一組強大的安全特性。其中一個基本特性是檔案和資料夾上的許可權。這些許可權保護檔案和資料夾免受未經授權的訪問。本文將簡要介紹這些許可權,並向你展示如何使用它們共享對資料夾的訪問。

許可權基礎

Fedora 本質上是一個多使用者作業系統,它也有,使用者可以是其成員。但是,想象一下一個沒有許可權概念的多使用者系統,不同的登入使用者可以隨意閱讀彼此的內容。你可以想象到這對隱私或安全性並不是很好。

Fedora 上的任何檔案或資料夾都分配了三組許可權。第一組用於擁有檔案或資料夾的使用者,第二組用於擁有它的,第三組用於其他人,即既不是該檔案的使用者也不是擁有該檔案的組中的使用者。有時這被稱為全世界

許可權意味著什麼

每組許可權都有三種形式:執行。其中每個都可以用首字母來代替,即 rwx

檔案許可權

對於檔案,許可權的含義如下所示:

  • 讀(r):可以讀取檔案內容
  • 寫(w):可以更改檔案內容
  • 執行(x):可以執行檔案 —— 這主要用於打算直接執行的程式或指令碼

當你對任何檔案進行詳細資訊列表檢視時,可以看到這三組許可權。嘗試檢視系統上的 /etc/services 檔案:

$ ls -l /etc/services
-rw-r--r--. 1 root root 692241 Apr  9 03:47 /etc/services

注意列表左側的許可權組。如上所述,這些表明三種使用者的許可權:擁有該檔案的使用者,擁有該檔案的組以及其他人。使用者所有者是 root,組所有者是 root 組。使用者所有者具有對檔案的讀寫許可權,root 組中的任何人都只能讀取該檔案。最後,其他任何人也只能讀取該檔案。(最左邊的 - 顯示這是一個常規檔案。)

順便說一下,你通常會在許多(但不是所有)系統配置檔案上發現這組許可權,它們只由系統管理員而不是普通使用者更改。通常,普通使用者需要讀取其內容。

資料夾(目錄)許可權

對於資料夾,許可權的含義略有不同:

  • 讀(r):可以讀取資料夾內容(例如 ls 命令)
  • 寫(w):可以更改資料夾內容(可以在此資料夾中建立或刪除檔案)
  • 執行(x):可以搜尋資料夾,但無法讀取其內容。(這聽起來可能很奇怪,但解釋起來需要更復雜的檔案系統細節,這超出了本文的範圍,所以現在就這樣吧。)

看一下 /etc/grub.d 資料夾的例子:

$ ls -ld /etc/grub.d
drwx------. 2 root root 4096 May 23 16:28 /etc/grub.d

注意最左邊的 d,它顯示這是一個目錄或資料夾。許可權顯示使用者所有者(root)可以讀取、更改和 cd 到此資料夾中。但是,沒有其他人可以這樣做 —— 無論他們是否是 root 組的成員。注意,你不能 cd 進入該資料夾。

$ cd /etc/grub.d
bash: cd: /etc/grub.d: Permission denied

注意你自己的主目錄是如何設定的:

$ ls -ld $HOME
drwx------. 221 paul paul 28672 Jul  3 14:03 /home/paul

現在,注意除了作為所有者之外,沒有人可以訪問此資料夾中的任何內容。這是特意的!你不希望其他人能夠在共享系統上讀取你的私人內容。

建立共享資料夾

你可以利用此許可權功能輕鬆建立一個資料夾以在組內共享。假設你有一個名為 finance 的小組,其中有幾個成員需要共享文件。因為這些是使用者文件,所以將它們儲存在 /home 資料夾層次結構中是個好主意。

首先,使用 sudo 建立一個共享資料夾,並將其設定為 finance 組所有:

$ sudo mkdir -p /home/shared/finance
$ sudo chgrp finance /home/shared/finance

預設情況下,新資料夾具有這些許可權。注意任何人都可以讀取或搜尋它,即使他們無法建立或刪除其中的檔案:

drwxr-xr-x. 2 root root 4096 Jul  6 15:35 finance

對於金融資料來說,這似乎不是一個好主意。接下來,使用 chmod 命令更改共享資料夾的模式(許可權)。注意,使用 g 更改所屬組的許可權,使用 o 更改其他使用者的許可權。同樣,u 會更改使用者所有者的許可權:

$ sudo chmod g+w,o-rx /home/shared/finance

生成的許可權看起來更好。現在,finance 組中的任何人(或使用者所有者 root)都可以完全訪問該資料夾及其內容:

drwxrwx---. 2 root finance 4096 Jul  6 15:35 finance

如果其他使用者嘗試訪問共享資料夾,他們將無法執行此操作。太棒了!現在,我們的金融部門可以將文件放在一個共享的地方。

其他說明

還有其他方法可以操作這些許可權。例如,你可能希望將此資料夾中的任何檔案設定為 finance 組所擁有。這需要本文未涉及的其他設定,但請繼續關注我們,以瞭解關於該主題的更多資訊。


via: https://fedoramagazine.org/command-line-quick-tips-permissions/

作者:Paul W. Frields 選題:lujun9972 譯者:MjSeven 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章