歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix基礎知識 >> Unix培訓教材(1)

Unix培訓教材(1)

日期:2017/2/25 10:12:26   编辑:Unix基礎知識

在類 UNIX 操作系統中,文件所有權和權限是非常重要的概念。UNIX 從一開始就是多用戶的操作系統。盡管現在新版本的 Windows 也可以用作多用戶系統,但如果追溯到早期的個人計算機和 DOS 時期,Windows 的祖先是單用戶的。即使在今天,有些 Windows 用戶也很少考慮多用戶系統中關於多個帳戶和文件權限的問題。對於 UNIX 用戶來說,理解文件所有權和權限是至關重要的。

1.1. chown、chgrp

可以使用 ls -l 查看 UNIX 中的文件所有權,可以使用 chown 和 chgrp 對其進行更改。輸入下面的命令: $ ls -l

使用 -l 指定需要查看長格式的文件清單。長格式包括關於權限、所有權、修改日期和文件大小等信息。您應該看到與下面所示類似的內容: tsystem:~/TUTORIAL tuser$ ls -l

total 0

-rw-r--r-- 1 tuser admin 0 Aug 13 15:35 example.txt

當詳細顯示目錄清單時,您可以分別在第 3 和第 4 列中看到文件的用戶所有權和組所有權。該文件由 tuser 用戶和 admin 組所有。現在,暫時不管這個文件,輸入下面的命令可以得到更多的信息: $ man chown

$ man chgrp

該命令的基本語法是使用用戶名或組名作為第 1 個輸入,後面是需要進行操作的文件或文件列表。例如: $ chown tuser example.txt

$ chgrp admin example.txt

1.2. chmod

在 UNIX 中,使用與每個文件相關聯的一組 9 個標志來處理基本文件權限。這些標志分別對應於不同用戶類別(用戶、組和其他用戶)和三種文件操作(讀取、寫入和執行)。輸入下面的命令: $ ls -l

您應該看到與下面所示類似的內容: -rw-r--r-- 1 tuser admin 0 Aug 13 15:35 example.txt

當您閱讀目錄的長格式清單時,其中的第 1 列顯示了文件權限。請注意,該列中有 10 個字符(而不是 9 個)。第 1 個字符表示您正在處理的文件的類型。例如,短橫線 -,告訴您這是一個常規文件。d 表示目錄,而不是普通文件。現在,我們重點關注於其他的 9 個字符,每個字符可以為下列幾種情況其中之一:-、r、w 或 x。如果關閉了某個文件所有的權限,那麼它應該與下面所示類似: ---------- 1 tuser admin 0 Aug 13 15:35 example.txt

如果打開了某個文件所有的權限,那麼它應該與下面所示類似: -rwxrwxrwx 1 tuser admin 0 Aug 13 15:35 example.txt

您可以看到 3 組 rwx。如前所述,有 3 種不同的用戶類別(用戶、組和其他用戶)。每一組 rwx 對應於其中的一個類別:

第 1 組 rwx 表示 user 的權限。換句話說,這可以告訴您,該文件的擁有者可以對其進行哪些操作。

第 2 組對應於 group。這可以告訴您,組成員可以對該文件進行哪些操作。

第 3 組對應於 other。這可以告訴您,系統中所有的用戶可以對該文件進行哪些操作,無論該文件屬於誰。

讓我們更仔細地研究一下 example.txt 文件當前的權限: -rw-r--r-- 1 tuser admin 0 Aug 13 15:35 example.txt

第 1 組三個標志表示該文件的所有者可以對其進行讀取、寫入操作,但是不能執行它(其中有 r 和 w,但沒有 x)。從第 2 組三個標志中您可以看出,擁有該文件的組可以對其進行讀取,但不能寫入或執行(其中有 r,但沒有 w 或 x)。第 3 組三個標志顯示了,所有其他的用戶可以讀取該文件,但不能對其進行寫入或執行操作(其中有 r,但沒有 w 或 x)。這裡給出了一個很好的示例,說明了詳細的 man 頁面非常重要。您可以停下來,並輸入下面的命令: $ man chmod

現在,可以考慮一下這樣的可能性,即該文件中保存了私有的信息,而您不希望任何其他的用戶進行讀取。您可能希望刪除其他組和所有其他用戶的讀取權限。可以使用 chmod 更改這些權限。與 UNIX 中的許多操作一樣,使用 chmod 的方法很多,本部分內容重點關注其中之一。使用三個字母(u、g 和 o)來表示三種類別(用戶、組和其他用戶)。使用三個字母(r、w 和 x)來表示三種權限(讀取、寫入和執行)。要更改這些權限,可以使用 chmod,加上需要更改的類別的字母,再加上一個加號或減號(分別表示打開或關閉),然後使用相應的字母給出需要更改的權限。最後,加上需要進行更改的文件的名稱。最好通過一個示例來進行說明: $ chmod og-r example.txt

$ ls -l

您應該看到下面的結果:

-rw------- 1 tuser admin 0 Aug 13 15:35 example.txt

在這個示例中,您指定了其他用戶和組(o 和 g),並使用減號表示希望對這些類別關閉某些權限。然後,使用 (r) 表示需要關閉讀取訪問權限。現在,文件的所有者 tuser 仍然可以對該文件進行讀取和寫入操作,但系統中所有其他的用戶(除了超級用戶之外)都不能訪問該文件。注意:超級用戶 (root) 可以重寫所有的文件權限。

Copyright © Linux教程網 All Rights Reserved