点击返回 自学Linux命令行与Shell脚本之路

7.2-linux文件权限

在linux中每个文件有所有者、所在组、其它组的概念

  • 所有者
    一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者
    用ls ‐ahl命令可以看到文件的所有者
    也可以使用chown 用户名 文件名来修改文件的所有者
  • 所在组
    在linux中的每个用户必须属于一个组,不能独立于组外
    当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
    用ls ‐ahl命令可以看到文件的所有组
    也可以使用chgrp 组名 文件名来修改文件所在的组
  • 其它组
    除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

1. 文件权限符概念

如上图所示做简介:drwxr-xr-x  就表示该文件..的文件权限

  •  第一个字段的字符d表示对象的类型为目录
     d:表示是一个目录,事实上在ext2fs中,目录是一个特殊的文件。
    -:表示这是一个普通的文件。
     l: 表示这是一个符号链接文件,实际上它指向另一个文件。
     b、c:分别表示区块设备和其他的外围设备,是特殊类型的文件。
     s、p:这些文件关系到系统的数据结构和管道,通常很少见到。
  •  剩下的字段分为3组,分别代表 文件属主  属组成员 其他用户 的权限为   rwx  r-x   r-x  

    前三个为属主位:创建该文件者或被指定的文件所属者
    中三个为属组位:文件的所属组,在该组内的非属主用户对该文件拥有该属组权限。
    后三个Other位:other用户,既不属于属主又不在属组的用户

文件权限r  w  x 介绍

  • r(Read,读取)
    对文件而言,具有读取文件内容的权限;
    对目录来说,具有浏览目录的权
  • w(Write,写入):
    对文件而言,具有新增、修改文件内容的权限;
    对目录来说,具有删除、移动目录内文件的权限。
  • x(eXecute,执行):
    对文件而言,具有执行文件的权限;
    对目录了来说该用户具有进入目录的权限。
  • -:表示不具有该项权限。

文件中rwx的具体含义:

  • r:可以使用类似cat等命令查看文件内容
  • w:可以编辑或删除此文件
  • x:可以在命令提示符下当做命令提交给内核运行

目录中rwx的具体含义:

  • r:可以对此目录执行ls以列出内部的所有文件
  • w:可以在此目录创建文件:
  • x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息

举例说明:
rwx------: 文件所有者对文件具有读取、写入和执行的权限。
-rwxr―r--: 文件所有者具有读、写与执行的权限,其他用户则具有读取的权限。
-rw-rw-r-x: 文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。
drwx--x--x: 目录所有者具有读写与进入目录的权限,其他用户近能进入该目录,却无法读取任何数据。
drwx------: 除了目录所有者具有完整的权限之外,其他用户对该目录完全没有任何权限。

特别注意:

当删除或移动一个文件或目录,仅与该文件与目录所在的上一层目录权限有关,与该文件本身属性没有任何关系。对于文件来说,写文件是修改文件,而不是删除文件,因此写文件是与该文件的本身属性有关的。

默认文件权限

使用命令umask改变文件及目录的默认权限

Linux系统中,文件的默认权限是由umask确定的。在/etc/login.defs文件中可以查看umask在不同目录下的默认权限值。

000

 --- 对应八进制0 没有任何权限
001  --x 对应八进制1

只有执行权限

010

 -w- 对应八进制2 只有写入权限
011  -wx 对应八进制3 有写入和执行权限
100  r-- 对应八进制4

只有读取权限

101  r-x 对应八进制5 有读取和执行权限
110  rw- 对应八进制6 有读取和写入权限
111  rwx  对应八进制7 有全部权限

umask命令查看默认权限

umask  不加参数得出的 0022    第一位0表示安全特性叫粘着位,剩下3个数字表示文件或目录对应的umask的八进制值
创建文件时,默认最大权限是666,创建文目录最大权限是777,然后根据umask值,计算对应权限。
所以实例创建文件最大权限666减去usmak数值022得出的数值才是文件权限 = 644      等价于  rw-r--r--

umask命令设置文件的默认权限

umask命令设置目录的默认权限

umask设置为026,给新的目录newdir01, 对应的权限应该是777-026=751  等价于 wrxr-x--x

2. 改变权限chmod

  • chmod可以用来改变文件或目录权限的命令,但只有文件的属主和超级用户root才有这种权限。
  • 若同时更改多个所属对象权限,中间用“空格”隔开

通过chmod改变文件或目录的权限有两种办法:

  • 一是通过权限字母和操作符表达式的方法来设置权限

         u 属主       g 属组     o 其它用户
                   + 增加        - 减去      = 设置
                   r 读             w 写        x 执行

  • 另一种是通过使用数字方法来设置权限

        chmod [数字组合] 文件名
                  -R 可以改变某个目录下所有文件的属性     4 读      2 写        1 执行       0 无权限

 

原来文件carlos01 caelos02的权限都是无权限,后来在原权限其他用户组追加r读权限,所以变成r--  ,,若想在carlos01的所属组在追加w权限,carlos02的其他用户组减去r读权限怎么操作?

3. 改变所属关系命令chown chgrp

