chown 命令使用方法
系統上的每個檔案和目錄均由某個人擁有,擁有者可以完全控制更改或刪除他們擁有的檔案。除了有一個擁有使用者外,檔案還有一個擁有組。
你可以使用 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 安全命令集中最常見和最重要的命令之一。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2674519/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- chown 命令簡介
- Linux --- chown 命令Linux
- linux每日命令(29):chown命令Linux
- Linux基礎命令---chownLinux
- UNix下chmod,chown命令 詳解
- 每天一個 Linux 命令(30): chown 命令Linux
- 常用命令--chmod--chown--區別
- chown
- 檔案許可權管理命令chmod,chown與文字搜尋命令grep
- scp命令使用方法
- git命令使用方法Git
- [Bash] chmod and chown
- Analyze 命令的使用方法
- BASH命令使用方法詳解
- hp-unix 命令使用方法
- find 的命令的使用方法。
- linux dig 命令使用方法Linux
- Ldd命令介紹及使用方法
- unix下 nohup 命令使用方法(轉)
- chown與chmod的區別
- linux 許可權 chownLinux
- Linux常用命令之使用者許可權管理chmod、chown、chgrp、umask命令講解Linux
- VIM 搜尋命令使用方法和技巧
- tar.gz壓縮命令使用方法
- emc powerpath的powermt命令使用方法
- 函式chown、fchown、fchownat和lchown函式
- linux tail命令的使用方法詳解LinuxAI
- Linux下SSH命令使用方法詳解Linux
- 詳述Linux ftp命令的使用方法LinuxFTP
- 一些MongoDB基本命令及使用方法MongoDB
- Windows 批處理之DATE命令的使用方法Windows
- linux下fdisk命令的使用方法(分割槽)Linux
- win10系統下BCDEdit命令的使用方法Win10
- Dreamweaver關於媒體查詢命令的使用方法
- 【轉載】linux tail命令的使用方法詳解LinuxAI
- Solaris下的常用命令和使用方法(轉)
- chown: /usr/local: Operation not permitted問題解決MIT
- Unix系統中的dot命令的使用方法詳解