Linux的文件权限(一)

Linux的文件权限

在Linux的世界里,一切皆文件,用文件代表了系统的所有数据。既然文件那么重要,自然会给文件赋予一定的权限,要不然每个人都可以乱来,那系统会十分危险。所以文件的所有者会给文件设定权限,每个用户在自己权限的范围下做各自的操作。

我们可以先用 ll-d 查看一下文件的权限

Linux的文件权限(一)

第一位代表着问价类型,d 代表着是目录文件,后面九位代表着权限。其中三位为一组,一共分为三组。分别代表着所有者,所属组,其他三种不同类型的身份。

所有者:就是这个文件的拥有者,文件归所有者所有,他有权更改所有用户用文件的权限。 所属组:就是所有者对所在的组设定的权限,这个权限将适用于该组的所有成员。 其他:就是除了以上两种的其他成员。

每组成员分为三个常驻的普通权限:

r read  可读
w write 可写
x excut 执行

在上图中发现又的地方显示的是 — ,这意味着对应的成员没有该权限。 这些权限也可以用十进制的数字来表示 把三组分开,分成三位的二进制来看,有权限代表1,为无权限代表0,那么

r--
100  二进制   4  十进制

-w-
010  二进制   2  十进制

--x
001  二进制   1  十进制

所以rwx用数字分别表示为421,每个组的权限就是该组权限对应的数字相加和。比如上图中所有者的权限为rwx,用十进制表示为7,1.txt的文件权限就是755。

当然,生产环境中,文件的所有者并不一定是root ,有可能只是一个普通用户,那么当普通用户所设的权限对root有什么影响呢。

Linux的文件权限(一)

由图可以看出,即使所有者没给root分权限他依旧可以读写操作。经过多次的实验,发现读写权限对于root是无效的,但是无论哪个用户拥有执行权限,root一样也会有执行权限,所有人没执行权限,root一样也没有。

在做实验时引出了权限操作的两个命令:

chgrp:chgrp命令用来改变文件或目录所属的用户组。
    -c或——changes:效果类似“-v”参数,但仅回报更改的部分;
    -f或--quiet或——silent:不显示错误信息;
    -h或--no-dereference:只对符号连接的文件作修改,而不是该其他任何相关文件;
    -R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理; 
    -v或——verbose:显示指令执行过程;
    
    
chmod:用来变更文件或目录的权限。
    -c或——changes:效果类似“-v”参数,但仅回报更改的部分; 
    -f或--quiet或——silent:不显示错误信息;
    -R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理; 
    -v或——verbose:显示指令执行过程;

在命令执行过程成对权限的改变和指定需要提及用户:

更改权限 chmod  who opt per file
    who:u  g  o  a
    opt:+ - =
    per:r w x

示例:

Linux的文件权限(一)

对于只有读权限时,用户对文件只能读取其中的内容,其他什么都不能做。

Linux的文件权限(一)

当对文件设置只写权限时,用户差看不到文件 ,但是可以写入文件。

Linux的文件权限(一)

删除文件可以用rm命令来删除。删除命令本身与用户文件的权限无关,而是对文件父目录的权限有关。当对父目录没有执行权限的时候,文件一样不能删除。

Linux的文件权限(一)

Linux的文件权限(一)

当用户对文件没有查看权限,但是有执行权限的话,用户还是能进入目录里,但是看不见目录里面的内容。如果用户知道目录里的内容并对内容的文件有权限的话,用户依然可以对内容里的文件进行操作。

当用户对文件只有读权限的话,用户只能看见文件的内容,其余什么操作都不能做。

文件创建时如果输入的权限位数不够,或者是设置文件权限时位数不够,则文件权限默认补位为前面补位,并且补0.

Linux的文件权限(一)

在三个权限的数字可以看出,如果权限为奇数的话,文件肯定有执行权限,如果为偶数的话,肯定没执行权限。

讲权限就不得不说umask值,这是个神奇是数字。他关系到用户创建的默认权限,一般用户的默认umask值为002,管理员为022。

计算文件的权限: umask+default permission=777(目录)|666(文件)

在创建时时文件跟目录的权限时不同的,少一个1,也就是少个执行权限。这也是为了安全,如果每个文件创建时默认都有执行权限,那么久可以随意破坏系统,给管理员带来布标的麻烦。

但如果吧umask值设的有奇数的话,为了保证原来的思想。对于文件而言又附加了一跳程序。

666-umask,如果为奇数,加1。偶数不变。

最后再说一下二进制文件,碎玉二进制文件要是没有读权限一样能执行。 在文件中,要是没有读权限,查看不了文件类型。

Linux的文件权限(一)

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

(0)
上一篇 2017-05-29 19:59
下一篇 2017-05-30 14:05

相关推荐

  • Java输入输出流

    1.什么是IO       Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 &nb…

    Linux干货 2015-04-10
  • 马哥教育网络21期+第三周练习博客

    马哥教育网络21期+第三周练习博客 一.回顾第二周的学习内容 1,Linux上的文件管理类的命令: mkdir:创建目录: [root@localhost ~]# mkdir /tmp/fstab2222 [root@localhost ~]# ls -l /tmp/ total&nbsp…

    Linux干货 2016-07-16
  • 做有高薪有逼格的运维工程师,不会Linux是没有前途的!

    作为互联网的幕后英雄,运维工程师长期隐匿在大众认知范围之外,关于运维的讨论仍旧是一片无人涉足的荒漠。在某知名行业研究调查结果中,非互联网从业者对于运维相关问题的回复有三个高频词汇是:不知道、没听过、网管。当调查人员告诉他们科幻电影中展示黑客高超技巧时的命令行界面正是大多数运维工程师每日工作环境时,他们发出极其一致的惊叹。 相对于普罗大众的一无所知,技术圈对运…

    2017-09-08
  • Lvs+keepalived+httpd+NFS搭建高可用

    自己捯饬的模型图 NAT模型图 注意事项:RealServer需要把网关指向Director,并且Director要打开转发功能命令如下:     echo "1" > /proc/sys/net/ipv4/ip_foreward DR模型图 注意事项:需要在RealServer配置…

    Linux干货 2016-10-25
  • GRUB加密、修复和破解密码实战指南

    GRUB加密、修复和破解密码实战指南 GRUB(Boot Loader) 从系统启动流程可以得知,在BIOS读取相关信息之后,接下来是去第一个可以启动的设备当中的MBR中读取Boot Loader信息,Boot Loader提供具有菜单功能、直接加载内核信息,以及相关的控制权转交功能。所以说系统启动必须要有Boot Loader,然后才能去加载内核。 Boo…

    Linux干货 2016-09-19
  • 搭建路由环境

        五个虚拟机分别模拟三个路由器和两个主机,实现不同网段的主机之间的通信。 1.规定四个网段的ip地址:分别是192.168.1.0/24;192.168.2.0/24;192.168.3.0/24;192.168.4.0/24 2.三个路由器命名为R1、R2、R3。R1的两个网关地址为192.168.1.1和19…

    2017-08-20