一、综述

Linux中,ls -l命令可谓是最常用不过了。命令显示结果中的第一列也是我们比较关注的地方,一般说法是表示权限的字符占10个位置。可是,我们也经常看到在这一列中第十一个位置也有内容显示,最常见的非那个点(.)莫属了,还有加号(+)也会出现在这个位置,这到底是怎么回事呢?让我们亲手来实践一下吧?

二、关于权限列内的点(.)

2.1 让我们来看一下根目录。

[root@DCGH ~]# ls -lZ /
lrwxrwxrwx. root      root      system_u:object_r:bin_t:s0       bin -> usr/bin
dr-xr-xr-x. root      root      system_u:object_r:boot_t:s0      boot
drwxr-xr-x. root      root      system_u:object_r:device_t:s0    dev
drwxr-xr-x. root      root      system_u:object_r:etc_t:s0       etc
drwxr-xr-x. root      root      system_u:object_r:home_root_t:s0 home
lrwxrwxrwx. root      root      system_u:object_r:lib_t:s0       lib -> usr/lib
lrwxrwxrwx. root      root      system_u:object_r:lib_t:s0       lib64 -> usr/lib64
drwxr-xr-x. root      root      system_u:object_r:mnt_t:s0       media
drwxr-xr-x. root      root      system_u:object_r:mnt_t:s0       mnt
drwxr-xr-x. root      root      system_u:object_r:usr_t:s0       opt
dr-xr-xr-x. root      root      system_u:object_r:proc_t:s0      proc
dr-xr-x---. root      root      system_u:object_r:admin_home_t:s0 root
drwxr-xr-x. root      root      system_u:object_r:var_run_t:s0   run
lrwxrwxrwx. root      root      system_u:object_r:bin_t:s0       sbin -> usr/sbin
drwxr-xr-x. root      root      system_u:object_r:var_t:s0       srv
dr-xr-xr-x. root      root      system_u:object_r:sysfs_t:s0     sys
drwxrwxrwt. root      root      system_u:object_r:tmp_t:s0       tmp
drwxr-xr-x. root      root      system_u:object_r:usr_t:s0       usr
drwxr-xr-x. root      root      system_u:object_r:var_t:s0       var

2.2 在HOME目录分别创建一个文件和目录,观察权限了第十一个位置的详细情况。

[root@DCGH ~]# touch DCGH
[root@DCGH ~]# mkdir DCGH-DIR
[root@DCGH ~]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 3月  28 10:23 DCGH
drwxr-xr-x. 2 root root 6 3月  28 10:24 DCGH-DIR

2.3 查看本机SELinux状态,并列举本目录下文件和目录关于SELinux的基本情况。

[root@DCGH ~]# getenforce
Enforcing
[root@DCGH ~]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR

3.4 关闭SELinux,再创建实验文件和目录,再次列举本目录及根下文件和目录关于SELinux的基本情况。

