Linux-文件基本权限及特殊权限详解

Linux文件基本权限及特殊权限详解

背景

Linux文件基本权限和特殊权限对于初学者很少烦恼,各种无法理解,所以在学到这一节时,将自己学到的以及自己的理解写出来以检查自己对这个部分的掌握情况。

什么是权限

在Linux里一切皆文件,所谓的权限就是用户对文件(目录也是以个文件)的操作范围,对文件的操作包括读、写和执行,用户对文件有不同的权限就能做相应的操作。

目标

熟悉Linux文件的基本权限和特殊权限,明白文件权限后面对应的意义。

用户组

一个文件有对应三种用户:文件所有者、文件所属组、其他用户。每一种用户都对应着三种基本权限,包括读、写和执行。

所有者:谁创建这个文件就天然是这个文件的所有者,只有uid为0的用户(默认是root)可以使用chown命令来改变文件所有者。

Linux-文件基本权限及特殊权限详解

Linux-文件基本权限及特殊权限详解

所属组:一般情况下一个新建的文件的所属组就是创建者的主组。可以通过chgrp命令来改变文件的所属组。所属组中的成员会自动继承组的权限,即所属组有什么权限,成员就有什么权限,当然acl的用户除外。

Linux-文件基本权限及特殊权限详解

其他用户:包括除了所有者和所属组成员以外的其他用户。

文件基础权限

可以使用 ll 命令来查看文件的详细信息

Linux-文件基本权限及特殊权限详解

其中d:表示目录

      – :表示普通文件

      r:表示读权限

      w:表示写权限

      x:表示执行权限

  也可以用数字表示 r=4;w=2;x=1

  第一个rwx位:表示所有者权限

  第二个rwx位:表示所属组权限

  第三个rwx位:表示其他用户权限

文件权限的意义

对于不同的文件类型,文件的权限对应不同的意义。

普通文件的r权限表示拥有r权限的用户可以打开这个文件,w权限表示表示用户可以修改这个文件的内容,x表示用户可以执行这个文件。

而目录文件的rwx权限意义不同于普通文件。

1、目录文件的r权限表示用户可以列出目录里的文件但如果用户仅有r权限即400,则用户不可以cd到这个目录里不可用cat文件,不可以创建文件;能列出目录里的文件,但文件名字是乱码。

Linux-文件基本权限及特殊权限详解

2、w权限表示用户可以创建文件,但如果用户只有w权限即200,则用户不能cd到目录里,不能cat文件,不能创建文件,不能列出目录里的文件

Linux-文件基本权限及特殊权限详解

3、x权限表示用户可以进入到目录里,但如果只有x权限即100,目录里的文件不能列出,不能创建文件,可以cd进入目录,可cat有权限的文件。

Linux-文件基本权限及特殊权限详解

4、如果目录文件有r+x权限  即500,用户可以进入目录,列出文件,cat有权限的文件,但不能创建新文件

Linux-文件基本权限及特殊权限详解

5、如果目录权限为w+x即300,用户不能列出目录里的文件,可以进入目录,可创建文件,可cat有权限的文件

Linux-文件基本权限及特殊权限详解

6、如果目录文件的权限为r+w即600,则用户可以列出目录里的文件但是乱码,不能cd进目录,不能创建文件,不能cat文件

Linux-文件基本权限及特殊权限详解

当然这里只是列出了一中用户类型权限的使用,其他用户权限的也是一样的使用方式。

文件特殊权限

文件的特殊权限有三种包括suid(4)、sgid(2)、sticky(1);

suid 4    只能作用于二进制可执行程序上,当执行这个程序时会临时切换身份为文件所有者身份,典型的就是用户修改密码。

Linux-文件基本权限及特殊权限详解

可见这个文件所有权限都没有,但是我们可以使用passwd命令来修改这个文件。这是为什么呢?

那是因为/usr/bin/passwd文件有特殊权限s

Linux-文件基本权限及特殊权限详解

所有者有了s权限后,当用户执行这个程序时会临时将用户身份切换到root身份,而root用户是不受权限控制的,所以虽然没有任何权限,用户也可以修改密码。

这个权限很危险,比如如果cat有suid权限,则所有用户可以查看和修改所有文件。

sgid 2    作用于二进制可执行程序上,继承了此程序所属组的权限

Linux-文件基本权限及特殊权限详解

            作用于目录上,在该目录下新建文件所属组继承目录的所属组

Linux-文件基本权限及特殊权限详解

sticky 1 粘滞位     作用于目录,该目录下的文件只能被所有者和root删除,代表是/tmp目录

Linux-文件基本权限及特殊权限详解

原创文章,作者:657188918,如若转载,请注明出处:http://www.178linux.com/80747

(0)
657188918657188918
上一篇 2017-07-22 21:01
下一篇 2017-07-22 21:40

相关推荐

  • 计算机简介

    计算机的简介 电子计算机(英语:computer),亦称电脑,是一种利用「电子学」原理,根据一系列指令对数据进行处理的工具计算机种类繁多,但实际来看,计算机总体上是处理信息的工具。计算机在组成上形式不一,早期计算机的体积足有一间房屋的大小,而今天某些嵌入式计算机可能比一副「扑克牌」还小。当然,即使在今天依然有大量体积庞大的巨型计算机为特别的[科学]计算或面向…

    Linux干货 2016-10-28
  • N26-第五周

    1、显示当前系统上root、fedora或user1用户的默认shell;[root@localhost ~]# grep -E ‘^(root|fedora|user1)\>’ /etc/passwdroot:x:0:0:root:/root:/bin/bashfedora:x:4002:4002:Fedora Core:/h…

    Linux干货 2017-03-13
  • N27_第十三周作业

    1、建立samba共享,共享目录为/data,要求:描述完整的过程 1)共享名为shared,工作组为magedu 2)添加组develop,添加用户gentoo,centos和Ubuntu,其中gentoo和centos以develop为附加组,Ubuntu不属于develop组,密码均为用户名 3)添加samba用户gentoo,centos和Ubunt…

    2017-11-20
  • 可伸缩的逻辑卷

    什么是逻辑卷? 逻辑卷简称LVM, LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.   为什么要使用逻辑卷? 逻辑卷相比于一般的磁盘分区, 具有更高的灵活性。可随时伸缩空间的大小.   构建逻辑分区图:   逻辑卷概念: PV(物理卷): 是在…

    Linux干货 2016-09-01
  • 哥是玩程序的

      下面一组有趣的Web示例,这些示例使用Web的一些很“土”控件做出一些很有趣的玩意儿。原来,编程是可以用来玩的,看看这些玩程序的人搞出的这些有意思的玩意,简直是玩得太有意思了。不过,请注意,这些东西只能使用Chrome打开,不然,你看不到相关的效果。 用滚动条做的时间 http://toki-woki.net/p/scroll-clock/,下…

    Linux干货 2015-04-01
  • 管理systemd

    管理systemd 一、systemd介绍 回顾一下centos的启动流程  POST –> Boot Sequence –> Bootloader –> kernel + initramfs(initrd) –> rootfs –> /sbin/init 在…

    Linux干货 2016-09-22