一、文件的基本權限
權限:
r, w, x
對于文件來講,
r::可讀,可以使用類似cat等命令查看文件內容;
w:可寫,可以編輯或刪除此文件;
x:可執行,exacutable,可以命令提示符下當作命令提交給內核運行;
對于目錄來講,
r: 可以對此目錄執行ls以列出內部的所有文件;
w: 可以在此目錄創建文件;
x: 可以使用cd切換進此目錄,也可以使用ls -l查看內部文件的詳細信息;
與用戶權限相關的命令有
chown chgrp? chmod? umask
二、文件的特殊權限
特殊權限
passwd:s
SUID: 運行某程序時,相應進程的屬主是程序文件自身的屬主,而不是啟動者;
chmod u+s FILE
chmod u-s FILE
如果FILE本身原來就有執行權限,則SUID顯示為s;否則顯示S;
SGID: 運行某程序時,相應進程的屬組是程序文件自身的屬組,而不是啟動者所屬的基本組;
chmod g+s FILE
chmod g-s FILE
develop team, hadoop, hbase, hive
/tmp/project/
develop
Sticky: 在一個公共目錄,每個都可以創建文件,刪除自己的文件,但不能刪除別人的文件;
chmod o+t DIR
chmod o-t DIR
解釋下:
1.當一個用戶執行某一個命令時,就是相當于開啟一個進程,指定該命令的文件。
2.如果執行的該命令的文件沒有s特殊權限時,就是以當前進程的用戶的權限來進行執行操作。
結果:對于執行的目標文件來講,根據當前用戶的所屬范圍返回結果。
3.如果執行的該命令的文件包含有s特殊權限時,就是以當前進程中執行的命令文件本身來執行操作。
結果:如果執行的命令文件包含有root權限,則就可以操作目標文件。
比如:普通用戶liukai,開啟一個進程,需要執行 cat /etc/shadow
執行過程:查看cat命令,是否包含s特殊權限,
liukai@ubuntu:~$ ls -alh /bin/cat
-rwxr-xr-x 1 root root 46K Nov 19? 2012 /bin/cat
因為沒有s特殊權限位,所以只能以當前進程的用戶權限執行
liukai@ubuntu:~$ cat /etc/shadow
cat: /etc/shadow: Permission denied
liukai@ubuntu:~$ ls -alh /etc/shadow
-rw-r----- 1 root shadow 1.4K Aug 18 06:22 /etc/shadow
因此無權限查看。
?
同理當我執行/usr/bin/passwd命令時,
liukai@ubuntu:~$ ls -alh /usr/bin/passwd
-
rwsr-xr-x 1 root root 41K Sep 12? 2012 /usr/bin/passwd
該文件中包括s特殊權限,當開啟進程時,它會以passwd文件本身的權限去執行命令。由于其文件本身的權限位
root,所以可以執行。
附錄鳥哥關于SUID和SGID、SBIT的討論
SUID:
1.SUID僅對二進制程序有效。
2.執行者對于該程序需要具有x的可執行權限。
3.本權限僅在執行該程序的過程中有效。
4.執行者將具有改程序所有者的權限。
SUID不能用于shell script上面,對目錄也無效。
SGID:
對文件:
SGID對二進制有效。
程序執行者對于程序來講,需要具有x的權限。
執行者在執行的過程中將會獲得該程序用戶組的支持。
對目錄:
用戶若對于此目錄有r與x的權限時,該用戶能夠進入此目錄。
用戶在此目錄下的有效用戶組將會變成該目錄的用戶組。
若用戶在此目錄下具有w的權限,則用戶所創建的新文件的用戶組與此目錄的用戶組相同。
Sticky Bit
1.當用戶對于此目錄具有w、x權限時,既具有寫入的權限。
2.當用戶在該目錄下創建文件或目錄時,僅有自己與root才有權刪除該文件。