Linux特殊許可權,這一篇就夠了
特殊許可權suid、sgid、sbit、chattr、umask
簡單瞭解下什麼是特殊許可權
特殊許可權為基本說明: Linux系統基本許可權位有9位,但還有額外3位許可權位,共12位許可權位:
suid s(有x) S 4 使用者對應的許可權位(使用者對應的3位上)
sgid s(有x) S 2 使用者組對應的許可權位(使用者組對應的3位上)
sticky t(有x) T 1 其他使用者對應的許可權位
SUID(set UID)
針對命令和二進位制程式的,當普通使用者執行某個(passwd)命令的時候,可以擁有這個命令對應使用者的許可權,即讓普通使用者可以以root使用者的角色執行程式或命令。
例如:如果給vim或者rm命令設定了setUID,那麼任何檔案都能編輯或者刪除了,相當於有root許可權了
此許可權只針對二進位制可執行程式有效
chmod u+s filename # 如果沒有執行權,大寫S
或者
chmod 4700 1.txt # 4為特殊許可權
SGID(set GID)
希望一個目錄被多個使用者(同屬於一個組)共享,同一個組的使用者可以處理
1.針對使用者組許可權位修改,使用者建立的目錄或檔案所屬組和該目錄的所屬組一致。(比如給一個檔案路徑設定了特殊許可權為 ,假設這個路徑陣列為hr,那麼user1在此目錄下建立的檔案陣列將不是user1組,而是hr組)
2.所有使用者都可以讀寫這個路徑,相當於共享路徑
chmod g+s /tmp/file # 屬組有執行權小寫s,沒有執行權為大寫S
或者
chmod 2755 /tmp/file # 2代表特殊許可權位
Sbit(set GID)
粘滯位,在目錄建立了此許可權,除了root使用者,其他使用者只能對自己的檔案進行刪除、移動操作。僅有自己和 root 才有權力刪除。
chmod o+t /opt #其他使用者有執行權小寫t,沒有執行權,大寫T
或者
chmod 1755 /tmp # 數字1 表示特殊許可權位
chattr (檔案屬性)
凌駕於r、w、x、suid、sgid之上的許可權
1.檢視是否有特殊許可權屬性
lsattr /etc/passwd
---------------- /etc/passwd
2 . 設定特殊許可權屬性
chattr +i /opt/file #鎖定檔案,不能編輯,不能修改,不能刪除,不能移動,可以執行
chattr +a /opt/file #鎖定檔案,不能編輯,可以追加,不能刪除,不能移動,可以執行
還有其他的
+A
不允許更新時間、
+d
不能使用dump備份、
+j
檔案首先儲存到日誌中,然後在寫入檔案、
等等,這裡就不在羅列
chattr屬性中可以使用的不同選項:
-R 遞迴修改資料夾和子資料夾屬性
-V chattr命令會輸出帶有版本資訊的冗餘資訊
-f 忽略大部分錯誤資訊
-a #僅可以追加檔案,不能編輯,不能刪除,不能移動,可以執行
umask (程式掩碼)
當我們登入系統之後,建立一個檔案總是有一個預設許可權
比如: 目錄預設許可權:755 檔案預設許可權:644 那麼這個
統預設umask為022,那麼當我們建立一個目錄時,正常情況下目錄的許可權應該是777,但是umask表示要減去的值,所以新目錄檔案的許可權應該是777-022=755。至於檔案的許可權也依次類推:666-022=644
umask 000 # 設定初始為0000
以上設定表示
777-000=755 那麼所有建立的檔案預設為 777許可權 ,就是讀寫執行都可以
666-000=666 那麼所有建立的目錄預設為666許可權,就是可讀,可寫。
相關文章
- 安卓動態獲取許可權看這一篇就夠了安卓
- 『學了就忘』Linux許可權管理 — 55、檔案特殊許可權Linux
- Linux 特殊許可權Linux
- 前端linux基礎,這一篇就夠了前端Linux
- APP瘦身這一篇就夠了APP
- 深入Babel,這一篇就夠了Babel
- 學Nginx,這一篇就夠了Nginx
- Git 看這一篇就夠了Git
- Linux提取命令grep 有這一篇就夠了Linux
- Linux特殊許可權之suid、sgid、sbit許可權LinuxUI
- linux許可權補充:rwt rwT rws rwS 特殊許可權Linux
- Ubuntu搭建Pytorch,就這一篇就夠了UbuntuPyTorch
- 『學了就忘』Linux許可權管理 — 56、不可改變位許可權(chattr)Linux
- Flutter DataTable 看這一篇就夠了Flutter
- Git【入門】這一篇就夠了Git
- 學習JDBC這一篇就夠了JDBC
- 代理模式看這一篇就夠了模式
- MySQL查詢這一篇就夠了MySql
- 學習MySQL這一篇就夠了MySql
- Java 集合看這一篇就夠了Java
- 學習Jmeter,這一篇就夠了JMeter
- 學習git這一篇就夠了!!!Git
- [譯] 理解CORS這一篇就夠了CORS
- AJAX入門這一篇就夠了
- html css js(這一篇就夠了)HTMLCSSJS
- 『學了就忘』Linux許可權管理 — 54、sudo授權Linux
- linux特殊許可權s和tLinux
- OAuth授權|看這篇就夠了OAuth
- 瞭解 MongoDB 看這一篇就夠了MongoDB
- 關於SwiftUI,看這一篇就夠了SwiftUI
- 瞭解HandlerThread這一篇就夠了thread
- 這一篇就夠了——APP瘦身總結APP
- Spring入門這一篇就夠了Spring
- 入門Hbase,看這一篇就夠了
- jQuery入門看這一篇就夠了jQuery
- Elasticsearch入門,看這一篇就夠了Elasticsearch
- 關於MyBatis框架這一篇就夠了MyBatis框架
- ActiveMq 之JMS 看這一篇就夠了MQ