1. 程式人生 > >Linux命令:chmod/chgrp/chown

Linux命令:chmod/chgrp/chown

Linux系統中的每個檔案和目錄都有訪問許可許可權,用它來確定誰可以通過何種方式對檔案和目錄進行訪問和操作。

檔案或目錄的訪問權 限分為只讀,只寫和可執行三種。以檔案為例,只讀許可權表示只允許讀其內容,而禁止對其做任何的更改操作。可執行許可權表示允許將該檔案作為一個程式執行。文 件被建立時,檔案所有者自動擁有對該檔案的讀、寫和可執行許可權,以便於對檔案的閱讀和修改。使用者也可根據需要把訪問許可權設定為需要的任何組合。

Linux命令:修改檔案許可權命令chmod、chgrp、chown詳解

有三種不同型別的使用者可對檔案或目錄進行訪問:檔案所有者,同組使用者、其他使用者。所有者一般是檔案的建立者。所有者可以允許同組使用者有權訪問檔案,還可以將檔案的訪問許可權賦予系統中的其他使用者。在這種情況下,系統中每一位使用者都能訪問該使用者擁有的檔案或目錄。

每一檔案或目錄的訪問許可權都有三組,每組用三位表示,分別為檔案屬主的讀、寫和執行許可權;與屬主同組的使用者的讀、寫和執行許可權;系統中其他使用者的讀、寫和執行許可權。當用ls -l命令顯示檔案或目錄的詳細資訊時,最左邊的一列為檔案的訪問許可權。例如:

  1. $ ls -l sobsrc. tgz
  2. -rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. 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:

  1. $ chmod a+x sort

即設定檔案sort的屬性為:

檔案屬主(u) 增加執行許可權

與檔案屬主同組使用者(g) 增加執行許可權

其他使用者(o) 增加執行許可權

例2:

  1. $ chmod ug+w,o-x text

即設定檔案text的屬性為:

檔案屬主(u) 增加寫許可權

與檔案屬主同組使用者(g) 增加寫許可權

其他使用者(o) 刪除執行許可權

例3:

  1. $ chmod u+s a.out

假設執行chmod後a.out的許可權為(可以用ls – l a.out命令來看):

  1. –rws--x--x 1 inin users 7192 Nov 4 14:22 a.out

並且這個執行檔案要用到一個文字檔案shiyan1.c,其檔案存取許可權為“–rw——-”,即該檔案只有其屬主具有讀寫許可權。

當其他使用者執行a.out這個程式時,他的身份因這個程式暫時變成inin(由於chmod命令中使用了s選項),所以他就能夠讀取shiyan1.c這個檔案(雖然這個檔案被設定為其他人不具備任何許可權),這就是s的功能。

因此,在整個系統中特別是root本身,最好不要過多的設定這種型別的檔案(除非必要)這樣可以保障系統的安全,避免因為某些程式的bug而使系統遭到入侵。

例4:

  1. $ chmod a–x mm.txt
  2. $ chmod –x mm.txt
  3. $ chmod ugo–x mm.txt

以上這三個命令都是將檔案mm.txt的執行許可權刪除,它設定的物件為所有使用者。

2. 數字設定法

我們必須首先了解用數字表示的屬性的含義:0表示沒有許可權,1表示可執行許可權,2表示可寫許可權,4表示可讀許可權,然後將其相加。所以數字屬性的格式應為3個從0到7的八進位制數,其順序是(u)(g)(o)。

例如,如果想讓某個檔案的屬主有“讀/寫”二種許可權,需要把4(可讀)+2(可寫)=6(讀/寫)。

數字設定法的一般形式為:chmod [mode] 檔名¼

例1:

  1. $ chmod 644 mm.txt
  2. $ ls –l

即設定檔案mm.txt的屬性為:

  1. -rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt

檔案屬主(u)inin 擁有讀、寫許可權

與檔案屬主同組人使用者(g) 擁有讀許可權

