6月7日任務node
2.18 特殊權限set_uidui
2.19 特殊權限set_gid3d
2.20 特殊權限stick_bit日誌
2.21 軟連接文件blog
2.22 硬鏈接文件it
2.18 特殊權限set_uid權限
會發現有些文件的前三位並非rwx而是rws,而s就表明的set_uid的權限二進制
要更改passwd,就要更改系統文件,而這個系統文件就是/etc/shadow,而shadow是---權限沒法更改,因此就用到了set_uid這個權限,他可讓普通用戶臨時擁有root的權限,來修改passwdim
因此set_uid的意思就是:他可讓普通用戶臨時擁有該命令全部者的身份(u=全部者),有了這個的權限,就能夠修改這個帶s的文件d3
那麼給一個文件設置set_uid的前提是這個文件必須是二進制文件、可執行文件
(二進制文件好比ls命令,.txt就不是二進制文件)
su - 可切換用戶
那麼如何給一個文件加上set_uid權限呢,寫法以下:
chmod u+s /user/bin/passwd
-s可取消set_uid權限
chmod u-s /user/bin/passwd
實例:
咱們先用su - 切換到普通用戶下,並查看/root/,發現查看不了,由於沒有權限
咱們把ls加上set_uid權限,而後在查看ls,會發現ls已經變成了rws
咱們再回到普通用戶下,再查看/root,就會發現能夠打開了
注意:目錄頁能夠加set_uid,可是沒意義,咱們不執行目錄
總結:
set_uid是可讓普通用戶臨時擁有這個文件全部者身份的權限
對一個文件加set_uid的寫法是:
chmod u+s
chmod u-s 可取消set_uid權限
---------------------------------------------------------------------------------------------------------------------------------------
2.19 特殊權限set_gid:
set_gid是做用在所屬組者個權限位上的
set _gid是可讓這個文件臨時擁有所屬組的身份(g=所屬組)
寫法爲 chmod g+s
set_gid加在文件上的時候是跟set_uid是同樣的,可是他是能夠加在目錄上的
實例:
咱們新建一個叫111的目錄,給他增長set_gidde quanxian ,更改他的所屬組,咱們發如今裏面新建的子目錄和子文件就都是wangxin了
而後咱們在取消掉set_gid,再給他增長子文件和子目錄,就會發現這時候就都是root了
總結:
做用在文件上時用set_uid相似,可讓執行這個文件的普通用戶臨時擁有這個所屬組的權限
做用在目錄上時,當你建立子目錄或者子文件,子目錄和子文件的所屬組和該目錄的所屬組保持一致
寫法也是 chmod g+a
取消爲 chmod g-a
---------------------------------------------------------------------------------------------------------------------------------------
2.20 特殊權限stick_bit:
stick_bit防止別人刪除本身的文件(root用戶除外)
stick_bit一般用在/tmp/下
在一個用戶/tmp/建了一個文件,在另外一個用戶/tmp/下是能夠看到的,可是不能刪
---------------------------------------------------------------------------------------------------------------------------------------
2.21 軟連接文件:
軟鏈接至關於Windows的快捷方式,把一個文件的路徑放到另外一個目錄下,就能夠執行這個目錄的名字,比較節省空間
如圖:
ls就是在bin下的,因此咱們執行哪一個均可以
那麼給一個目錄作軟鏈接的寫法是:
ln -s /root/123/12/1.txt /tmp/456/45/6.txt
源文件路徑 目的地文件路徑
軟鏈接不只能夠作文件也能夠作目錄,可是最好使用絕對路徑
實例:
假若有一個叫aming的服務一直在往/boot下寫日誌(.log),而/boot已經快滿了,再寫就滿了,咱們能夠這樣作
cp /boot/aming.log /aming.log 先把這個服務的日誌複製到根下
rm /boot/aming.log 再把原有這個服務的日誌刪掉,讓他往根下面寫,那如今這個服務的原路徑就在跟下了
ln -s /aming.log /boot/aming.log 再把如今這個的源文件路徑軟鏈接給/boot下就行了
---------------------------------------------------------------------------------------------------------------------------------------
2.22 硬鏈接文件:
寫法爲ln (源文件絕對路徑) (目的地絕對路徑)
不支持對目錄作硬連接,硬連接只能對文件作硬連接
不能跨分區作硬連接
硬連接能夠刪除,由於還有其餘iNode使用了這個硬連接,
好比建立了一個文件,他跟一個文件有同樣的iNode號,那這兩個文件相互爲硬連接
硬連接至關因而一個文件多了一張皮,我能夠刪掉其中一個,或者哪一個都無所謂,真正儲存該信息的是inode
至關於備份