Linux shell 文件權限相位點的含義

大家在使用RHEL6的時候,用ls -l命令查看文件的權限的時候,你可能會發現,這個權限的表示內容,已經與以前的版本不一樣了,後面多了一個點,這個點是幹嗎的呢?搜索了很久也沒有找到答案,很是鬱悶啊!於是乎就只能自己慢慢研究.
點擊查看原圖

首先來看看我是如何找到答案的,這個也是我的思路,和大家分享一下.

1、直接在網上搜索,但都找不到答案.

2、懷疑會不會像域名一樣,來用個點來表示結尾呢?

3、懷疑這個可能是和權限有關,想到了ACL和SELinux.

4、懷疑和文件系統有關,因爲RHEL6已經用了EXT4.

這些都是我想到的,可能和這個點有關的,猜測是可以的,但絕對不能誤導別人,所以我就一一來排除和驗證,最終得到結果是:

這個點表示的是存在“SELinux的安全標籤”!

爲什麼會這樣,我們來看如何得出來的結果.

我們用getenforce來查看SELinux的運行模式

[root@master ~]# getenforce

Enforcing

這說明SELinux是啓動的,OK,我們來創建個文件

[root@master ~]# touch testfile

[root@master ~]# ls -l testfile

-rw-r--r--. 1 root root 0 Jan 16 23:06 testfile

我們看到這個文件的權限後面是有點的.

下面我們關閉這個SELinux,然後重新啓動系統

[root@master ~]# vim /etc/sysconfig/selinux

SELINUX=enforcing

改爲

SELINUX=disabled

保存退出,重新啓動系統.

重新進入系統後,我們再來看一下這個SELinux的運行模式

[root@master ~]# getenforce

Disabled

再來創建個文件

[root@master ~]# touch testfile1

比較一下這兩個文件

[root@master ~]# ls -l testfile*

-rw-r--r--. 1 root root 0 Jan 16 23:06 testfile

-rw-r--r-- 1 root root 0 Jan 16 23:10 testfile1

發現testfile1這個權限的後面沒有了點

再來看看這兩個文件的安全上下文是什麼樣的

[root@master ~]# 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@master ~]# 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的安全性提高了.

發佈了40 篇原創文章 · 獲贊 2 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章