1. 程式人生 > >進入目錄需要哪些許可權, 在目錄中執行增刪查(cd, touch, ls, rm, mv等)改檔案動作, 需要哪些許可權.

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

一:Linux中的基本許可權

首先許可權主要分為兩方面:人和屬性

1:檔案訪問者(人)主要包括:

主使用者: u (user) 組使用者: g(group) 其他使用者:o(other)

具體解釋如下:這裡寫圖片描述

2:基本許可權

(1)r(讀):對於檔案而言,具有讀檔案的許可權,對目錄而言,具有瀏覽目錄的許可權。

(2)w(寫):對檔案而言,具有修改檔案的許可權,對目錄而言,具有刪除,移動目錄的許可權。

(3)x(執行):execute對檔案而言,具有執行檔案的許可權,對於目錄而言,具有進入目錄的許可權。

二:基本許可權的表現形式

1:通過字母和“-”表示

在當前目錄輸入ll(字母L小寫)指令並執行,檢視當前目錄下所有你專案的許可權,如圖所示:

在執行結果第一列顯示即為某一項的可操作許可權,這些操作許可權其實是按照擁有者u、所屬組g、其他o的許可權順序依次組合。

其中“-”表示不具有該許可權。

2:通過數字來表示

擁有者u、所屬組g、其他o所擁有的許可權其實可以用一個八進位制數字來表示,也就是說,一個檔案的許可權可以通過三個八進位制數字來表示

例如: 具有可讀可寫可執行許可權(rwx)——111(二進位制)——7(八進位制) 具有可讀可執行許可權(r-x)——101(二進位制)——5(八進位制) 不具有可讀可寫可執行許可權(—)——000(二進位制)——0(八進位制)

三:進入目錄的許可權

1:如何修改許可權

(1)以字母形式進行修改,用chmod u+r code,利用chmod命令,通過g,u或者o加減所要的許可權或者許可權組合,來實現對檔案許可權的修改,修改之後再用ll許可權來檢視修改後的許可權。

(2)以數字的形式進行修改許可權,我們可以讓g、u、o都具有r、w、x許可權

我們在更改許可權的時候要想好修改成什麼,然後對應相應的數字即可三個一組,rwx許可權分別對應421相加得7,,rw-對應42相加,r–對應4

2:進入目錄的許可權驗證

(1)建立一個目錄haha並使用chmod 000 haha給目錄haha設定成無許可權。

(2)我們先給user加上r許可權,(即chmod u+r haha)但是通過圖片我們看到訪問依然被拒絕,所以進入目錄不需要可讀許可權,需要別的許可權,我們繼續再給user加上其他的許可權。

(3)我們在給user加上w許可權(即chmod u+w haha)進入目錄訪問的許可權依然被拒絕,由此我們可知道進入目錄的許可權也不需要寫許可權。

(4)我們再給user加上執行許可權(即chmod u+x)我們發現可以進入目錄,所以目錄需要的是可執行性許可權。

cd所需許可權

總結: 1)進入一個目錄,對於普通使用者至少需要可執行許可權。 2)在目錄中建立一個新的檔案時,使用者需要可寫可執行許可權。 3)在目錄中建立檔案並進行顯示,使用者需要可讀可寫可執行許可權。

說明: (1)如果目錄沒有-x許可權,則無法對目錄執行任何命令,甚至無法cd進入目錄,即使目錄有-r許可權。

(2)而如果目錄具有-x許可權,但沒有-r許可權,則使用者可以執行命令cd進入目錄,但是由於目錄沒有讀許可權,所以在目錄下即使可以執行ls命令,但是仍然沒有全部讀出目錄下的文件。

四:在目錄中實行增刪查(touch、ls、rm、mv)等檔案的動作,需要的許可權

1:touch

(1)首先我們先刪掉可讀可寫許可權(chmod u- rw)我們進入haha中,使用touch建立一個新的test,發現許可權不夠。

(2)我們先給haha加上可讀許可權(chmod u+r)我們再次進入haha中,使用touch,發現許可權還是不夠。

(3)當我們再給haha刪除可讀許可權加上可寫許可權(chmod u-r,chmod u+w)進入haha,再次使用touch,發現就可以建立一個新的test檔案

touch所需許可權

2:ls

通過上面的touch test許可權,進行ls一下,發現許可權不夠,這時我們返回上一級目錄給new加上一個r許可權,再次進入haha,ls一下發現出現了test。

ls所需許可權

3:mv:

當目錄只有可讀可執行許可權時,修改檔名失敗;當刪除可讀只有可寫可執行許可權時,檔名修改成功test->test2。

mv所需許可權

4:rm

當目錄只有可讀可執行許可權時,刪除檔案test2失敗;當刪除可讀只有可寫可執行許可權時,成功刪除檔案test2。

rm所需許可權

總結: cd(進入目錄)–所需許可權x touch(建立檔案)–所需許可權wx ls (顯示當前目錄下的所有檔案)–所需許可權rx mv(把檔名1修改為檔名2)–所需許可權wx rm(刪除檔案)–所需許可權wx