其他人(o) 擁有讀許可權

例2:

  1. $ chmod 750 wch.txt
  2. $ ls –l
  3. -rwxr-x--- 1 inin users 44137 Nov 12 9:22 wchtxt

即設定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:

  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。

  1. chown yusi yusi123.com

例2:把目錄/demo及其下的所有檔案和子目錄的屬主改成yusi,屬組改成users。

  1. $ chown - R yusi.users /demo

例如:chown qq /home/qq  (把home目錄下的qq目錄的擁有者改為qq使用者)

例如:chown -R qq /home/qq  (把home目錄下的qq目錄下的所有子檔案的擁有者改為qq使用者)

注:部分參考自百度百科。

相關推薦

Linux命令chmod/chgrp/chown

Linux系統中的每個檔案和目錄都有訪問許可許可權,用它來確定誰可以通過何種方式對檔案和目錄進行訪問和操作。 檔案或目錄的訪問權 限分為只讀,只寫和可執行三種。以檔案為例,只讀許可權表示只允許讀其內容,而禁止對其做任何的更改操作。可執行許可權表示允許將該檔案作為一個程式執行

Linux命令chmodchgrpchown的區別

臨時 name chown 版本 ted root 命令格式 歷程 bsp   chmod是更改文件的權限;   chgrp只是更改文件的屬組;   chown是更改文件的屬主與屬組。 1.chmod:更改文件的權限   文件權限的設置方式有兩種,分別是數字和標記。   m

Linux常用命令chmod修改檔案許可權 777和754

常用下面這條命令: chmod 777  檔案或目錄 示例:chmod  777 /etc/squid 執行命令後,squid資料夾(目錄)的許可權就被修改為777(可讀可寫可執行)。 如果是Ubuntu系統,可能需要加上sudo來執行: sudo chmod  77

修改linux檔案許可權命令chmod

Linux系統中的每個檔案和目錄都有訪問許可許可權,用它來確定誰可以通過何種方式對檔案和目錄進行訪問和操作。   檔案或目錄的訪問許可權分為只讀,只寫和可執行三種。以檔案為例,只讀許可權表示只允許讀其內容,而禁止對其做任何的更改操作。可執行許可權表示允許將該檔案作為一個程式

chmod,chgrp,chown命令 修改檔案許可權

     linux系統的檔案和目錄屬性都有訪問許可許可權。      檔案或目錄的訪問許可權分為只讀、只寫和可執行三種。其中這三種許可權還對使用者進行區分,分別是檔案或目錄擁有者、同用戶組使用者及其他使用者。 如: 一個檔案或目錄有十位屬性,分別是: 1——檔案是目錄還是純檔案。若是目錄的話此位為d

linux 中更改使用者許可權和使用者組的命令例項--chmod,chgrp應用

1.目錄及檔案許可權增加 增加許可權給當前使用者: chmod +wx filename 修改使用者組: chgrp -R 組名 資料夾名 修改使用者名稱:chown -R 所有者使用者名稱.組名 資料夾名稱 例如:ch

每天一個linux命令 chown命令

chown將指定檔案的擁有者改為指定的使用者或組,使用者可以是使用者名稱或者使用者ID;組可以是組名或者組ID;檔案是以空格分開的要改變許可權的檔案列表,支援萬用字元。系統管理員經常使用chown命令,在將檔案拷貝到另一個使用者的名錄下之後,讓使用者擁有使用該檔

Linux常用命令chmod修改檔案許可權 777和754

常用下面這條命令:chmod 777  檔案或目錄示例:chmod  777 /etc/squid 執行命令後,squid資料夾(目錄)的許可權就被修改為777(可讀可寫可執行)。如果是Ubuntu系統,可能需要加上sudo來執行:sudo chmod  777 /etc/s

Linux命令scp命令(文件上傳和下載)

