Linux的文件權限和特殊權限
阿新 • • 發佈:2017-11-18
linux文件權限、linux特殊權限、acl
一、Linux的基本文件權限
1、文件的權限
當用戶不擁有某位權限,則使用-占位 r-x:讀和執行的權限 r--:只讀權限 rw-:讀寫權限 使用數字來表示權限: r:4 w:2 x:1 #=================================================================
2、權限對於文件和目錄的區別
對於文件的權限: r : 查看 w : 修改 x : 運行 對於目錄的權限: r : 查看目錄內文件列表 w : 創建和刪除文件(需要x權限) x : cd進目錄 #=================================================================
3.權限管理的基本命令
chmod : 修改文件權限 chmod [options]... mode... file 例:chmod 777 file chmod +x file chmod -x file 選項: -R :遞歸修改權限 chown : 修改屬主屬組 chown [options]... user:group file 例:chowm root:root file1 選項: -R:遞歸 chgrp:修改組權限 chgrp [options]... GROUP FILE... 例:chgrp group1 file1 選項: -R:遞歸 #=================================================================
4.umask:新建文件和目錄的默認權限
umask值可以用來保留在創建文件權限 新建FILE權限: 666-umask 如果所得結果某位存在執行(奇數)權限,則將其權限+1 新建DIR權限: 777-umask 非特權用戶umask是002 root的umask 是022 用法: umask: 查看 umask #: 設定 umask 002 umask –S 模式方式顯示 umask –p 輸出可被調用 umask全局設置:/etc/bashrc ;用戶設置:~/.bashrc #=================================================================
二、Linux系統上的特殊權限
特殊權限:SUID,SGID,STICKY
安全上下文:
前提:進程有屬主和屬組;文件有屬主和屬主
(1) 任何一個可執行程序文件能不能啟動為進程,取決發起者對程序文件是否擁有執行權限
(2) 啟動為進程之後,其進程的屬主為發起者,進程的屬組為發起者所屬的組
(3) 進程訪問文件時的權限,取決於進程的發起者
權限匹配模型:
(a) 進程的發起者,同文件的屬主:則應用文件屬主權限
(b) 進程的發起者,屬於文件屬組;則應用文件屬組權限
(c) 應用文件“其它”權限
SUID : 示例文件:/bin/passwd 1.只能作用在二進制程序上。 2.執行該程序的用戶將會繼承程序所有者的權限。 3.啟動成為進程後,其進程屬主為原程序文件的屬主。 權限設定: 賦權: chmod u+s file... chmod 4755 file... 取消賦權: chmod u-s file... chmod 0755 file... SGID: 示例目錄:/tmp 1.作用在二進制程序上時: (1)執行該程序的用戶將會繼承程序所屬組的權限。 (2)啟動為進程之後,其進程的屬組為原程序文件的屬組 2.作用在目錄上時: (1)普通用戶在此目錄下新建的文件,都將會繼承目錄的屬組。 權限設定: 賦權: chmod g+s file... chmod 2755 file... 取消賦權: chmod 0755 file... chmod g-s file... sticky: 1.只能作用在目錄上(作用在文件上無意義) 2.具有sticky權限的目錄,普通用戶不能刪除文件,僅文件所有者可以刪除。 權限設定: 賦權: chmod o+t dir... chmod 1755 dir.. 取消賦權: chmod 0755 dir... chmod o-t dir... chattr : 鎖定指定的文件 + : 在原有基礎上追加參數 - : 在原有基礎上移除參數 = : 設定為指定參數 i : 鎖定文件,不能修改或者刪除。 a : 只能向文件中添加數據 A : 禁止修改atime #=================================================================
三、ACL:訪問控制表
ALC:Access Control List,訪問控制表
除文件的所有者,所屬組和其他人,可以對更多的用戶設定權限
ACL權限生效順序:
所有者 >(自定義用戶> 所屬組,自定義組) > 其他人
括號外的用戶不收mask影響
getfacl : 查看ACL信息 setfacl : 設置ACL getfacl: getfacl FILE... user:USERNAME:MODE group:GROUPNAME:MODE setfacl: -m : 設置acl參數 -m u:user_name:mode file|dir -m g:group_name:mode dir -x : 取消acl參數 -x u:user_name file|dir -x g:group_name file|dir -b : 取消全部的ACL權限 -R :遞歸 #=================================================================
本文出自 “BigBoss” 博客,請務必保留此出處http://bigboss.blog.51cto.com/12113895/1982960
Linux的文件權限和特殊權限