官术网_书友最值得收藏!

  • Linux就該這么學
  • 劉遄
  • 707字
  • 2019-01-05 05:54:07

5.4 文件的隱藏屬性

Linux系統中的文件除了具備一般權限和特殊權限之外,還有一種隱藏權限,即被隱藏起來的權限,默認情況下不能直接被用戶發覺。有用戶曾經在生產環境和RHCE考試題目中碰到過明明權限充足但卻無法刪除某個文件的情況,或者僅能在日志文件中追加內容而不能修改或刪除內容,這在一定程度上阻止了黑客篡改系統日志的圖謀,因此這種“奇怪”的文件也保障了Linux系統的安全性。

5.4.1 chattr命令

chattr命令用于設置文件的隱藏權限,格式為“chattr [參數]文件”。如果想要把某個隱藏功能添加到文件上,則需要在命令后面追加“+參數”,如果想要把某個隱藏功能移出文件,則需要追加“-參數”。chattr命令中可供選擇的隱藏權限參數非常豐富,具體如表5-6所示。

表5-6 chattr命令中用于隱藏權限的參數及其作用

為了讓讀者能夠更好地見識隱藏權限的效果,我們先來創建一個普通文件,然后立即嘗試刪除(這個操作肯定會成功):

        [root@linuxprobe ~]# echo "for Test" > linuxprobe
        [root@linuxprobe ~]# rm linuxprobe
        rm: remove regular file ‘linuxprobe'? y

實踐是檢驗真理的唯一標準。如果您沒有親眼見證過隱藏權限強大功能的美妙,就一定不會相信原來Linux系統會如此安全。接下來我們再次新建一個普通文件,并為其設置不允許刪除與覆蓋(+a參數)權限,然后再嘗試將這個文件刪除:

        [root@linuxprobe ~]# echo "for Test" > linuxprobe
        [root@linuxprobe ~]# chattr +a linuxprobe
        [root@linuxprobe ~]# rm linuxprobe
        rm: remove regular file ‘linuxprobe'? y
        rm: cannot remove ‘linuxprobe': Operation not permitted

可見,上述操作失敗了。

5.4.2 lsattr命令

lsattr命令用于顯示文件的隱藏權限,格式為“lsattr [參數]文件”。在Linux系統中,文件的隱藏權限必須使用lsattr命令來查看,平時使用的ls之類的命令則看不出端倪:

        [root@linuxprobe ~]# ls -al linuxprobe
      -rw-r--r--. 1 root root 9 Feb 12 11:42 linuxprobe

一旦使用lsattr命令后,文件上被賦予的隱藏權限馬上就會原形畢露。此時可以按照顯示的隱藏權限的類型(字母),使用chattr命令將其去掉:

        [root@linuxprobe ~]# lsattr linuxprobe
        -----a---------- linuxprobe
        [root@linuxprobe ~]# chattr -a linuxprobe
        [root@linuxprobe ~]# lsattr linuxprobe
        ---------------- linuxprobe
        [root@linuxprobe ~]# rm linuxprobe
        rm: remove regular file ‘linuxprobe'? y
主站蜘蛛池模板: 碌曲县| 尼木县| 黄陵县| 图木舒克市| 广东省| 攀枝花市| 黄梅县| 拉孜县| 昌江| 克什克腾旗| 柳河县| 邹城市| 深圳市| 老河口市| 汾西县| 那坡县| 富川| 荆门市| 伊通| 平罗县| 台中县| 黄冈市| 六安市| 循化| 灵璧县| 隆尧县| 宜章县| 凤翔县| 淮安市| 西昌市| 汶上县| 泾川县| 巴南区| 保亭| 垦利县| 饶河县| 察哈| 库尔勒市| 高青县| 日喀则市| 白玉县|