roo dir lin 10.10 文件上傳和下載 cp命令 scp inux scp命令 Linux命令:scp命令(文件上傳和下載) #本地下載遠端文件 並且重命名(從本地機器下載遠端)scp [email protected]/* */:/ROOT/lo

linux命令批量將查找到的文件移動或者復制到其他目錄並盡可能保持原文件的目錄結構

dep {} spa att 技術分享 滿足 分享 span 其他 以例子說明 原文件: 移動目標: 步驟: 1.查找出滿足條件的文件,並先創建目標目錄 find /root/ -maxdepth 5 -name ‘*.log‘ -exec echo

linux命令 兩個查找工具 locate,find

區分 其他 執行權限 查找條件 acs 遍歷 find ima 使用 linux 中有很多查找工具,今天主要講解locate,find兩個工具。 1.locate (1)查詢系統上預建的文件索引數據庫 /var/lib/mlocate/mlocate.d

(轉)Linux命令使用dig命令解析域名

要求 改名 標識 udp mman aid blog 大小 叠代查詢 Linux命令:使用dig命令解析域名 Linux下解析域名除了使用nslookup之外,開可以使用dig命令來解析域名,dig命令可以得到更多的域名信息。 dig的全稱是 (domain informa

Unix/Linux命令bc

信息 模式 ase quit 小數 IT 命令行 oba 進入 bc是linux下的命令行式的計算器。 參數 -i 強制交互模式 -l 使用bc的內置庫 -q 進入bc交互模式不再輸出版本等多余的信息 特殊變量 scale 小數保留位,默認0位 obase 輸出進制

每天一個linux命令df 命令

AR 設備文件 服務 管理磁盤 磁盤 輸出格式 nc命令 指定 -m linux中df命令的功能是用來檢查linux服務器的文件系統的磁盤空間占用情況。可以利用該命令來獲取硬盤被占用了多少空間,目前還剩下多少空間等信息。 1.命令格式: df [選項] [文件] 2.命令功

每天一個linux命令du 命令

-o 實例 選項 當前目錄 roo 系統目錄 df命令 exc 磁盤空間 Linux du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對文件和目錄磁盤使用的空間的查看,還是和df命令有一些區別的. 1.命令格式: du [選項][文件] 2.命令功能

Linux命令 查找文件中的字符串

分享圖片 技術分享 文件中 nbsp lena ring img http TP ①cat filename | grep ‘string‘ ② Linux命令: 查找文件中的字符串

Linux命令刪除與恢復命令

OS tro ali soft 開始 lin 全部 mil filename 敲命令按以下順序 ①vim filename ②e ③i ④ESC 刪除命令: x(小寫):刪除光標所在處字符。 dd:刪除光標所在的行。 D:刪除從光標所在之處開始直到該行末尾的全部字符。

每天學習一個LINUX命令pwd 顯示當前目錄(Print-Working-Directory)

direct lin mark 實例 dir 目前 當前目錄 圖片 png pwd命令以絕對路徑的方式顯示用戶當前工作目錄。命令將當前目錄的全路徑名稱(從根目錄)寫入標準輸出。全部目錄使用/分隔。第一個/表示根目錄,最後一個目錄是當前目錄。執行pwd命令可立刻得知您目前所在

每天學習一個LINUX命令ls 目錄列表(list 清單目錄 名單)

.com 識別 編碼 cto inux oss ces 高亮 圖片 ls命令用於顯示文件目錄列表。當不加參數時,默認列出當前目錄的列表信息。 語法參數: ls [參數] [目錄或文件名] 參數(註意區分大小寫) -a:顯示所有檔案及目錄(ls內定將檔案名或目錄名稱為

每天學習一個LINUX命令mkdir 創建目錄文件夾(make directory 做活動目錄)

而不是 col RoCE ask size 活動 umask nag linux linux mkdir 命令用來創建指定的名稱的目錄,要求創建目錄的用戶在當前目錄中具有寫權限,並且指定的目錄名不能是當前目錄中已有的目錄。 語法參數: mkdir [參數] [目錄名]