導航:首頁 > 程序命令 > linux命令chown

linux命令chown

發布時間:2024-03-18 04:19:35

㈠ 說說在 linux 中如何修改某個文件擁有者

修改某個文件的擁有者,最常見的應用場景是在復制文件給其他人時 1 。

假設原來在 vagrant 賬號下有一個 deniro.txt 文件:

這時我們使用 cp 命令( cp deniro.txt deniro_.txt ),把這個文件復制一份給其他人:

可以看到,這個新的 deniro_.txt 文件,它的擁有者以及擁有組名都為 vagrant。

如果我們把這個文件給其他賬號,他們如果沒有許可權,根本無法使用。

解決這一問題的方法之一是使用 chgrp 命令修改這個新文件所在的組 2 。

這里我們採用另一種方法:修改這個新文件的擁有者。這會用到 chown 命令。Linux chown(英文全拼:change owner)命令用於設置文件所有者和文件關聯組的命令 3 。

chown 命令格式為: chown [-R] user[:group] file

比如我們想把新的 deniro_.txt 文件的擁有者改為 operator、組名修改為 tty,那麼可以執行命令 chown operator:tty deniro_.txt (可能需要許可權高的賬號來執行該命令):

參考資料:
【1】鳥哥. 鳥哥的Linux私房菜 基礎學習篇[M]. 第四版. 北京: 人民郵電出版社,2018:212-213.
【2】 說說在 Linux 中如何修改某個文件所屬群組 .
【3】 Linux chown 命令 .

㈡ 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 安全命令集中最常見和最重要的命令之一。

㈢ linux系統下怎麼修改文件所屬用戶和組

linux怎麼修改文件所屬用戶和組

在Linux中,創建一個文件時,該文件的擁有者都是創建該文件的用戶。該文件用戶可以修改該文件的擁有者及用戶組別;或者在root用戶下,這樣可以修改任何文件的擁有者及用戶組。

而修改文件所屬用戶和組,需要用到chown命令。

chown 命令,可以認為是 "change owner" 的縮寫,主要用於修改文件(或目錄)的所有者,除此之外,這個命令也可以修改文件(或目錄)的所屬組。

當只需要修改所有者時,可使用如下 chown 命令的基本格式:

-R(注意大寫)選項表示連同子目錄中的所有文件,都更改所有者。

當只需要修改所屬組時,可使用如下 chown 命令的基本格式:

如果需要同時更改所有者和所屬組,chown 命令的基本格式為:

注意,在 chown 命令中,所有者和所屬組中間也可以使用點(.),但會產生一個問題,如果用戶在設定賬號時加入了小數點(例如 zhangsan.temp),就會造成系統誤判。因此,建議大家使用冒號連接所有者和所屬組。

當然,chown 命令也支持單純的修改文件或目錄的所屬組,例如 chown :group install.log 就表示修改 install.log 文件的所屬組,但修改所屬組通常使用 chgrp 命令,因此並不推薦大家使用 chown 命令。

另外需要注意的一點是,使用 chown 命令修改文件或目錄的所有者(或所屬者)時,要保證使用者用戶(或用戶組)存在,否則該命令無法正確執行,會提示 "invalid user" 或者 "invaild group"。

chown命令的使用示例

1、更改文件的所屬者

首先我們使用ls -l命令來查看一下文件的所屬,例:

下面我們使用chown命令來更改該tmpfile文件的所屬者

然後再使用ls -l命令來查看一下該tmpfile文件的所屬

可以看出:該tmpfile文件的所屬者從「himanshu」變為了「root」

2、更改文件組

通過chown命令,也可以更改組(文件所屬的組別)。

使用以下命令來更改文件所屬的組別:

然後使用ls -l命令來查看一下該tmpfile文件的所屬

也可以直接一次性更改文件的所屬者和組別為root,需要使用以下命令:

閱讀全文

與linux命令chown相關的資料

熱點內容
方舟非官方伺服器怎麼賺錢 瀏覽:512
明日之後伺服器無效是怎麼回事 瀏覽:263
蛋殼公寓app如何查水電表 瀏覽:713
ad20庫中的51單片機怎麼找 瀏覽:616
阿里雲伺服器有點卡嗎 瀏覽:213
蘋果7如何讓app後台運行 瀏覽:170
耐克app預售產品哪裡看 瀏覽:209
補全演算法一年級 瀏覽:131
evd數據調校軟體加密 瀏覽:442
app聽課與微信如何設置分屏 瀏覽:911
加密的excel怎麼撤銷 瀏覽:43
java動態數組初始化 瀏覽:976
編譯後程序塊過大不適合 瀏覽:675
李煜pdf 瀏覽:847
python寫游戲邏輯 瀏覽:489
pdf轉換成word免費版在線轉換 瀏覽:464
荒廢了三年還能做程序員嗎 瀏覽:658
阿里雲內網vpn伺服器 瀏覽:103
l命令第一個點對第二個點對不上 瀏覽:829
oracle導出表命令 瀏覽:910