Linux權限
Linux系統上對檔案的權限有著嚴格的控制,如果想對某個檔案執行某種操作,必須具有對應的權限才可執行成功,
Linux下檔案的權限型別一般包括讀,寫,執行,對應字母為 r、w、x,Linux下權限的粒度有 擁有者 、所屬組 、其它人 三種,每個檔案都可以針對三個粒度,設定不同的rwx(讀寫執行)權限,通常情況下,一個檔案只能歸屬于一個用戶和組, 如果其它的用戶想有這個檔案的權限,則可以將該用戶加入具備權限的群組,一個用戶可以同時歸屬于多個組,
我們先來了解檔案的型別

在Linux下輸入ll 即可查看檔案型別
Linux系統下,不是以檔案后綴區分檔案型別的,而是以ll顯示的第一個字符區分檔案型別,
Linux系統下,檔案型別有:
- .- 普通檔案、文本、源代碼、可執行程式、第三方動靜庫
- .d 目錄檔案
- .c 字符設備檔案
- l 鏈接檔案
- p 管道檔案
- .b 塊設備檔案,磁盤

權限=人+事物
Linux系統中,人分三類
- 檔案的擁有者 owner
- 檔案的所屬組 grouper
- 檔案的其他用戶 other
個人覺得者三者可以換種說法更好理解
擁有者:我 所屬組:我的團隊 其他用戶:其他人
Linux系統中,檔案的權限屬性
- r(讀)
- w(寫)
- x(可執行)
這里需要注意 人與root和普通用戶是不沖突的,并且是相互補充的,
root可是擁有者、所屬組、其他用戶
普通用戶也可以是擁有者、所屬組、其他用戶
檔案權限的修改
一:更改檔案屬性權限
chmod 修改檔案屬性權限 (兩種方法)
chmod u+rwx,g+rwx,o+rwx Linux.text
(u代表擁有者的權限,g代表所屬的權限,o代表其他人的權限)
這段代碼代表 講擁有者,所屬組,其他人的權限全改為可讀,可寫,可執行

原來的權限

修改

修改后(這里之所以變顏色,是因為權限改為了可執行,所以會變綠色)
當然 也有更方便的方法
這里我們先講此檔案所有的權限,全部去掉


這里我再將它的所有權限啟用


第二種修改檔案權限方法
用八進制(理解上可以當作二進制)
chmod 777 Linux.txt 一個7代表擁有者,以此類推
7為 3種權限均開 0為三種權限均關 3為開啟w,x(寫,執行) 4代表開始r(讀) 5代表r,x(讀,執行)
以這些陣列組合 我這里舉個栗子 : 745 代表:擁有者:三種權限均開 rwx 所屬組代表開啟 r 其他人代表開啟r,x 合起來就為 -rwxr----x
附加:如果我想進入一個目錄,需要什么權限?
答:x(可執行權限) (易錯,常考)
總結:兩種方法 第一種較麻煩,但更直觀,第二種方法較方便,但不易于觀察 (兩種方法各有優缺點,適合自己的才最重要)root可以直接無視所有權限!!!
修改檔案擁有者/所屬組
因為修改這種權限是需要提高權限的,要用到sudo 但使用這個代碼是需要組態檔,添加親近用戶的,較麻煩
當然,那可以直接進入root,修改這些
在root用戶下
修改擁有者 chown(注意不是chmod)

將此檔案的擁有者修改為 xxx (其他的普通用戶)
修改所屬組

將此檔案的所屬組修改為 xxx
兩個也可以連起來

