天天看點

linux權限及基礎指令權限Linux重要目錄linux重要指令常用工具的安裝

權限

權限通俗的來說就是哪些事情能做,哪些事情不能做。在linux下,使用者分為了兩種:超級使用者(root)、普通使用者。

  • 超級使用者:可以在linux下做任何事情,不受限制
  • 普通使用者:在linux下做有限的事情

檔案權限管理

檔案通路者

  • 檔案和目錄的所有者:u-User
  • 檔案和目錄的所屬組:g-Group
  • 其他使用者:o-Other

檔案通路權限

基本權限

  • 讀(r):read對檔案而言,具有讀取檔案内容的權限;對目錄來說,具有遊覽該目錄資訊的權限。
  • 寫(w):write對檔案而言,具有修改檔案内容的權限;對目錄來說具有删除移動目錄内檔案的權限。
  • 執行(x):execute對檔案而言,具有執行檔案的權限;對目錄來說,具有進入目錄的權限。
  • “-”表示不具備該項權限

檔案權限的表示方法

字元表示法
Linux表示 說明 Linux表示 說明
r--- 隻讀 -w- 僅可寫
--x 僅可執行 rw- 可讀可寫
-wx 可寫可執行 r-x 可讀可執行
rwx 可讀可寫可執行 --- 無權限
8進制數值表示法
權限符号 八進制 二進制
r 4 100
w 2 010
x 1 001
rw 6 110
rx 5 101
wx 3 011
rwx 7 111
--- 000

檔案權限相關指令

  • umask

    檢視或設定檔案的預設建立權限掩碼

    預設建立檔案的權限是777

    檔案最終權限算法是777&(~umask)

  • chmod

    修改檔案權限

    0775 以八進制數組方式設定

    u/g/o/a +/- r/w/x 設定指定使用者的權限

  • chown

    修改檔案所有者

    chown root file

  • chgrp 修改檔案所屬組

    chgrp root file

  • 粘滞位

    這個權限為主要針對的是目錄,功能是讓使用者在一個目錄下可以建立檔案,但是隻能删除自己的檔案而不能删除别人的檔案。

    chmod +t file

權限探究

進入目錄需要哪些權限?在目錄中執行增删查(cd, touch, ls, rm, mv等)改檔案動作, 需要哪些權限?

進入目錄(cd)

linux權限及基礎指令權限Linux重要目錄linux重要指令常用工具的安裝

從圖中可以看出,建立一個新目錄預設給我們目錄所有者添加的權限是rwx(可讀可寫可執行),當我們使用chmod指令給目錄依次去除r(可讀)、w(可寫)、x(可執行權限)時,直到x(可執行權限)被去除時,cd指令才出現錯誤提示。當我們給目錄所有者添加上x(可執行權限)後,目錄就又可以進入了。由此說明,進入目錄操作(cd)需要的是目錄的可執行權限。

在目錄中執行“增”操作(touch)

linux權限及基礎指令權限Linux重要目錄linux重要指令常用工具的安裝

從圖中可以看出,在預設的目錄權限下,也就是rwx(可讀可寫可執行)權限下在目錄中可以建立檔案,當我們給目錄去除r(可讀)權限後仍然可以建立檔案,但是去除檔案的w(可寫)權限後,在目錄中建立檔案操作(touch)不被允許,當我們給檔案又加上w(可讀)權限後,在目錄中就又可以建立檔案了。由此說明,在目錄中執行“增”操作(touch)需要的是目錄的可執行權限和可寫權限(這裡不能遺漏可執行權限,因為沒有可執行權限都無法進入目錄,何談建立檔案呢)。

在目錄中執行“删”操作(rm)

linux權限及基礎指令權限Linux重要目錄linux重要指令常用工具的安裝

