特殊權限位set_uid set_gid stick_bit 軟鏈接硬鏈接
特殊權限位set_uid set_gid stick_bit 軟鏈接硬鏈接
[root@alex ~]# ls -l /etc/shadow 存放密碼文件
----------. 1 root root 760 Oct 21 01:30 /etc/shadow
[root@alex ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
[root@alex ~]# chmod u+s /usr/bin/ls 臨時擁有root權限的寫法
[root@alex ~]# ls -l /usr/bin/ls
-rwsr-xr-x. 1 root root 117656 Nov 6 2016 /usr/bin/ls
如下示例:
[root@alex ~]# su - user
Last failed login: Thu Oct 26 22:22:13 CST 2017 from 183.206.173.194 on ssh:notty
There were 315 failed login attempts since the last successful login.
[user@alex ~]$ ls -l /root/ 可以使用root的權限
total 20
-rw-r--r--. 1 root root 0 Oct 26 09:22 2.txt
drw-r--r--. 2 root root 4096 Oct 25 08:49 3.txt
drwxr-xr-x. 2 root root 4096 Oct 16 14:01 c
drwxr-xr-x. 2 root root 4096 Oct 18 08:46 m
drwxr-xr-x. 2 root root 4096 Oct 24 09:36 p
drwxr-xr-x. 2 root root 4096 Oct 24 09:34 zx
[user@alex ~]$ ls /root/
2.txt 3.txt c m p zx
[root@alex ~]# chmod u-s /usr/bin/ls 更改原來的配置
[root@alex ~]# ls -l /usr/bin/ls
-rwxr-xr-x. 1 root root 117656 Nov 6 2016 /usr/bin/ls
[root@alex ~]# chmod u=rws /usr/bin/ls 另外一種寫法
[root@alex ~]# ls -l /usr/bin/ls
-rwSr-xr-x. 1 root root 117656 Nov 6 2016 /usr/bin/ls
變成大S 因為沒有x權限 大寫的S也不受影響 也能執行
加上x權限就會變成小s
[root@alex ~]# chmod u+x /usr/bin/ls
[root@alex ~]# ls -l /usr/bin/ls
-rwsr-xr-x. 1 root root 117656 Nov 6 2016 /usr/bin/ls
[root@alex ~]# chmod u-s /usr/bin/ls 清楚的權限的寫法
[root@alex ~]# ls -l /usr/bin/ls
-rwxr-xr-x. 1 root root 117656 Nov 6 2016 /usr/bin/ls
set gid 可以作用在目錄上也可以作用在子文件上,可以讓普通用戶臨時擁有所屬組的權限
[root@alex ~]# chmod g+s p
[root@alex ~]# mkdir p/2.txt
[root@alex ~]# ls -l p
total 8
-rw-r--r--. 1 root root 0 Oct 26 22:49 1.txt
drwxr-sr-x. 2 root user 4096 Oct 26 22:51 2.txt
drwxr-xr-x. 2 root root 4096 Oct 26 22:50 nb
當set _gid 擁有組的權限 在他所在的組下面,創建的目錄和文件用戶所屬組都是以該組名字定義
stick_bit 防刪除位
防止別人刪除自己的文件
加上防刪除位
[root@alex ~]# su - user
Last login: Thu Oct 26 22:22:47 CST 2017 on pts/1
[user@alex ~]$ cd /tmp/
[user@alex tmp]$ cd
[user@alex ~]$ mkdir 1
[user@alex ~]$ chmod 777 1
[user@alex ~]$ ls -l
total 4
drwxrwxrwx. 2 user user 4096 Oct 26 23:09 1
[user@alex ~]$ cd 1
[user@alex 1]$ mkdir 2
[user@alex 1]$ touch 1.txt
[user@alex 1]$ ls -l
total 4
-rw-rw-r--. 1 user user 0 Oct 26 23:10 1.txt
drwxrwxr-x. 2 user user 4096 Oct 26 23:10 2
[user@alex 1]$ rm -r 2 這裏體現可以刪除 就是沒有加防刪除位
[user@alex 1]$ ls -l
total 0
-rw-rw-r--. 1 user user 0 Oct 26 23:10 1.txt
[user@alex ~]$ chmod o+t 1 加上防刪除位的用法
[user@alex ~]$ ls -l
total 4
drwxrwxrwt. 2 user user 4096 Oct 26 23:10 1
[root@alex ~]# ln -s /tmp/alex/ /root/p 軟鏈接的寫法
[root@alex ~]# ls -l /root/p
total 8
-rw-r--r--. 1 root root 0 Oct 26 22:49 1.txt
drwxr-sr-x. 2 root user 4096 Oct 26 22:51 2.txt
lrwxrwxrwx. 1 root user 10 Oct 26 23:25 alex -> /tmp/alex/ 做成軟鏈接
drwxr-xr-x. 2 root root 4096 Oct 26 22:50 nb
軟鏈接 左邊是你的源文件 右邊才是軟鏈接文件
[root@alex ~]# ls -l x 相對路徑還有絕對路徑
total 0
lrwxrwxrwx. 1 root root 2 Oct 26 23:30 nb -> nb
做軟鏈接盡量使用絕對路徑
硬鏈接不支持對目錄做硬鏈接
硬鏈接相當於備份 ,即使刪除一份 還有一份存在 。
硬鏈接有一個特性不能對目錄做硬鏈接
硬鏈接的實質就是通過文件的inode節點進行連接。我們都知道,Linux下每個文件都對應一個inode結點,都有一個單獨的inode編號。而硬鏈接不同,每一個硬鏈接的inode都與源文件相同。假設我對文件A建立了一個硬鏈接文件B,此時B的inode編號與A相同。
每個文件可以建立一個或多個硬鏈接,這樣可以達到“防誤刪”的功能,當刪除了源文件時,還可以通過硬鏈接文件來訪問文件數據。
文件可以做硬鏈接 前提不能跨分區
ln 硬鏈接的寫法
本文出自 “11325852” 博客,請務必保留此出處http://11335852.blog.51cto.com/11325852/1976722
特殊權限位set_uid set_gid stick_bit 軟鏈接硬鏈接