將擁有者修改給xxx1,所屬組修改給xxx2
附加:檔案的床架你這和擁有者一定是同一個人嗎?
答:不一定,可以創建后給其他人(常考!)
附加:一個檔案的擁有者,不一定能用上這個檔案對嗎?
答:對,我在一個目錄下的一個檔案的擁有者給你,但目錄的訪問權限(x)不給你 ,你照樣訪問不了這個檔案
比方說:有一個房間內的電腦是你的,但房間的鎖住的,鑰匙不給你, 你進不去這個房間,照樣用不上這臺電腦
如果目錄沒有r權限,允許進入,允許在該目錄下創建(寫入)一個檔案,不允許查看,
如果目錄沒有w權限,允許進入,允許在該目錄下查看檔案串列,但是不允許創建檔案,
如果同時沒有rw權限,允許進入,但不允許創建和查看目錄下的檔案的串列(不是檔案內容!檔案內容是否可以查看,檔案自己的權限決定)
權限掩碼的認識
權限掩碼的作用是根據用戶的需求屏蔽掉不希望給別人的權限,比如普通檔案的權限是“-rw-rw-rw-”,所有用戶對檔案都享有讀寫權限,而這帶來的問題就是檔案可以被任何人修改從而導致檔案資料被篡改導致資料丟失, 這個時候用戶可以通過設定檔案掩碼來屏蔽到本需要賦予其他用戶的特定權限, 權限掩碼在每個Linux系統里都有默認值,多數為0022或0002,當然用戶也可以自己修改權限掩碼的值,
比方說,我們先隨便創建一個檔案,查看它初始的權限是什么

這個可以叫做初始權限或者最終權限
一般普通檔案默認權限為666 (rw-rw-rw-)目錄檔案默認權限為 777 (rwxrwxrwx)
那為什么不同呢?因為 最終權限=默認權限 & (~umask) 公式
比如權限掩碼為0002 普通權限為 666
先按位取反權限掩碼 000 000 010 取反 111 111 101 再與默認權限按位與 (&)(兩個二進位都為1時,結果位才為1)
110 110 110 默認權限
111 111 101 權限掩碼
------------------ 按位與 & (兩個二進位都為1時,結果位才為1)
110 110 100 即 664 即 rw-rw-r--
粘滯位
粘滯位(Stickybit),又稱粘著位,是Unix檔案系統權限的一個旗標,最常見的用法在目錄上設定粘滯位,
也只能針對?錄設定,對于?件?效,則設定了粘滯位后,只有目錄內檔案的所有者或者root才可以洗掉或移動
該檔案,如果不為目錄設定粘滯位,任何具有該目錄寫和執行權限的用戶都可以洗掉和移動其中的檔案,實際應
用中,粘滯位一般用于/tmp目錄,以防止普通用戶洗掉或移動其他用戶的檔案,
在Linux系統中?較典型的例?就是“/tmp”、 “/var/tmp”?錄,這兩個?錄作為Linux系統的臨時?件
夾,權限為“rwxrwxrwx”,即允許任意?戶、任意程式在該?錄中進?創建、洗掉、移動?件或??錄等操作
簡單來說 給一個目錄附上粘滯位 可以防止普通用戶洗掉檔案
這個目錄的檔案只能由:超級管理員洗掉,該魯莽的所有這,該檔案的所有者
那怎么給目錄附上粘滯位呢?

只需要在其他人加上t即可

可以看出,權限就多了一個t
file指令
功能:查看更詳細的檔案型別
- -b 列出辨識結果時,不顯示檔案名稱,
- -c 詳細顯示指令執行程序,便于排錯或分析程式執行的情形,
- -f<名稱檔案> 指定名稱檔案,其內容有一個或多個檔案名稱時,讓file依序辨識這些檔案,格式為每列一個檔案名稱,
- -L 直接顯示符號連接所指向的檔案的類別,
- -m<魔法數字檔案> 指定魔法數字檔案,
- -v 顯示版本資訊,
- -z 嘗試去解讀壓縮檔案的內容,
- [檔案或目錄...] 要確定型別的檔案串列,多個檔案之間使用空格分開,可以使用shell通配符匹配多個檔案,
這就本篇的全部內容,如果對您有所幫助,希望能獲得您的點贊,您的點贊就是對我的最大支持!
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/498552.html
標籤:其他
上一篇:常用Linux命令整理
