set uid 權限
- 該文件限針對二進制可執行文件,使文件在執行階段擁有文件全部者的權限
- 如:passwd命令就有該權限。當普通用戶執行passwd 命令時,能夠臨時得到root權限,從而能夠更改密碼
- 例:給一個命令增長去除set uid權限
[root@centos001 ~]# ls -l /usr/bin/ls //首先找到一個沒有set uid權限的文件
-rwxr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls
[root@centos001 ~]# su awei //切換到普通用戶awei 用命令su 切換
[awei@centos001 root]$ ls -l /root //使用ls -l 命令時 發現權限不夠
ls: 沒法打開目錄/root: 權限不夠
[awei@centos001 root]$ su root //再切換到root
密碼:
[root@centos001 ~]# chmod u+s /usr/bin/ls //用chmod 命令給用戶全部者增長s權限
[root@centos001 ~]# ls -l /usr/bin/ls //在用ls命令查看
-rwsr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls //已經加上set uid 權限了
[root@centos001 ~]# su awei //再次切換到普通用戶
[awei@centos001 root]$ ls -l /root //發現已經可使用 ls命令
總用量 4
drwxrwx---. 2 root root 6 9月 26 09:55 123
-rwxrwx---. 1 root root 0 9月 26 09:55 22.txt
[awei@centos001 root]$ su root
密碼:
##去除set uid 權限
[root@centos001 ~]# chmod u-s /usr/bin/ls //去除權限
[root@centos001 ~]# chmod u=rws /usr/bin/ls // 增長權限命令的另外一種寫法
[root@centos001 ~]# ls -l !$
ls -l /usr/bin/ls
-rwSr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls //這裏咱們發現rwS裏有個大S 是由於沒有可執行權限x
[root@centos001 ~]# chmod u+x !$ //加上x權限
chmod u+x /usr/bin/ls
[root@centos001 ~]# ls -l !$
ls -l /usr/bin/ls
-rwsr-xr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls
set gid權限
- 該權限能夠做用在文件上(二進制可執行文件),也能夠做用在目錄上。
- 看成用在文件上時,其功能同set uid 它會使文件在執行階段具備文件所屬組的權限。
- 目錄被設置這個權限後,任何在此目錄的文件都具備和該目錄所屬組相同的 組。
- 例:增長set gid權限
[root@centos001 ~]# chmod u=rwx !$ //先把剛纔設置的set uid 權限取消
chmod u=rwx /usr/bin/ls
[root@centos001 ~]# chmod g+s !$ //增長所屬組的set gid 權限
chmod g+s /usr/bin/ls
[root@centos001 ~]# ls -l !$
ls -l /usr/bin/ls
-rwxr-sr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls
[root@centos001 ~]# ls -ld 234
drwxrwsr-x. 2 root root 6 9月 26 09:58 234 // 這裏咱們能看到234文件是root root
[root@centos001 ~]# chown :user1 234 //更改文件所屬組
[root@centos001 ~]# ls -ld 234
drwxrwsr-x. 2 root user1 6 9月 26 09:58 234
[root@centos001 ~]# touch 234/awei //在234 文件下再建立一個文件awei
[root@centos001 ~]# ls -l 234/
總用量 0
drwxr-sr-x. 2 root user1 6 10月 26 11:52 am
-rw-r--r--. 1 root user1 0 10月 26 11:53 awei
[root@centos001 ~]# chmod g-s 234 //這裏咱們去掉 set gid 權限
[root@centos001 ~]# ls -l 234
總用量 0
drwxr-sr-x. 2 root user1 6 10月 26 11:52 am
-rw-r--r--. 1 root user1 0 10月 26 11:53 awei
[root@centos001 ~]# touch 234/awei111 //建立一個新的文件awei111
[root@centos001 ~]# ls -l 234
總用量 0
drwxr-sr-x. 2 root user1 6 10月 26 11:52 am
-rw-r--r--. 1 root user1 0 10月 26 11:53 awei
-rw-r--r--. 1 root root 0 10月 26 11:56 awei111 //取消set gid權限後所屬組又變回了root
[root@centos001 ~]# mkdir 234/am1 //建立目錄am1
[root@centos001 ~]# ls -l 234
總用量 0
drwxr-sr-x. 2 root user1 6 10月 26 11:52 am
drwxr-xr-x. 2 root root 6 10月 26 11:57 am1 //由於取消了set gid,建立目錄後所屬組也變回了root
-rw-r--r--. 1 root user1 0 10月 26 11:53 awei
-rw-r--r--. 1 root root 0 10月 26 11:56 awei111
[root@centos001 ~]# ls -ld 234
drwxrwxr-x. 4 root user1 54 10月 26 11:57 234
sticky bit權限
- 防止刪除位
- 文件是否能夠被某用戶刪除,主要取決於該文件所在的目錄是否對該用戶具備寫權限。
- 若是沒有寫權限,則這個目錄下的因此文件都不能刪除,同時也不能添加新的文件
- 若是但願用戶可以添加文件但不能刪除該目錄下的文件,則能夠對父級目錄增長該權限
- 設置該權限後,就算用戶對目錄具備寫權限,也不能刪除其餘用戶的文件
[root@centos001 ~]# ls -ld /tmp/ //tmp目錄就有stick bit權限
drwxrwxrwt. 10 root root 4096 10月 26 10:10 /tmp/ //最後的rwt就是防刪除位
[root@centos001 user1]# su - aming //切換到普通用戶aming
[aming@centos001 user1]$ cd /tmp/
[aming@centos001 tmp]$ touch aming //在aming目錄下建立aming文件
[aming@centos001 tmp]$ ls -l
總用量 120
-rw-r--r--. 1 root root 1008 10月 25 02:25 1.txt
-rw-rw-r--. 1 aming aming 0 10月 26 13:10 aming //能看到變化
[aming@centos001 tmp]$ vi aming //這時能夠寫入 可是用另外一個普通用戶不能刪除
軟連接
- 用法 ln -s 源文件 目標文件
- 軟鏈接,相似Windows上的快捷方式,軟鏈接是一個獨立文件。
- 在建立軟文件的軟鏈接時,來源文件能夠是不存在的文件,而目標文件---快捷方式必須是新文件。
- 僅適用於目錄,若快捷方式-->目標目錄不存在,會建立相應的目錄;若已存在,會在目標目錄裏面建立一個以來源文件命名的子目錄。
- 可跨分區當來源文件是普通文件時,目標文件名稱不能夠是已經存在的文件
- 當來源文件是目錄時,目標文件名稱能夠軟鏈接,刪除來源文件,目標文件失效
- 全部軟鏈接的權限都是777,但並不是全部用戶都對該連接可讀可寫可執行,是否有這個權限,要看軟鏈接的源文件的權限
硬連接
- 用法 ln 源文件 目標文件
- 每一個文件都有一個屬於本身的inode
- 當使用硬連接時,硬連接文件直接連接到文件放置的塊區域。也就是說,進行硬連接的時候實際上文件內容沒有任何變化,只是制定了相同的inode。
- 硬連接文件直接連接到文件放置的塊區域。也就是說,進行硬連接的時候實際上文件內容沒有任何變化,只是制定了相同的inode。