從圖中可以看出,在預設的目錄權限下,也就是rwx(可讀可寫可執行)權限下在目錄中可以删除檔案,當我們給目錄去除r(可讀)權限後仍然可以删除檔案,但是去除檔案的w(可寫)權限後,在目錄中删除檔案操作(rm)不被允許,當我們給檔案又加上w(可寫)權限後,在目錄中就又可以删除檔案了。由此說明,在目錄中執行“删”操作(rm)需要的是目錄的可執行權限和可寫權限(這裡不能遺漏可執行權限,因為沒有可執行權限都無法進入目錄,何談删除檔案呢)。

在目錄中執行“查”操作(ls)

linux權限及基礎指令權限Linux重要目錄linux重要指令常用工具的安裝

從圖中可以看出,在預設的目錄權限下,也就是rwx(可讀可寫可執行)權限下在目錄中可以遊覽目錄内容,當我們給目錄去除w(可寫)權限後仍然可以遊覽目錄,但是去除檔案的r(可讀)權限後,在目錄中遊覽目錄内容操作(rm)不被允許,當我們給檔案又加上r(可讀)權限後,在目錄中就又可以遊覽目錄内容了。由此說明,在目錄中執行“查”操作(ls)需要的是目錄的可執行權限和可讀權限(這裡不能遺漏可執行權限,因為沒有可執行權限都無法進入目錄,何談遊覽目錄内容呢)。

在目錄中執行“改”操作(mv)

linux權限及基礎指令權限Linux重要目錄linux重要指令常用工具的安裝

從圖中可以看出,在預設的目錄權限下,也就是rwx(可讀可寫可執行)權限下在目錄中可以移動檔案,當我們給目錄去除r(可讀)權限後仍然可以重命名檔案,但是去除檔案的w(可寫)權限後,在目錄中重命名檔案操作(mv)不被允許,當我們給檔案又加上w(可讀)權限後,在目錄中就又可以重命名檔案了。由此說明,在目錄中執行“改”操作(mv)需要的是目錄的可執行權限和可寫權限(這裡不能遺漏可執行權限,因為沒有可執行權限都無法進入目錄,何談重命名檔案呢)

Linux重要目錄

  1. /proc

    Linux核心提供了一種通過 /proc 檔案系統,在運作時通路核心内部資料結構、改變核心設定的機制。proc檔案系統是一個僞檔案系統,它隻存在記憶體當中,而不占用外存空間。它以檔案系統的方式為通路系統核心資料的操作提供接口。

  2. /sys

    檔案系統通路Linux核心。

  3. /SElinux

    SELinux是一種基于域-類型模型(domain-type)的強制通路控制(MAC)安全系統,它由NSA編寫并設計成核心子產品包含到核心中,相應的某些安全相關的應用也被打了SELinux的更新檔,最後還有一個相應的安全政策。

  4. /bin

    可以執行二進制檔案下的目錄,例如 ls, tar, cat ,cp。

  5. /usr/lib

    存放一些程式運作時所必須的函數庫。

  6. /usr/local

    提供給普通使用者的/usr目錄,/usr/local 這裡适合安裝軟體,存放軟體更新包。

  7. /var

    存放經常擴充,不斷變化的東西。那些經常被修改的檔案可以存放在這個目錄下。

  8. /tmp

    一般使用者或正在執行的程式臨時存放檔案的目錄,任何人都可以通路,重要資料不可放置在此目錄下

