大家在使用RHEL6的時候,用ls -l指令檢視檔案的權限的時候,你可能會發現,這個權限的表示内容,已經與以前的版本不一樣了,後面多了一個點,這個點是幹嗎的呢?搜尋了很久也沒有找到答案,很是郁悶啊!于是乎就隻能自己慢慢研究。
首先來看看我是如何找到答案的,這個也是我的思路,和大家分享一下。
1、直接在網上搜尋,但都找不到答案。
2、懷疑會不會像域名一樣,來用個點來表示結尾呢?
3、懷疑這個可能是和權限有關,想到了ACL和SELinux。
4、懷疑和檔案系統有關,因為RHEL6已經用了EXT4。
這些都是我想到的,可能和這個點有關的,猜測是可以的,但絕對不能誤導别人,是以我就一一來排除和驗證,最終得到結果是:
這個點表示的是存在“SELinux的安全标簽”!
為什麼會這樣,我們來看如何得出來的結果。
我們用getenforce來檢視SELinux的運作模式
[root@tonyzhang ~]# getenforce
Enforcing
這說明SELinux是啟動的,OK,我們來建立個檔案
[root@tonyzhang ~]# touch testfile
[root@tonyzhang ~]# ls -l testfile
-rw-r--r--. 1 root root 0 Jan 16 23:06 testfile
我們看到這個檔案的權限後面是有點的。
下面我們關閉這個SELinux,然後重新啟動系統
[root@tonyzhang ~]# vim /etc/sysconfig/selinux
将
SELINUX=enforcing
改為
SELINUX=disabled
儲存退出,重新啟動系統。
重新進入系統後,我們再來看一下這個SELinux的運作模式
Disabled
再來建立個檔案
[root@tonyzhang ~]# touch testfile1
比較一下這兩個檔案
[root@tonyzhang ~]# ls -l testfile*
-rw-r--r-- 1 root root 0 Jan 16 23:10 testfile1
發現testfile1這個權限的後面沒有了點
再來看看這兩個檔案的安全上下文是什麼樣的
[root@tonyzhang ~]# ls -Z testfile*
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 testfile
-rw-r--r-- root root ? testfile1
關掉了SELinux,建立的檔案就沒有了這個安全上下文了,也就沒有了這個點了。
我們再看看,把SELinux開啟,再重新啟動電腦,看看這個testfile1的安全上下文會變成什麼樣?
[root@tonyzhang ~]# ls -Z testfile*
-rw-r--r--. root root system_u:object_r:admin_home_t:s0 testfile
-rw-r--r--. root root system_u:object_r:admin_home_t:s0 testfile1
重新啟動後,這個testfile1檔案就自動加上了這個安全标簽,而且權限的後面又多了一個點。
至于testfile這個檔案的安全上下文為什麼會變,我們後面學習SELinux的時候,慢慢來研究了。
可見,我們上面的分析是完全正确的,這也同時說明一個問題,RHEL6的安全性提高了。
本文轉自glying 51CTO部落格,原文連結:http://blog.51cto.com/liying/968416,如需轉載請自行聯系原作者