五:Linux下的重要目錄/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp (1)/proc:特殊檔案目錄。這個目錄採用一種特殊的檔案格式(proc格式,核心支援這種格式。其中包括了全部虛擬檔案。它們並不是儲存在磁碟中,也不佔用磁碟空間,當檢視它們時,實際上看到的是記憶體裡的資訊,這些檔案有助於我們瞭解系統內部資訊)。 (2)/sys: 檔案系統訪問 Linux核心 (3)/bin:普通使用者可以使用的命令存放目錄。 /usr/lib:系統使用的函式庫的目錄,程式在執行過程中,需要呼叫一些額外的引數時需要函式庫的協助 (4)/usr/local:存放軟體升級包 (5) /var:內容經常變化的目錄。此目錄下檔案的大小可能改變,如緩衝檔案、日誌檔案、快取檔案等一般會放在這裡。 (6)/tmp:一般使用者或正在執行的程式臨時存放檔案的目錄即臨時檔案,任何人都可以訪問,重要資料不可放置在此目錄下 (7) /SElinux:SELinux是一種基於域-型別模型(domain-type)的強制訪問控制(MAC)安全系統,它由NSA編寫並設計成核心模組包含到核心中,相應的某些安全相關的應用也被打了SELinux的補丁,最後還有一個相應的安全策略。 (8)/etc/:全域性配置檔案存放目錄。系統和程式一般都可以通過修改相應的配置檔案來進行配置。 (9)/root:系統管理員root的家目錄,不放在home目錄下 以下重要命令表示什麼 du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser,du 作用是磁碟空間使用情況,功能是逐級進入指定目錄的每一個子目錄並顯示該目錄佔用檔案系統資料塊的情況,如果沒有指定目錄,則對當前的目錄進行統計。 主要引數: a:顯示全部目錄和其次目錄下的每個檔案所佔的磁碟空間 s:只顯示各檔案大小的總合 b:大小用bytes來表示 x:跳過在不同檔案系統上的目錄不予統計 a:遞迴地顯示指定目錄中各檔案及子孫目錄中各檔案佔用的資料塊數top 基本格式df [options] 作用:命令用來顯示執行中的程式程序,使用許可權是所有使用者 主要引數: d:指定更新的間隔,以秒計算。 q:沒有任何延遲的更新。如果使用者有超級使用者,則top命令將會以最高的優先序執行。 c:顯示程序完整的路徑與名稱。 S:累積模式,會將己完成或消失的子行程的CPU時間累積起來。 s:安全模式。 i:不顯示任何閒置(Idle)或無用(Zombie)的行程。 n:顯示更新的次數,完成後將會退出top。df 命令用來檢查檔案系統的磁碟空間佔用情況,使用許可權是所有使用者。 主要引數: -s:對每個Names引數只給出佔用的資料塊總數。 -a:遞迴地顯示指定目錄中各檔案及子目錄中各檔案佔用的資料塊數。若既不指定-s,也不指定-a,則只顯示Names中的每一個目錄及其中的各子目錄所佔的磁碟塊數。 -k:以1024位元組為單位列出磁碟空間使用情況。 -x:跳過在不同檔案系統上的目錄不予統計。 -l:計算所有的檔案大小,對硬連結檔案則計算多次。 -i:顯示inode資訊而非塊使用量。 -h:以容易理解的格式印出檔案系統大小,例如136KB、254MB、21GB。 -P:使用POSIX輸出格式。 -T:顯示檔案系統型別。free 格式free [-b|-k|-m] [-o] [-s delay] [-t] [-V] 作用:free命令用來顯示記憶體的使用情況,使用許可權是所有使用者。 主要引數: -b -k -m:分別以位元組(KB、MB)為單位顯示記憶體使用情況。 -s delay:顯示每隔多少秒數來顯示一次記憶體使用情況。 -t:顯示記憶體總和列。 -o:不顯示緩衝區調節列。su 格式 su [選項]… [-] [USER [ARG]…] 作用是變更為其它使用者的身份,超級使用者除外,需要鍵入該使用者的密碼。 主要引數 -f , –fast:不必讀啟動檔案(如 csh.cshrc 等),僅用於csh或tcsh兩種Shell。 -l , –login:加了這個引數之後,就好像是重新登陸為該使用者一樣,大部分環境變數(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,並且工作目錄也會改變。如果沒有指定USER,預設情況是root。 -m, -p ,–preserve-environment:執行su時不改變環境變數。 -c command:變更賬號為USER的使用者,並執行指令(command)後再變回原來使用者。 USER:欲變更的使用者賬號,ARG傳入新的Shell引數。sudo(sudo -, sudo -s) 命令的配置在/etc/sudoers檔案中。當用戶使用sudo時,需要輸入口令以驗證使用者身份。隨後的一段時間內可以使用定義好的命令,當使用配置檔案中沒有的命令時,將會有報警的記錄。sudo是系統管理員用來允許某些使用者以root身份執行部分/全部系統命令的程式。一個明顯的用途是增強了站點的安全性,如果需要每天以超級使用者的身份做一些日常工作,經常執行一些固定的幾個只有超級使用者身份才能執行的命令,那麼用sudo是非常適合的。* pstack* 命令可顯示每個程序的棧跟蹤。pstack 命令必須由相應程序的屬主或 root 執行。可以使用 pstack 來確定程序掛起的位置。此命令允許使用的唯一選項是要檢查的程序的 PID。(man,可以爺們一下)adduser (1)建立使用者命令兩條: adduser useradd (2)使用者刪除命令: userdel 兩個使用者建立命令之間的區別 adduser: 會自動為建立的使用者指定主目錄、系統shell版本,會在建立時輸入使用者密碼。 useradd:需要使用引數選項指定上述基本設定,如果不使用任何引數,則建立的使用者無密碼、無主目錄、沒有指定shell版本。 --------------------- 本文來自 呆萌大黃蜂愛擎天柱 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/liyueshang/article/details/78513507?utm_source=copy