[root@DCGH ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
[root@DCGH ~]# reboot
[root@DCGH ~]# getenforce
Disabled
[root@DCGH ~]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR
[root@DCGH ~]# touch DCGH-later
[root@DCGH ~]# mkdir DCGH-later-dir
[root@DCGH ~]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR
-rw-r--r--  root root ?                                DCGH-later
drwxr-xr-x  root root ?                                DCGH-later-dir
[root@DCGH ~]# ls -lZ /
lrwxrwxrwx. root root system_u:object_r:bin_t:s0       bin -> usr/bin
dr-xr-xr-x. root root system_u:object_r:boot_t:s0      boot
drwxr-xr-x  root root ?                                dev
drwxr-xr-x. root root system_u:object_r:etc_t:s0       etc
drwxr-xr-x. root root system_u:object_r:home_root_t:s0 home
lrwxrwxrwx. root root system_u:object_r:lib_t:s0       lib -> usr/lib
lrwxrwxrwx. root root system_u:object_r:lib_t:s0       lib64 -> usr/lib64
drwxr-xr-x. root root system_u:object_r:mnt_t:s0       media
drwxr-xr-x. root root system_u:object_r:mnt_t:s0       mnt
drwxr-xr-x. root root system_u:object_r:usr_t:s0       opt
dr-xr-xr-x  root root ?                                proc
dr-xr-x---. root root system_u:object_r:admin_home_t:s0 root
drwxr-xr-x  root root ?                                run
lrwxrwxrwx. root root system_u:object_r:bin_t:s0       sbin -> usr/sbin
drwxr-xr-x. root root system_u:object_r:var_t:s0       srv
dr-xr-xr-x  root root ?                                sys
drwxrwxrwt. root root system_u:object_r:tmp_t:s0       tmp
drwxr-xr-x. root root system_u:object_r:usr_t:s0       usr
drwxr-xr-x. root root system_u:object_r:var_t:s0       var

通过上面的例子,我们可以看出来,这个点(.)不是没有用的,而是作用巨大,我们平时没怎么注意而已。开启SELinux后创建的文件和目录都会在权限列显示这个点的,关闭SELinux后创建的文件和目录在权限列是不会显示这个点的,之前创建的文件或目录保持不变。

三、关于权限列的加号(+)

3.1 了解过Linux中ACL权限设置的朋友对于这个加号肯定不陌生。不过还是让我们通过实验来验证一下。

[root@DCGH ~]# setfacl -m u:dcgh:rwx *
[root@DCGH ~]# ls -lZ
-rw-rwxr--+ root root unconfined_u:object_r:admin_home_t:s0 DCGH
drwxrwxr-x+ root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR
drwxrwxr-x+ root root ?                                DCGH-DIR-later
-rw-rwxr--+ root root ?                                DCGH-later
[root@DCGH ~]# setfacl -b *
[root@DCGH ~]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR
drwxr-xr-x  root root ?                                DCGH-DIR-later
-rw-r--r--  root root ?                                DCGH-later

我们可以看到,加了ACL权限控制之后,之前具有SELinux属性的文件和目录的权限列最后一个位置全部变成了加号(+)。移除原来的ACL权限之后,恢复原样。

四、总结

4.1 Linux权限列的点不是无意义字符。在开启SELinux的情况下创建的目录和文件有具有这个点,权限列有这个点说明该目录或文件以及设置了SELinux相关的权限。在禁用SELinux权限之后,在之前开启SELinux权限时创建的文件或目录保持原来的权限不便,权限列的点依然显示。新创建的目录或文件在权限列无这个点显示。

4.2 权限列中最后一个位置如果是加号,说明这个目录或文件已经设置了ACL权限相关的内容。如果加号存在,则已经有点的目录或文件,点的显示会被覆盖,但原来的SELinux属性保持不变。

关于Linux中权限列中的加号及点的深度探索相关推荐

  1. linux 权限中加号,关于Linux中权限列中的加号及点的深度探索

    一.综述 Linux中,ls -l命令可谓是最常用不过了.命令显示结果中的第一列也是我们比较关注的地方,一般说法是表示权限的字符占10个位置.可是,我们也经常看到在这一列中第十一个位置也有内容显示,最 ...

  2. 寻找GridView中模板列中的控件

    假如你在gridview中添加一个模板列,并 在模板列中存放了一个dropdownlist控件.那么,问题就是:你如何去操作这个dropdownlist控件???? //对于gridview控件:  ...

  3. 1.VBA实现EXCEL中Sheet1的 甲列 相同数值的行对应的乙列的数的和作为Sheet2中丙列中与Sheet1中甲列 相同的行对应的丁列的值...

    今天有一同学,喊我帮忙处理EXCEL中数据的问题,题目表述太含糊,简单说,分3步工作: 1)找出SHEET1的"甲列"中相同的行, 2)把相同的行对应的"乙列" ...

  4. python提取数列数字_从pandas datafram中的列中提取字符串中的数字

    只要字符串Incorrect_Price保持您在示例中呈现的结构(数字不是用文字表示的),任务就可以相对容易地解决.在 使用正则表达式,您可以使用similar SO question中的方法提取数字 ...

  5. pluck()取表中一列中所有值组成数组

    ######################!!!非常重要!!!!######################## ###########pluck是取一个字段也就是一列的所有元素的值存入一个数组中, ...

  6. 删除 R 中的列中的重复行

    我有一个包含大量数据(约 250,000 行)的 csv 文件,我需要删除重复的条目.每行中只有某些元素我想测试重复项,但其他数据需要显示在最终结果中.需要对日期.纬度和经度列进行重复测试.例如,如果 ...

  7. 在alv grid中的列中设置icon图标

    如果想输出红绿灯,其中红路灯那栏的头是不能改变text的,所以要是想自己个性化text就要改用icon输入红绿灯图标 方法是在structure中添加一个field 为 char型 4位长. 然后在 ...

  8. table中同一列中合并相同项

    实现效果 实现方法: 1.使用table中提供的合并方法spanMethod spanMethod({row, column, rowIndex, columnIndex}) {if (column. ...

  9. Java-合并Excel中同一列中相同内容(EasyExcelPlus)

    文章目录 前言 一.EasyExcelPlus是什么? 二.如何使用-合并列中的相同的值 结果如下图 三.总结 前言 本文使用EasyExcelPlus优雅的合并单元格,对业务代码无入侵,无需逻辑处理 ...

最新文章

  1. 《适用于初学者的 Python》
  2. Java算法--冒泡排序
  3. 蓝牙BLE(协议栈、OSAL、蓝牙APP工具)
  4. 树莓派安装CentOS
  5. 【Linux/Ubuntu】查询文件和文件夹大小
  6. linux中权限的介绍,Linux文件权限的入门介绍
  7. 使用加速度计进行崩溃检测
  8. 个推mastersecret_推送:个推
  9. Q91:真实地模拟透明材质(Realistic Transparency)(3)——A Glass of Water
  10. java新知识系列 六
  11. 深入理解JVM虚拟机读书笔记【第七章】虚拟机类加载机制
  12. SQL中使用正则表达式
  13. 微机综合保护装置怎么选择?在高压柜中起什么作用?
  14. 数据库面试题及优化手段
  15. 基于GraphQL的数据网关实现
  16. MATLAB编辑AWG波形,AWG5200任意波形发生器的功能特点及性能分析
  17. Failed to load project configuration: cannot parse file xxx Message: 前言中不允许有内容。
  18. 语义分割:遥感影像标签制作
  19. 计算机控制 采样电路,计算机模拟量的采样与处理
  20. linux 磁盘分区的原理,linux磁盘—分区原理

热门文章

  1. Xcode 真机程序发布测试
  2. Solaris 默认Shell 修改
  3. 60个开发者不容错过的免费资源库
  4. Slog21_支配vue框架模版语法之v-pre
  5. 如何在CentOS 7上使用uWSGI和Nginx来运行Django应用程序
  6. MyBatis批量插入
  7. 解决Linux动态库版本兼容问题
  8. C语言在生活中的小应用
  9. 新浪api 40022错误
  10. configure: error: no acceptable C compiler found in $PATH