① chown -r在linux里是什麼含義,我一直搞不清楚.
「chown -r」在linux里是:對當前目錄下的所有目錄以及子目錄進行相同的擁有者變更。
Linux/Unix 是多用戶多任務操作系統,所有的文件皆有其擁有者(Owner)。利用chown命令可以將文件的擁有者加以改變。
一般來說,這個命令只能由系統管理者(root)使用,一般用戶沒有許可權來改變別人的文件的擁有者,也沒有許可權可以將自己的文件的擁有者改設為別人。只有系統管理者(root)才有這樣的許可權。
chown命令的完整使用方式 :chown [OPTION]... [OWNER][:[GROUP]] FILE...
其中,-R參數是指對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)。
(1)linuxchown命令擴展閱讀:
chown命令的所有參數列表:
1、-c:若該檔案擁有者確實已經更改,才顯示其更改動作
2、-f:若該檔案擁有者無法被更改也不要顯示錯誤訊息
3、-h:只對於連結(link)進行變更,而非該link真正指向的檔案
4、-v:顯示擁有者變更的詳細資料
5、-R:對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)
6、--help:顯示輔助說明
7、--version:顯示版本
② 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,需要使用以下命令:
③ 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 中如何修改某個文件擁有者
修改某個文件的擁有者,最常見的應用場景是在復制文件給其他人時 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 命令 .
⑤ linux操作系統中chown命令
修改文件的用戶和組,
這里就是virtual用戶和virtual組
點就是分割呀,不過已經過時了現在好像都是用冒號分割了
如果有什麼命令不明白可以打man
chown
遵循
POSIX
1003.2不允許使用點作為用戶名和組名的分隔符.
⑥ linux命令chown怎麼用
chmod [-cfhvR] [--help] [--version] user[:group] file...參數描述,user 新的檔案擁有者的使用者 ID ,group 新的檔案擁有者的使用者群體(group) ,-c 若該檔案擁有者確實已經更改,才顯示其更改動作 ,-f 若該檔案擁有者無法被更改也不要輪帆顯示錯誤訊息 ,-h 只對於連結氏顫(link)進行變更,而非該 link 真正指向的檔案 ,-v 顯示擁有者變更的詳細資料 ,-R 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更) ,例子//殲桐敗 將rootfs文件夾及其子錄的許可權和組均改為root,chown –R root:root rootfs,// 將目錄rootfs文件夾及子目錄的所有者和組更改為用 戶liufan和組liufan-desktop,chown –R liufan:liufan-desktop rootfs想了解更多linux相關,歡迎關注《linux就該這么學》官網。
⑦ linux命令 chown
使用chown -hR
h表示修改symbolic鏈接而不去修改對應的文件。
R表示在所攜源悔有子目錄及目錄中的文辯正件中遞歸執行。
具體參裂戚數說明:
-h, --no-dereference affect each symbolic link instead of any referenced
file (useful only on systems that can change the
ownership of a symlink)
-R, --recursive operate on files and directories recursively
⑧ linux如何使用chown改變許可權
1:改變擁有者和群組,命令:chown mail:mail server.log。2:猛唯改變文件擁有者和群組,命令:chown root: server.log。3:改變文件群組,命令:chown :mail server.log,4:改變指定目錄以及其子目錄下的所有文件的擁有者和群組。命令:chown -R -v root:mail test6。-R 處理指定目錄以及其子目錄蔽知行下的所有文件宏嘩。-v 顯示詳細的處理信息,盡請關注《linux就該這么學》官網。
⑨ Linux裡面chown命令作用是什麼
chown將指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或者用戶ID;組可以是組名或者組ID;文件是以空格分開的要改變許可權的文件列表,支持通配符。系統管理員經常使用chown命令,在將文件拷貝到另一個用戶的名錄下之後,讓用戶擁有使用該文件的許可權。
1.命令格式:
chown [選項]... [所有者][:[組]] 文件...
2.命令功能:
通過chown改變文件的擁有者和群組。在更改文件的所有者或所屬群組時,可以使用用戶名稱和用戶識別碼設置。普通用戶不能將自己的文件改變成其他的擁有者。其操作許可權一般為管理員。
3.命令參數:
必要參數:
-c 顯示更改的部分的信息
-f 忽略錯誤信息
-h 修復符號鏈接
-R 處理指定目錄以及其子目錄下的所有文件
-v 顯示詳細的處理信息
-deference 作用於符號鏈接的指向,而不是鏈接文件本身
選擇參數:
--reference= 把指定的目錄/文件作為參考,把操作的文件/目錄設置成參考文件/目錄相同擁有者和群組
--from= 只有當前用戶和群組跟指定的用戶和群組相同時才進行改變
--help 顯示幫助信息
--version 顯示版本信息
4.示例:
chown -R www:www /home/wwwroot/*
解釋:-R遞歸處理所有文件和文件夾,第一個www代表文件的擁有者名稱,第二個www代表所屬群組名稱。
⑩ linux文件許可權命令
有三種不同類型的用戶可對文件或目錄進行訪問:文件所有者,同組用戶、其他用戶。所有者一般是文件的創建者。所有者可以允許同組用戶有權訪問文件,還可以將文件的訪問許可權賦予系統中的其他用戶。在這種情況下,系統中每一位用戶都能訪問該用戶擁有的文件或目錄。
每一文件或目錄的訪問許可權都有三組,每組用三位表示,分別為文件屬主的讀、寫和執行許可權;與屬主同組的用戶的讀、寫和執行許可權;系統中其他用戶的讀、寫和執行許可權。當用ls -l命令顯示文件或目錄的詳細信息時,最左邊的一列為文件的訪問許可權。例如:
$ ls-l sobsrc.tgz
-rw-r--r--1root root483997Ju1l517:3lsobsrc.tgz
橫線代表空許可。r代表只讀,w代表寫,x代表可執行。注意這里共有10個位置。第一個字元指定了文件類型。在通常意義上,一個目錄也是一個文件。如果第一個字元是橫線,表示是一個非目錄的文件。如果是d,表示是一個目錄。例如:
– rw- r– r–
普通文件 文件主 組用戶 其他用戶
是文件sobsrc.tgz 的訪問許可權,表示sobsrc.tgz是一個普通文件;sobsrc.tgz的屬主有讀寫許可權;與sobsrc.tgz屬主同組的用戶只有讀許可權;其他用戶也只有讀許可權。
確定了一個文件的訪問許可權後,用戶可以利用Linux系統提供的chmod命令來重新設定不同的訪問許可權。也可以利用chown命令來更改某個文件或目錄的所有者。利用chgrp命令來更改某個文件或目錄的用戶組。
下面分別對這些命令加以介紹。
chmod 命令
chmod命令是非常重要的,用於改變文件或目錄的訪問許可權。用戶用它控制文件或目錄的訪問許可權。
以主文件夾下的一個名為「cc」的文件夾為例。下面一步一步介紹如何修改許可權:
1.打開終端。輸入」su」(沒有引號)
2.接下來會要你輸入密碼,輸入你的root密碼。
3.假設我的文件夾在主目錄里,地址為 /var/home/dengchao/cc 。假設我要修改文件許可權為777,則在終端輸入 chmod 777 /var/home/userid/cc 文件夾的許可權就變為了777。
如果是修改文件夾及子文件夾許可權可以用 chmod -R 777 /var/home/userid/cc
具體的許可權(例如777的含意等)在下面解釋下:
1.777有3位,最高位7是設置文件所有者訪問許可權,第二位是設置群組訪問許可權,最低位是設置其他人訪問許可權。
其中每一位的許可權用數字來表示。具體有這些許可權:
r(Read,讀取,許可權值為4):對文件而言,具有讀取文件內容的許可權;對目錄來說,具有瀏覽目 錄的許可權。
w(Write,寫入,許可權值為2):對文件而言,具有新增、修改文件內容的許可權;對目錄來說,具有刪除、移動目錄內文件的許可權。
x(eXecute,執行,許可權值為1):對文件而言,具有執行文件的許可權;對目錄了來說該用戶具有進入目錄的許可權。
2. 首先我們來看如何確定單獨一位上的許可權數值,例如最高位表示文件所有者許可權數值,當數字為7時,7用「rwx」表示 –{4(r)+2(w)+1(x)=7}–又如果數值為6,則用「rw-」表示–{4(r)+2(w)+0(x)=6}–,」-」表示不具備許可權,這里表 示不具備「執行」許可權。
假如我們設定其他用戶的訪問許可權為 「r–」,則數值為4+0+0=4
一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進制數,如果有則用1表示,沒有則有0表示,那麼rwx則可以表示成為:111
而二進制的111就是7。
3.我們再來看下怎麼確定3個數位上的許可權。假如我們要給一個文件設置許可權,具體許可權如下:
文件所有者有「讀」、「寫」、「執行」許可權,群組用戶有「讀」許可權,其他用戶有「讀」許可權,則對應的字母表示為」rwx r– r–「,對應的數字為744
一般都是最高位表示文件所有者許可權值,第二位表示群組用戶許可權,最低位表示其他用戶許可權。
下面來舉些例子熟悉下。
許可權 數值
rwx rw- r– 764
rw- r– r– 644
rw- rw- r– 664
該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。
1. 文字設定法
chmod [who] [+ | – | =] [mode] 文件名¼
命令中各選項的含義為:
操作對象who可是下述字母中的任一個或者它們的組合:
u 表示「用戶(user)」,即文件或目錄的所有者。
g 表示「同組(group)用戶」,即與文件屬主有相同組ID的所有用戶。
o 表示「其他(others)用戶」。
a 表示「所有(all)用戶」。它是系統默認值。
操作符號可以是:
+ 添加某個許可權。
– 取消某個許可權。
= 賦予給定許可權並取消其他所有許可權(如果有的話)。
設置mode所表示的許可權可用下述字母的任意組合:
r 可讀。
w 可寫。
x 可執行。
X 只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x 屬性。
s 在文件執行時把進程的屬主或組ID置為該文件的文件屬主。方式「u+s」設置文件的用戶ID位,「g+s」設置組ID位。
t 保存程序的文本到交換設備上。
u 與文件屬主擁有一樣的許可權。
g 與和文件屬主同組的用戶擁有一樣的許可權。
o 與其他用戶擁有一樣的許可權。
-c:若該檔案許可權確實已經更改,才顯示其更改動作
-f:若該檔案許可權無法被更改也不要顯示錯誤訊息
-v:顯示許可權變更的詳細資料
-R:對目前目錄下的所有檔案與子目錄進行相同的許可權變更(即以遞回的方式逐個變更)
–help:顯示輔助說明
–version:顯示版本
文件名:以空格分開的要改變許可權的文件列表,支持通配符。在一個命令行中可給出多個許可權方式,其間用逗號隔開。例如:chmod g+r,o+r example使同組和其他用戶對文件example 有讀許可權。
例1:
$ chmod a+x sort
即設定文件sort的屬性為:
文件屬主(u) 增加執行許可權
與文件屬主同組用戶(g) 增加執行許可權
其他用戶(o) 增加執行許可權
例2:
$ chmod ug+w,o-x text
即設定文件text的屬性為:
文件屬主(u) 增加寫許可權
與文件屬主同組用戶(g) 增加寫許可權
其他用戶(o) 刪除執行許可權
例3:
$ chmod u+s a.out
假設執行chmod後a.out的許可權為(可以用ls – l a.out命令來看):
–rws--x--x1inin users7192Nov414:22a.out
並且這個執行文件要用到一個文本文件shiyan1.c,其文件存取許可權為「–rw——-」,即該文件只有其屬主具有讀寫許可權。
當其他用戶執行a.out這個程序時,他的身份因這個程序暫時變成inin(由於chmod命令中使用了s選項),所以他就能夠讀取shiyan1.c這個文件(雖然這個文件被設定為其他人不具備任何許可權),這就是s的功能。
因此,在整個系統中特別是root本身,最好不要過多的設置這種類型的文件(除非必要)這樣可以保障系統的安全,避免因為某些程序的bug而使系統遭到入侵。
例4:
$ chmod a–x mm.txt
$ chmod–x mm.txt
$ chmod ugo–x mm.txt
以上這三個命令都是將文件mm.txt的執行許可權刪除,它設定的對象為所有使用者。
2. 數字設定法
我們必須首先了解用數字表示的屬性的含義:0表示沒有許可權,1表示可執行許可權,2表示可寫許可權,4表示可讀許可權,然後將其相加。所以數字屬性的格式應為3個從0到7的八進制數,其順序是(u)(g)(o)。
例如,如果想讓某個文件的屬主有「讀/寫」二種許可權,需要把4(可讀)+2(可寫)=6(讀/寫)。
數字設定法的一般形式為:chmod [mode] 文件名¼
例1:
$ chmod644mm.txt
$ ls–l
即設定文件mm.txt的屬性為:
-rw-r--r--1inin users1155Nov511:22mm.txt
文件屬主(u)inin 擁有讀、寫許可權
與文件屬主同組人用戶(g) 擁有讀許可權
其他人(o) 擁有讀許可權
例2:
$ chmod750wch.txt
$ ls–l
-rwxr-x---1inin users44137Nov129:22wchtxt
即設定wchtxt這個文件的屬性為:
文件主本人(u)inin 可讀/可寫/可執行權
與文件主同組人(g) 可讀/可執行權
其他人(o) 沒有任何許可權
chgrp命令
功能:改變文件或目錄所屬的組。
語法:chgrp[選項] group filename¼
參數:
-c或–changes 效果類似」-v」參數,但僅回報更改的部分。
-f或–quiet或–silent 不顯示錯誤信息。
-h或–no-dereference 只對符號連接的文件作修改,而不更動其他任何相關文件。
-R或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一並處理。
-v或–verbose 顯示指令執行過程。
–help 在線幫助。
–reference=<參考文件或目錄> 把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同。
–version 顯示版本信息。
該命令改變指定指定文件所屬的用戶組。其中group可以是用戶組ID,也可以是/etc/group文件中用戶組的組名。文件名是以空格分開的要改變屬組的文件列表,支持通配符。如果用戶不是該文件的屬主或超級用戶,則不能改變該文件的組。
該命令的各選項含義為:
– R 遞歸式地改變指定目錄及其下的所有子目錄和文件的屬組。
例1:
$chgrp-R book/opt/local/book
改變/opt/local /book/及其子目錄下的所有文件的屬組為book。
chown命令
功能:更改某個文件或目錄的屬主和屬組。這個命令也很常用。例如root用戶把自己的一個文件拷貝給用戶yusi,為了讓用戶yusi能夠存取這個文件,root用戶應該把這個文件的屬主設為yusi,否則,用戶yusi無法存取這個文件。
語法:chown[選項] 用戶或組 文件
說明:chown將指定文件的擁有者改為指定的用戶或組。用戶可以是用戶名或用戶ID。組可以是組名或組ID。文件是以空格分開的要改變許可權的文件列表,支持通配符。
參數說明:
user : 新的檔案擁有者的使用者 ID
group : 新的檔案擁有者的使用者群體(group)
-c : 若該檔案擁有者確實已經更改,才顯示其更改動作
-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息
-h : 只對於連結(link)進行變更,而非該 link 真正指向的檔案
-v : 顯示擁有者變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)
–help : 顯示輔助說明
–version : 顯示版本
例1:把文件yusi123.com的所有者改為yusi。
$chownyusi yusi123.com
例2:把目錄/demo及其下的所有文件和子目錄的屬主改成yusi,屬組改成users。
$ chown-R yusi.users/demo
例如:chown qq /home/qq (把home目錄下的qq目錄的擁有者改為qq用戶)
例如:chown -R qq /home/qq (把home目錄下的qq目錄下的所有子文件的擁有者改為qq用戶)