9月17日任務node
2.18 特殊權限set_uidlinux
2.19 特殊權限set_gidbash
2.20 特殊權限stick_bitapp
2.21 軟連接文件ui
2.22 硬鏈接文件 spa
2.18 、特殊權限set_uid .net
1 、 passwd命令擁有set_uid權限 ,使得普通用戶可以用命令修改本身的密碼,普通用戶在運行passwd命令時臨時擁有root管理員權限。文檔
權限表示爲rws。get
[root@localhost ~]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
2 、 設置ls命令set_uid權限, #賦予ls命令set_uid權限後普通用戶就能臨時擁有特殊權限。it
[root@localhost ~]# ls -l /usr/bin/ls -rwxr-xr-x. 1 root root 117672 4月 11 12:35 /usr/bin/ls [root@localhost ~]# chmod u+s !$ chmod u+s /usr/bin/ls [root@localhost ~]# ls -l /usr/bin/ls -rwsr-xr-x. 1 root root 117672 4月 11 12:35 /usr/bin/ls [user1@localhost ~]$ ls /root/ 2.txt 4.txt anaconda-ks.cfg.1
#用另外一種方式賦予ls命令特俗權限會發現權限位表示爲rwS,是由於少了x權限,但此時不影響使用。另外目錄也是能夠加上set_uid權限 ,可是對於目錄沒有意義。
[root@localhost ~]# chmod u-s /usr/bin/ls
[root@localhost ~]# chmod u=rws /usr/bin/ls
[root@localhost ~]# ls -l !$
ls -l /usr/bin/ls
-rwSr-xr-x. 1 root root 117672 4月 11 12:35 /usr/bin/ls
2.19 、特殊權限set_gid
#給文件設置set_gid特殊權限,使得普通用戶臨時擁有所屬組的身份。
[root@localhost ~]# chmod u=rwx /usr/bin/ls
[root@localhost ~]# ls -l !$
ls -l /usr/bin/ls
-rwxr-xr-x. 1 root root 117672 4月 11 12:35 /usr/bin/ls
[root@localhost ~]# chmod g+s /usr/bin/ls
[root@localhost ~]# ls -l /usr/bin/ls
-rwxr-sr-x. 1 root root 117672 4月 11 12:35 /usr/bin/ls
#給目錄設置set_gid特殊權限後,在該目錄新建文檔會擁有跟目錄一樣的權限屬性,去掉特殊權限後,新建的文檔和子目錄則擁有建立者的身份屬性。
[root@localhost ~]# ls -ld 111/ drwxr-xr-x. 2 root root 6 9月 17 10:09 111/ [root@localhost ~]# chmod g+s 111/ [root@localhost ~]# ls -ld 111/ drwxr-sr-x. 2 root root 6 9月 17 10:09 111/ [root@localhost ~]# chown root:user1 111/ [root@localhost ~]# ls -ld 111/ drwxr-sr-x. 2 root user1 6 9月 17 10:09 111/ [root@localhost ~]# touch 111/123 [root@localhost ~]# ls -l 111/ 總用量 0 -rw-r--r--. 1 root user1 0 9月 17 10:13 123 [root@localhost ~]# chmod g-s 111/ [root@localhost ~]# ls -ld 111/ drwxr-xr-x. 2 root user1 29 9月 17 10:14 111/ [root@localhost ~]# touch 111/1212 [root@localhost ~]# ls -l 111/ 總用量 0 -rw-r--r--. 1 root root 0 9月 17 10:16 1212 -rw-r--r--. 1 root user1 0 9月 17 10:13 123
2.20 、特殊權限stick_bit,系統目錄/tmp/擁有stick權限。全部者建立的權限爲777的文件其餘人只能查看和修改但不能刪除(防刪除位),做用是防止別人刪除本身的文件,root用戶除外。
[root@localhost ~]# ls -ld /tmp/ drwxrwxrwt. 11 root root 4096 9月 17 10:16 /tmp/ [user2@localhost ~]$ touch /tmp/happy [user1@localhost ~]$ touch /tmp/happy2 [user1@localhost ~]$ ls -l /tmp/happy* -rw-rw-r--. 1 user2 user2 0 9月 17 10:34 /tmp/happy -rw-rw-r--. 1 user1 user1 0 9月 17 10:35 /tmp/happy2 [user1@localhost ~]$ echo "nihaoma" >>/tmp/happy -bash: /tmp/happy: 權限不夠 [user1@localhost ~]$ echo "nihaoma" >>/tmp/happy2 [user1@localhost ~]$ cat /tmp/happy2 nihaoma
2.21 、軟連接文件 命令:ln -s 。 設置軟連接文件
[root@zgxlinux-01 ~]# ln -s /etc/passwd /tmp/zgx/ #建立文件passwd的軟連接到/tmp/zgx/ [root@zgxlinux-01 zgx]# ls -l /tmp/zgx/ lrwxrwxrwx. 1 root user1 11 9月 6 14:27 passwd -> /etc/passwd [root@zgxlinux-01 zgx]# ln -s /tmp/zgx2/ /tmp/zgx/zgx3 #建立文檔zgx2的軟連接到/tmp/zgx/下並重命名爲/zgx3/ [root@zgxlinux-01 zgx]# ls -l lrwxrwxrwx. 1 root user1 11 9月 6 14:27 passwd -> /etc/passwd lrwxrwxrwx. 1 root user1 10 9月 6 14:32 zgx3 -> /tmp/zgx2/
#軟連接不只能夠建立文件軟連接,還能建立目錄的軟連接,作軟連接儘可能使用絕得路徑
##介紹一個工做中經常使用的例子:
#命令 : df -h 查看磁盤分區
[root@zgxlinux-01 zgx]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda3 28G 1.1G 27G 4% / devtmpfs 481M 0 481M 0% /dev tmpfs 492M 0 492M 0% /dev/shm tmpfs 492M 7.6M 485M 2% /run tmpfs 492M 0 492M 0% /sys/fs/cgroup /dev/sda1 197M 102M 95M 52% /boot tmpfs 99M 0 99M 0% /run/user/0 tmpfs 99M 0 99M 0% /run/user/1000 tmpfs 99M 0 99M 0% /run/user/100
#假如某個分區的a文件數據量大,佔滿了該磁盤空間,能夠把該源文件轉移到其餘分區,再映射一個該文件的軟連接到原始目錄,就能夠解決這個問題 。
2.22 、硬連接文件
命令:ln
[root@zgxlinux-01 ~]# ln /tmp/zgx2/passwd /tmp/zgx2/passwd.heard.txt
[root@zgxlinux-01 ~]# ll /tmp/zgx2/
總用量 8
drwxr-xr-x. 4 0 root 28 9月 4 11:29 1
-rw-r--r--. 2 0 root 944 9月 4 12:32 passwd
-rw-r--r--. 2 0 root 944 9月 4 12:32 passwd.heard.txt
[root@zgxlinux-01 ~]# ls -li /tmp/zgx2/
總用量 8
23343 drwxr-xr-x. 4 0 root 28 9月 4 11:29 1
50649759 -rw-r--r--. 2 0 root 944 9月 4 12:32 passwd
50649759 -rw-r--r--. 2 0 root 944 9月 4 12:32 passwd.heard.txt
[root@zgxlinux-01 ~]# ln /tmp/zgx/ /tmp/123 #硬連接不支持目錄
ln: "/tmp/zgx/": 不容許將硬連接指向目錄
[root@zgxlinux-01 ~]# ln /etc/passwd /boot/ #硬連接不能跨分區
ln: 沒法建立硬連接"/boot/passwd" => "/etc/passwd": 無效的跨設備鏈接
##硬連接只支持文件,不支持對目錄作硬連接。作硬連接後兩個文件大小相同, inode號相同 ,刪除其中一個文件,對另外一個沒有影響,硬連接不會佔用空間,由於inode號相同,使用的是同一個文件,且硬連接不能跨分區。