1. 程式人生 > >大資料Linux命令之許可權與修改許可權

大資料Linux命令之許可權與修改許可權

一、許可權

許可權是作業系統用來限制資源訪問的機制,許可權一般分為讀、寫、執行。

系統中每個檔案都擁有特定的許可權、所屬使用者及所屬組,通過這樣的機制來限制哪些使用者、哪些組可以對特定的檔案進行什麼樣的操作。

每個程序都是以某個使用者的身份執行,所以程序的許可權與該使用者的許可權一樣,使用者的許可權越大,該程序所擁有的許可權也就越大。

許可權分為使用者、使用者、其他組,linux中檔案與目錄是由r讀、w寫、x執行來構建整個系統。 r 4 cat more w 2 > >> vi x 1 用於shell指令碼 無許可權 - 企業上常見有3組情況 第一組: rw- 6 代表root使用者對這個檔案或資料夾的許可權 第二組: r-- 4 代表root使用者組的所有成員對這個檔案或資料夾的許可權 第三組: r-- 4 代表其他組的所有成員對這個檔案或資料夾的許可權 在這裡插入圖片描述

在這裡插入圖片描述

切換使用者,訪問root使用者目錄下的某一資料夾:Permission denied.

在這裡插入圖片描述 發現其他組使用者是無權訪問root使用者,這是需要修改root使用者對第三組使用者的許可權限制,賦予可讀的許可權: 在這裡插入圖片描述 在tmp目錄下示範一下(tmp是Linux系統中一個臨時資料夾,允許所有使用者能夠訪問而不修改許可權) 在tmp目錄建立一個root使用者使用者組所屬的新的檔案,而其他使用者組只有可讀許可權(tmp目錄下所有使用者均能檢視此檔案),先把可讀許可權去掉,然後用另外一個使用者訪問,發現此使用者將不能訪問此資料夾。 在這裡插入圖片描述 在這裡插入圖片描述

二、檔案與目錄的許可權(補充)

參考連結

  1. 對於檔案的許可權說明

1.當僅r許可權作用在檔案上的時候,表示使用者可以讀取該檔案的內容。 2.當僅w許可權作用在檔案上的時候,表示使用者可以修改該檔案的內容。 3.當僅x許可權作用在檔案上的時候,沒有意義。 4.當rw同時作用在檔案上的時候,表示使用者可以讀寫檔案。 5.當rx同時作用在檔案上的時候,表示使用者可以讀且可以執行該檔案。 6.當wx同時作用在檔案上的時候,許可權與僅w相同。 7.當rwx同時作用在檔案上的時候,使用者可以讀寫執行。 普通使用者不能更改檔案所屬人,更改檔案的組需要使用者在相應的組才能更改組,二進位制檔案讀寫無意義。

  1. 對於目錄的檔案說明

1.當僅r許可權作用在目錄上的時候,表示使用者可以短列出檢視目錄下的檔名。 2.當僅w許可權作用在目錄上的時候,沒有意義。 3.當僅x許可權作用在目錄上的時候,表示使用者可以進入且可以訪問目錄下的檔案,但不能列出檔名。 4.當僅rw許可權同時作用在目錄上的時候,許可權等同於僅r許可權作用在目錄。 5.當僅rx許可權同時作用在目錄上的時候,表示使用者可以進入,可以訪問子檔案,同時可以長列出檔案。 6.當僅wx許可權同時作用在目錄上的時候,表示使用者可以進入,可以訪問子檔案,可以建立及刪除,但不能列出。 7.當rwx許可權同時作用在目錄上的時候,表示使用者有完整許可權。

普通使用者對於目錄沒有執行許可權是不能進入,也不能檢視檔案的詳細屬性和內容,即使有讀許可權,有寫許可權就可刪除目錄內檔案內容。 檔案能不能刪不由檔案決定,由目錄決定 。 X對於批量增加x許可權時,可以跳過檔案而只對目錄加x。

三、寫一個shell指令碼

開啟文字編輯器(可以使用 vi/vim 命令來建立檔案),新建一個檔案 test.sh,副檔名為 sh(sh代表shell),副檔名並不影響指令碼執行,見名知意就好

  1. 建立shell指令碼vi test.sh 首行輸入:#!/bin/bash(必須) #! 是一個約定的標記,它告訴系統這個指令碼需要什麼直譯器來執行,即使用哪一種 Shell。 中間輸入命令內容,可用echo命令
  2. 賦予執行許可權 (1)sh test.sh (sh命令表示不需要賦予許可權即可執行的命令) (2)./test.sh(必須賦予執行許可權)

注意,一定要寫成 ./test.sh,而不是 test.sh,執行其它二進位制的程式也一樣,直接寫 test.sh,linux 系統會去PATH 裡尋找有沒有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 裡,你的當前目錄通常不在 PATH 裡,所以寫成 test.sh 是會找不到命令的,要用 ./test.sh 告訴系統說,就在當前目錄找。

修改指令碼x執行許可權:[[email protected] ~]$ chmod 765 test.sh 在這裡插入圖片描述

四、許可權修改

  1. chown 修改檔案和資料夾的使用者和使用者組屬性
  2. chmod 修改檔案和資料夾讀寫執行屬性 參考連結 1、chmod xxx 檔名 (xxx是許可權數字) 2、chmod xxx -R 資料夾名 (xxx是許可權數字) 3、chown 使用者:使用者組 檔名 4、chown -R 使用者:使用者組 資料夾名 5、chmod -x 檔名稱 6、chmod +x 檔名稱 7、chmod u+x 檔名稱 (只允許某一使用者執行) 8、chmod u+x xxx.sh 9、chmod g+x xxx.sh 10、chmod o+x xxx.sh

chmod [OPTION]… OCTAL-MODE FILE…

修改方法:

chmod who(對誰操作) opt(做什麼操作) per(給什麼許可權) file who : owner group other u g o opt : + - = a(all或不寫ugo 也是全部)增加 減少 賦予 per : r w x X s ,t chmod u+x,g-w,o= | file =等號後是空 許可權就是空的

###資料夾/檔案所屬的使用者和使用者組只能由所屬的使用者和使用者組訪問,其他使用者組不能訪問。

歡迎批評指正!

-加油???

2018-9-23 21:35 Sylvia