- 相關推薦
Linux權限管理基本知識大全
Linux系統有什么基本權限,權限管理命令是什么?下面跟yjbys小編一起來看看吧!
一、基本權限
linux權限機制采用UGO模式。其中 u(user)表示所屬用戶、g(group)表示所屬組、o(other)表示除了所屬用戶、所屬組之外的情況。
u、g、o 都有讀(read)、寫(write)、執行(excute) 三個權限,所以UGO模式是三類九種基本權限。
用命令 ls -l 可列出文件的權限,第一列輸出明確了后面的輸出(后面一列代表 ugo權限)。第一個字母對應的關系:
“-” 普通文件
“d” 目錄
”l“ 符號鏈接
”c“ 字符設備
"b" 塊設備
"s" 套接字
"p" 管道
修改文件或目錄的所屬用戶: chown 文件名 | 目錄名 用戶
-R 該參數以遞歸的方式修改目錄下所有文件的所屬用戶,參數可以敲 chown --help 查看。
修改文件或目錄的所屬組: chgrp 文件名 | 目錄名 組名
-R 該參數以遞歸的方式修改目錄下的所有文件的所屬組。
命令chmod 用來修改文件或目錄的權限: chmod -參數 模式 文件 | 目錄
例子: 修改目錄 log下所有文件的權限為700
chmod -R 700 log
注:700的來歷是 u g o
rwx rwx rwx
111 000 000
關于 chmod 命令的權限模式除了數字表示,還可以是 u、g、o 、a 加 +、- 來表示。格式如下:u、g、o分別代表用戶、屬組和其他,a 就是
all ,可以代替ugo。 +、- 代表增加或刪除對應的權限,r、w、x 代表三種權限,分別是讀、寫、執行。
例子:對于目錄 log下的所有文件(已有權限是700)增加所屬組(g)的讀(r)、執行(x)權限。
chmod -R g+rx log
類似的命令可能還有很多,這里只是舉幾個最基本且常用的例子。很多命令用到時,再去查也可以。還可參考《鳥哥的Linux私房菜》。
二、特殊權限
Linux的3個特殊的權限,分別是setuid、setgid和stick bit。
setuid權限(S):只有用戶可擁有,出現在執行權限(x)的位置。
setuid權限允許用戶以其擁有者的權限來執行可執行文件,即使這個可執行文件是由其他用戶運行的。
setgid權限(S):對應于用戶組,出現在執行權限(x)的位置。
setgid權限允許以同該目錄擁有者所在組相同的有效組權限來允許可執行文件。但是這個組和實際發起命令的用戶組不一定相同。
stick bit (t /T):又名粘滯位,只有目錄才有的權限,出現在其他用戶權限(o)中的執行位置(x)。當一個目錄設置了粘滯位,只有創建了該目錄的用戶才能刪除目錄中的文件,但是其他用戶組和其他用戶也有寫權限。使用 t 或 T來表示。若沒有設置執行權限,但是設置了粘滯位,使用 t;若同時設置了執行權限和粘滯位使用 T。典型的粘滯位使用是 /tmp 目錄,粘滯位屬于一種寫保護。
設置特殊權限:
setuid: chmod u+s filename
setgid: chmod g+s directoryname
stick bit: chmod o+t directoryname
用數字表示特殊權限,是在基本權限之上的。濁嘴笨腮說不清楚,看例子:
例子:將上面例子中的log日志目錄(已有權限 700)權限設置為755。特殊權限是類似 /tmp目錄的 stick bit有效。
特殊權限 基本權限
setuid setgid stick bit user group other
0 0 1 rwx rwx rwx
111 000 000
所以,設置特殊權限(stick bit)的命令應該是:chmod 1755 log
設置特殊權限后,ls -dl 查看該目錄:drwxr-xr-t 2 gg gg 4096 5月 11 19:05 log ( 注意 other 的 x 位是代表特殊權限的字母 t )
取消該特殊權限的命令:chmod 755 log 。如此 stick bit的權限就沒有了。
再次 ls -dl 查看該目錄: drwxr-xr-x 2 gg gg 4096 5月 11 19:15 log ( 注意最后一位已經變為代表普通權限的字母x )
需要注意的是,最前面一位 ”1“ 就是特殊權限位。其他兩個特殊權限的設置也類似。setuid使用不是無限制的。出于安全目的,只能應用在Linux ELF格式二進制文件上,而不能用于腳本文件。
三、高級權限
ACL(Access Control List),訪問控制列表是Linux下的的高級權限機制,可實現對文件、目錄的靈活權限控制。ACL 允許針對不同用戶、
不同組對同一個目標文件、目錄進行權限設置,而不受UGO限制。
在一個文件系統上使用ACL需要在掛載文件系統的時候打開ACL功能。而根分區(ROOT)默認掛載的時候支持ACL。
命令:mount -o acl /掛載路徑
例子:mount -o acl /dev/sdb1 /mnt
查看一個文件的ACL設置的命令: getfacl file
(針對一個用戶)為一個文件設置指定用戶的權限的命令: setfacl -m u:username:rwx filename
(針對一個組)為一個文件設置指定組的權限的命令: setfacl -m g:groupname:r-x filename
刪除一個ACL設置的命令: setfacl -x u:username filename
【Linux權限管理基本知識】相關文章:
Linux權限管理基本方法03-04
Linux系統下ftp的管理03-05
企業與管理基本知識01-22
Linux btrfs文件系統及管理02-26
生產管理的基本知識05-13
酒店管理基本知識培訓02-28
企業管理基本知識04-04
企業與管理易懂的基本知識03-10