命令行快速提示:許可權
Fedora 與所有基於 Linux 的系統一樣,它提供了一組強大的安全特性。其中一個基本特性是文件和文件夾上的許可權。這些許可權保護文件和文件夾免受未經授權的訪問。本文將簡要介紹這些許可權,並向你展示如何使用它們共享對文件夾的訪問。
許可權基礎
Fedora 本質上是一個多用戶操作系統,它也有組,用戶可以是其成員。但是,想像一下一個沒有許可權概念的多用戶系統,不同的登錄用戶可以隨意閱讀彼此的內容。你可以想像到這對隱私或安全性並不是很好。
Fedora 上的任何文件或文件夾都分配了三組許可權。第一組用於擁有文件或文件夾的用戶,第二組用於擁有它的組,第三組用於其他人,即既不是該文件的用戶也不是擁有該文件的組中的用戶。有時這被稱為全世界。
許可權意味著什麼
每組許可權都有三種形式:讀、寫和執行。其中每個都可以用首字母來代替,即 r
、w
、x
。
文件許可權
對於文件,許可權的含義如下所示:
- 讀(
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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive