Linux中國

chown 命令簡介

Linux 系統上的每個文件和目錄均由某個人擁有,擁有者可以完全控制更改或刪除他們擁有的文件。除了有一個擁有用戶外,文件還有一個擁有組

你可以使用 ls -l 命令查看文件的所有權:

[pablo@workstation Downloads]$ ls -l
total 2454732
-rw-r--r--. 1 pablo pablo 1934753792 Jul 25 18:49 Fedora-Workstation-Live-x86_64-30-1.2.iso

該輸出的第三和第四列是擁有用戶和組,它們一起稱為所有權。上面的那個 ISO 文件這兩者都是 pablo

所有權設置由 chmod 命令進行設置,控制允許誰可以執行讀取、寫入或運行的操作。你可以使用 chown 命令更改所有權(一個或兩者)。

所有權經常需要更改。文件和目錄一直存在在系統中,但用戶不斷變來變去。當文件和目錄在系統中移動時,或從一個系統移動到另一個系統時,所有權也可能需要更改。

我的主目錄中的文件和目錄的所有權是我的用戶和我的主要組,以 user:group 的形式表示。假設 Susan 正在管理 Delta 組,該組需要編輯一個名為 mynotes 的文件。你可以使用 chown 命令將該文件的用戶更改為 susan,組更改為 delta

$ chown susan:delta mynotes
ls -l
-rw-rw-r--. 1 susan delta 0 Aug  1 12:04 mynotes

當給該文件設置好了 Delta 組時,它可以分配回給我:

$ chown alan mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan delta 0 Aug  1 12:04 mynotes

給用戶後添加冒號(:),可以將用戶和組都分配回給我:

$ chown alan: mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan alan 0 Aug  1 12:04 mynotes

通過在組前面加一個冒號,可以只更改組。現在,gamma 組的成員可以編輯該文件:

$ chown :gamma mynotes
$ ls -l
-rw-rw-r--. 1 alan gamma 0 Aug  1 12:04 mynotes

chown 的一些附加參數都能用在命令行和腳本中。就像許多其他 Linux 命令一樣,chown 有一個遞歸參數(-R),它告訴該命令進入目錄以對其中的所有文件進行操作。沒有 -R 標誌,你就只能更改文件夾的許可權,而不會更改其中的文件。在此示例中,假定目的是更改目錄及其所有內容的許可權。這裡我添加了 -v(詳細)參數,以便 chown 報告其工作情況:

$ ls -l . conf
.:
drwxrwxr-x 2 alan alan 4096 Aug  5 15:33 conf

conf:
-rw-rw-r-- 1 alan alan 0 Aug  5 15:33 conf.xml

$ chown -vR susan:delta conf
changed ownership of 'conf/conf.xml' from alan:alan to  susan:delta
changed ownership of 'conf' from alan:alan to  susan:delta

根據你的角色,你可能需要使用 sudo 來更改文件的所有權。

在更改文件的所有權以匹配特定配置時,或者在你不知道所有權時(例如運行腳本時),可以使用參考文件(--reference=RFILE)。例如,你可以複製另一個文件(RFILE,稱為參考文件)的用戶和組,以撤消上面所做的更改。回想一下,點(.)表示當前的工作目錄。

$ chown -vR --reference=. conf

報告更改

大多數命令都有用於控制其輸出的參數。最常見的是 -v--verbose)以啟用詳細信息,但是 chown 還具有 -c--changes)參數來指示 chown 僅在進行更改時報告。chown 還會報告其他情況,例如不允許進行的操作。

參數 -f--silent--quiet)用于禁止顯示大多數錯誤消息。在下一節中,我將使用 -f-c,以便僅顯示實際更改。

保持根目錄

Linux 文件系統的根目錄(/)應該受到高度重視。如果命令在此層級上犯了一個錯誤,則後果可能會使系統完全無用。尤其是在運行一個會遞歸修改甚至刪除的命令時。chown 命令具有一個可用於保護和保持根目錄的參數,它是 --preserve-root。如果在根目錄中將此參數和遞歸一起使用,那麼什麼也不會發生,而是會出現一條消息:

$ chown -cfR --preserve-root alan /
chown: it is dangerous to operate recursively on '/'
chown: use --no-preserve-root to override this failsafe

如果不與 --recursive 結合使用,則該選項無效。但是,如果該命令由 root 用戶運行,則 / 本身的許可權將被更改,但其下的其他文件或目錄的許可權則不會更改:

$ chown -c --preserve-root alan /
chown: changing ownership of '/': Operation not permitted
[root@localhost /]# chown -c --preserve-root alan /
changed ownership of '/' from root to alan

所有權即安全

文件和目錄所有權是良好的信息安全性的一部分,因此,偶爾檢查和維護文件所有權以防止不必要的訪問非常重要。chown 命令是 Linux 安全命令集中最常見和最重要的命令之一。

via: https://opensource.com/article/19/8/linux-chown-command

作者:Alan Formy-Duval 選題:lujun9972 譯者:wxy 校對:wxy

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    5 Comments

    1. 350fairfax nordvpn coupons inspiresensation
      Wonderful work! This is the type of information that are supposed to
      be shared across the web. Shame on the seek engines for not positioning
      this publish upper! Come on over and visit my web site .
      Thanks =)

    2. Touche. Great arguments. Keep up the good work.

      Look at my blog :: nordvpn coupons inspiresensation

    3. With havin so much written content do you ever run into any issues of plagorism or copyright infringement?
      My website has a lot of completely unique content I’ve either written myself or outsourced but it looks like a lot of it is popping it up all over the
      web without my agreement. Do you know any ways to help prevent content
      from being stolen? I’d genuinely appreciate it.

      my website nordvpn coupons inspiresensation (s.bea.sh)

    4. I was able to find good information from your articles.

      Feel free to surf to my page; nordvpn coupons inspiresensation

    5. After checking out a few of the blog articles on your blog, I
      truly appreciate your way of writing a blog. I saved it to my bookmark site list and will be checking
      back in the near future. Please check out my web site as well and tell me how you feel.

      Stop by my web-site; nordvpn coupons inspiresensation

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國