linux重要指令

  1. du

    格式:du [選項] [檔案]

    功能:顯示每個檔案和目錄的磁盤使用空間

  • -a

    顯示目錄中個别檔案的大小。

  • -b

    顯示目錄或檔案大小時,以byte為機關。

  • -c

    除了顯示個别目錄或檔案的大小外,同時也顯示所有的目錄或檔案的總和。

  • -s

    僅顯示總計,隻列出最後加的值。

  • -h

    以K、M、G為機關,提高資訊的可讀性。

  1. df

    格式:df [選項] [檔案]

    功能:可顯示目前所有檔案系統的可用空間及使用情況(動态顯示過程);檢視哪一級檔案大小、使用比例、檔案系統及其挂入點。

  • -h

    表示使用[Human-readable]的輸出,也就是在檔案系統中大小使用GB、MB等易讀的格式。

  • List item
  1. top

    功能:提供了實時的對系統的處理器的狀态監視,可顯示系統中各個程序的資源占用狀況。

  • -d

    指定兩次螢幕資訊重新整理之間的時間間隔

  • p

    通過指定監控程序id來監控某個程序的狀态。

  1. free

    功能:檢視目前系統記憶體的使用情況,包括系統中剩餘及已用的實體記憶體、交換記憶體、共享記憶體和被核心使用的緩沖區。

  • -b

    輸出以byte方式顯示

  • -k

    輸出以KB方式顯示,這也是系統預設的選項

  • -m

    輸出以MB方式顯示,這個參數比較常用

  • -g

    輸出以GB方式顯示

  • -l

    顯示詳細資訊

  • -o

    舊格式顯示,不顯示-/+ buffers/cache等項

  • -t

    顯示總實體記憶體和交換區間

  • -c n

    顯示統計的次數,n預設為1

  • -s n

    間隔秒數,持續觀察記憶體使用情況

  • -V

    顯示版本資訊

  • -help

    顯示幫助資訊

  1. pstack

    格式:pstack pid

    功能:可顯示每個程序的棧跟蹤,必須由相應程序的屬主或root運作。也可以使用pstack來确定程序挂起的位置。

  2. su

    功能:使用者之間的切換

  3. sudo

    格式: sudo [參數] [指令]

    功能:普通使用者可以使用root來執行指定指令

  • -s

    執行環境變數中的SHELL所指定的shell,或者是/etc/passwd中所指定的shell。

  • -v

    顯示版本編号

  • -h

    顯示版本編号及指令的使用方法說明。

  • -l

    顯示自己的權限

  • -k

    将會強迫使用者在下一次執行sudo時詢問密碼。

  1. adduser

    格式:adduser [必要參數] [選擇性參數] [使用者名]

    功能:指令根據指令行參數給系統添加使用者,它的配置資訊儲存在/etc/adduser/.conf檔案中

  • -r

    system建立一個系統使用者

  • -q

    隻顯示警告資訊和錯誤資訊,不顯示一般資訊

  • -c

    加上備注文字,備注文字會儲存在passwd的備注欄中。

  • -d

    指定使用者登入時的起始目錄

  • -D

    變更預設值

  • -e

    指定賬戶的有效期限,預設表示永久有效

  • -f

    指定密碼過期後多少天關閉該賬号

  • -g

    指定使用者所屬的群組

  • -G

    指定使用者所屬的附加群組

  • -m

    自動建立使用者的登入目錄

  • -M

    不要自動建立使用者的登入目錄

  • -s

    指定使用者登入後所使用的shell

  • -u

    指定使用者id

  1. passwd

    功能:修改使用者密碼

  • -d

    删除密碼

  • -f

    強制執行

  • -k

    更新隻能在過期之後發送

常用工具的安裝

gcc/g++安裝

進入root使用者之後,在指令行中輸入:yum install gcc,根據提示進行便可進行gcc編譯器的安裝。

輸入:yum install gcc-g++按提示則可進行g++的安裝。

linux權限及基礎指令權限Linux重要目錄linux重要指令常用工具的安裝

若顯示上圖中提示,則說明linux中已經安裝好最新版本的gcc編譯器。

gdb安裝

進入root使用者之後,在指令行中輸入:yum install gdb按照提示即可進行gdb調試工具的安裝。

linux權限及基礎指令權限Linux重要目錄linux重要指令常用工具的安裝

若出現上圖中提示,則說明linux中已經安裝好最新版本的gdb調試工具。

vim安裝

一般linux中都會自帶vi/vim文本編輯器,無需進行安裝。但是可以通過檢查vim版本對其進行更新,更重要的是可以通過配置vim使得代碼編輯更加友善美觀。

繼續閱讀