RHEL6中,文件权限后面一个点的含义

2011年01月16日 Linux基础 评论 9 条 阅读 21,492 views 次

大家在使用RHEL6的时候,用ls -l命令查看文件的权限的时候,你可能会发现,这个权限的表示内容,已经与以前的版本不一样了,后面多了一个点,这个点是干吗的呢?搜索了很久也没有找到答案,很是郁闷啊!于是乎就只能自己慢慢研究。
首先来看看我是如何找到答案的,这个也是我的思路,和大家分享一下。
1、直接在网上搜索,但都找不到答案。
2、怀疑会不会像域名一样,来用个点来表示结尾呢?
3、怀疑这个可能是和权限有关,想到了ACL和SELinux。
4、怀疑和文件系统有关,因为RHEL6已经用了EXT4。
这些都是我想到的,可能和这个点有关的,猜测是可以的,但绝对不能误导别人,所以我就一一来排除和验证,最终得到结果是:

这个点表示的是存在“SELinux的安全标签”!
为什么会这样,我们来看如何得出来的结果。
我们用getenforce来查看SELinux的运行模式
[root@yufei ~]# getenforce
Enforcing

这说明SELinux是启动的,OK,我们来创建个文件
[root@yufei ~]# touch testfile
[root@yufei ~]# ls -l testfile
-rw-r--r--. 1 root root 0 Jan 16 23:06 testfile

我们看到这个文件的权限后面是有点的。
下面我们关闭这个SELinux,然后重新启动系统
[root@yufei ~]# vim /etc/sysconfig/selinux

SELINUX=enforcing
改为
SELINUX=disabled

保存退出,重新启动系统。

重新进入系统后,我们再来看一下这个SELinux的运行模式
[root@yufei ~]# getenforce
Disabled

再来创建个文件
[root@yufei ~]# touch testfile1
比较一下这两个文件
[root@yufei ~]# 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@yufei ~]# 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@yufei ~]#  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的安全性提高了。还记得我们在RHEL6开机故障排除中,每次排除故障重新启动系统的时候,都会有一个SELinux初始化的过程吗?(要花上几分钟),都和这个SELinux有关。

9 条留言  访客:5 条  博主:4 条

  1. 本来想装linux系统的,可惜不会装。

    • 我博客中有很多的教程,而且写的也很详细,可以参考一下。
      不过,还是建议在虚拟机上玩,看自己能不能玩转,然后再决定换不换成Linux。

  2. avatar bluebear720

    也是刚注意到时这个,一个网友给了你的链接,不错!

  3. 在Coreutils手册页可以找到答案.
    URL: http://www.gnu.org/software/coreutils/manual/coreutils.html#ls-invocation

    Following the file mode bits is a single character that specifies whether an alternate access method such as an access control list applies to the file. When the character following the file mode bits is a space, there is no alternate access method. When it is a printing character, then there is such a method.

    GNU ls uses a ‘.’ character to indicate a file with an SELinux security context, but no other alternate access method.

    A file with any other combination of alternate access methods is marked with a ‘+’ character.

  4. 飞哥,这个点跟selinux有关

给我留言

Copyright © 羽飞博客 保留所有权利.   Ality主题 皖ICP备14013844号-1

用户登录