十一、linux文件系统权限详解
? 對于文件系統權限,我們前面已經講解了一部分,這里就不在重復了。
? 1.修改文件權限有兩種,一種是數字、一種是字母 (chmod 的修改只能是屬主或者root)
?? 數字:
?修改目錄權限和目錄內所有文件的權限
字母:
2.修改文件屬性的關系(其中修改組chgrp=chown? .組)
?
這里有兩點要注意:
? 1)如果一個文件是可執行文件,并且屬主或者root對于這個文件只有可執行權限,那么可以通過sh命令進行執行
? 2)? 對于往文件里面寫內容,root和屬主都可以在沒有可寫權限的情況下寫入的,只要強制保存就可以了。
?
3.對于刪除一個文件,是要看它的上一級目錄的權限的,刪除的是文件名,而文件名是在上一級目錄中,這和找一個文件是一個道理,都是從/開始的,而文件名在上一級目錄中,所以刪除一個文件本身和文件的權限沒有關系和上一級目錄的權限有關系,且必須是寫的權限。(w寫的權限,可以刪除文件,可以創造文件)
?
?4、創建文件和文件夾的權限,默認是644和755,是通過umask控制的,在生產中這種權限是相對安全的,所以盡量不要修改。所以這里知道下就可以了。
? ? ? 如圖:創建newdir和newfile,則為644和755
? ?
? ? ?
? ?? 在/etc/profile中,定義了
? ??
? ?? 如果修改了,記得要更新/etc/profile。可以在此文件夾中修改,也可以通過umask修改。那么有什么規律呢?
? ?? 針對目錄:我們認為最大權限是777,根據umask值相減,就是默認創建目錄的權限,如圖:777-022=755 權限
? ?? 針對文件:我們認為最大權限是666,根據umask值相減,就是牧人創建文件的權限,如圖:666-022=644權限,但是,如果umask有一個為奇數的話,那么計算后的值應該在該奇數位上+1.
? ? 另外/etc/login.defs文件管理者家目錄的文件權限,保持每個用戶的家目錄獨立性,不讓相互串門
??
? 5.linux的特殊權限:
? ? ? ? 除過9位基礎權限外,還有3個特殊的權限。 ? ? ? ? ? ??
? ? ? ? setuid:
? ? ? 1)在屬主對應的權限位上的x位有s就表示setuid權限,即suid。如果在這個x位置上沒有s的就是S
? ? ? 2)setuid位是讓普通用戶可以以root(或者其他)用戶的角色運行只有root(或其他)賬號才能運行程序或命令。
? ?? 所以以上都是對命令添加的,都是在二進制文件上添加的,且二級制文件具有x權限,并且此命令在執行過程中生效。
?? 如下,刪除一個文件:
? ? ? 文件的上級目錄權限:
? ? ?
? ? ? 文件的權限:
? ? ?
? ? ? ? 修改命令:
? ? ??
所以如果用另外一個用戶刪除的話,有3個解決方法:
? 比如test用戶刪除djw.sh文件:
? ? 1)sudo,授權用戶test具有刪除命令的權限
? ? 2)修改文件上級目錄的權限,這樣其他人就可以刪除文件了
? ? 3)修改命令的權限,如上/bin/rm權限就是S了,這樣當test執行命令的時候,不論是哪個文件,其刪除的話,都具有該命令屬主的權限,如上就是具有root的權限,才能刪除的。
??
? 6.如何查看linux的suid的命令:
?? 這是一個雙刃劍的命令,比較危險的命令(對于linux的優化,可以優化這個命令)
? 、 sgid:與suid不同的是,sgid既可以針對文件也可以針對目錄設置。(了解中的了解)
? ? ? ? ? 1)文件:?sgid僅對二進制命令程序有效,且要有x權限,執行的用戶可以獲得該命令執行期間所屬組的權限
? ? ? ? ? ?? 這里要注意的是修改的話是2開頭,如2755權限
? ? ? ? ?? 2)目錄:可以創建一個目錄,設置sgid,那么用戶再此目錄下創建的文件和目錄具有和此目錄相同的用戶組設置(目錄所屬組是什么,里面創建的文件就是什么)
? ? ? 粘貼位:如果一個目錄設置成粘貼位,這個目錄本身和目錄內容都只有這個目錄的屬主或者root才能刪除。/tmp 目錄是經典的粘貼位目錄
? ? ? 用途:比如/tmp都往里面寫東西,但是各自管理各自,不能刪除別人的
?? 特殊權限對應的數字:
? ? ? ? ? ? ? ?? suid? 4000s? S
? ? ? ? ? ? ? ?? sgid? 2000s? S
? ??粘貼位:sbit ? 1000t? T
?? 7.現在講的chattr? lsattr? block ? inode都是基于ext3,ext4的,對于reiserfs文件系統時沒有任何效果的。
? ? 這里在說一個chattr +a 表示可以往文件中添加內容,但是不能刪除或者修改文件。
? 8.知道有一個命令就行了? setfacl和getfacl 設置某一個用戶對文件/目錄的操作權限
轉載于:https://www.cnblogs.com/dangjingwei/p/10742579.html
總結
以上是生活随笔為你收集整理的十一、linux文件系统权限详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu出现卡logo、卡住、黑屏无
- 下一篇: 网络编程-计算机网络