当我们要改变一个文件的属组,我们使用的用户必须是文件的属组而且同时是目标属组的成员,或超级用户。
只有超级用户才能改变文件的属主。

  • chown命令改变文件的属主
    将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。
    因为chown既可以改属主又可以改属组所以下面这个chgrp命令很少用
  • chgrp命令可以改变文件默认属组

语法:       chown [选项] [所有者][:[组]] 文件  #:可以被.代替

  • user : 新的文件拥有者的使用者 ID
  • group : 新的文件拥有者的使用者群体(group)
  • -c : 若该文件拥有者确实已经更改,才显示其更改动作
  • -f : 若该文件拥有者无法被更改也不要显示错误讯息
  • -h : 只对于连结(link)进行变更,而非该 link 真正指向的文件
  • -v : 显示拥有者变更的详细资料
  • -R : 对目前目录下的所有文件与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
  • --help : 显示辅助说明
  • --version : 显示版本

自学Linux Shell7.2-linux文件权限的更多相关文章

  1. 【转】linux查看及修改文件权限以及相关

    linux查看及修改文件权限以及相关 查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有 ...

  2. 【Linux学习】Linux下用户组、文件权限详解

    原文地址:http://www.cnblogs.com/123-/p/4189072.html Linux下用户组.文件权限详解 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在li ...

  3. linux查看及修改文件权限以及相关

    linux查看及修改文件权限以及相关 查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名)那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有1 ...

  4. linux用户管理和文件权限

    linux用户管理和文件权限 新建用户:useradd ftpuser      useradd -g gxx userxx修改密码:passwd ftpuser新增用户组:# groupadd gr ...

  5. (转)Mysql数据库之Binlog日志使用总结Linux下用户组、文件权限详解

    Linux下用户组.文件权限详解 原文:http://blog.csdn.net/sdulibh/article/details/51566772 用户组 在linux中的每个用户必须属于一个组,不能 ...

  6. Linux - 用户管理与文件权限

    目录 Linux - 用户管理与文件权限 创建普通用户 切换用户 userdel删除用户 sudo 命令 文件与目录权限 Linux权限的解读 目录权限 查看用户权限的命令 文件权限 修改权限的命令 ...

  7. Linux 用户管理 与 文件权限

    Linux 用户管理 与 文件权限 用户组操作 1.groupadd命令 groupadd [-g -o] gid group 各个选项具体含义如下: -g:指定新建用户组的GID号,该GID号必须唯 ...

  8. Linux用户体系和文件权限总结

    一.           Linux系统用户和用户组相关文件 1.  /etc/passwd文件 这个passwd文件是Linux用户信息文件.文件格式说明如下: root:x:0:0:root:/r ...

  9. Linux下用户组、文件权限详解

    在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创 ...

  10. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

随机推荐

  1. 在线图标制作,格式转换 ICON

    在线图标制作,格式转换 https://www.easyicon.net/covert/

  2. [Oracle][Metadata]如何查找与某一个功能相关的数据字典名

    当Oracel的一个新功能出来的时候,我们可能不知道所有与此功能关联的数据字典名称,那么如何才能得到这些 meta data 的 meta data 呢? 可以通过 dicitonary 来查看: 例 ...

  3. ETL流程介绍及常用实现方法

    ETL是英文Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.常见于数据仓库开发中将数 ...

  4. 微信小程序 canvas 绘图问题总结

    业务中碰到微信小程序需要生成海报进行朋友圈分享,这个是非常常见的功能,没想到实际操作的时候花了整整一天一夜才搞好,微信的 canvas 绘图实在是太难用了,官方快点优化一下吧. 业务非常简单,只需要将 ...

  5. bootstrap datetimepicker 格式化yyyymmdd时,无法读取yyyymmdd格式

    不知为何,java程序员爱用yyyymmdd格式化日期?导致bootstrap datetimepicker无法解析正确的日期 发现js中yyyymmdd不是正常能够解析的日期 查看datetimep ...

  6. Wechat login authorization(OAuth2.0)

    一.前言 昨天小组开了个会,让我今天实现一个微信网页授权的功能,可以让用户在授权之后无需再次登录既可进入用户授权界面.在这之前我也从没接触过微信公众号开发之类的,也不知道公众号后台是啥样子的,自己所在 ...

  7. SpringBoot日记——ElasticSearch全文检索

    看到标题的那一串英文,对于新手来说一定比较陌生,而说起检索,应该都知道吧. 这个ElasticSearch目前我们的首选,他主要有可以提供快速的存储.搜索.分析海量数据的作用.他是一个分布式搜索服务, ...

  8. 如何在《救赎之路》中使用CPU粒子效果

    Unreal游戏引擎4.19版本的发布,可以使得游戏可以更好地利用Intel多核心处理器的性能,以提供更精彩的游戏体验.这里以<救赎之路>这款优秀的国产独立游戏为例说明如何在游戏中使用CP ...

  9. Spring RPC 入门学习(3)-插入Student对象

    Spring RPC 向后台传递对象 1. 新建RPC接口:StudentInterface.java package com.cvicse.ump.rpc.interfaceDefine; impo ...

  10. sixsix团队M2阶段Postmortem

    设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 要解决的问题:目前外卖网站比较多,用户很难快速找到合适的外卖,我们集合各个网站的外卖信息,为用户提 ...