• Linux文件权限概念


    Linux一般讲文件可存取访问的身份分为3个类别,分别是owner、group、others,且3中身份各有read、write、execute等权限。

    1、Linux文件属性

    这里写图片描述
    这里写图片描述

    1.1、 第一列代表这个文件的类型与权限

    第一个字符代表这个文件是“目录、文件或链接文件等”。

    • 若是[d]则是目录。
    • 若是[-]则是文件。
    • 若是[l]则是链接文件。
    • 若是[b]则表示设备文件里面的可供存储的接口设备。
    • 若是[c]则表示设备文件里面的串行端口设备。

    接下来的字符中,以3个位一组,且均为rwx的三个参数的组合。其中[r]代表可读(read),[w]代表可写(write),[x]代表可执行(execute)。需要注意的是,这3个权限的位置不会改变,如果没有权限,就会出现减号[-]而已。

    • 第一组为“文件所有者的权限”
    • 第二组为“同用户组的权限”。
    • 第三组为“其他非本用户组的权限”

    1.2、第二列表示有多少文件名链接到此节点(i-node)

    每个文件都会讲它的权限与属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名就会连接到一个i-node。这个属性记录的就是有多少不同文件名连接到相同的一个i-node号码。

    1.3、其他列含义

    • 第三列表示这个文件(或目录)的“所有者账号”。
    • 第四列表示这个文件的所属用户组。
    • 第五列为这个文件的容量大小,默认单位为B。
    • 第六列为这个文件的创建文件日期或者是默认的最近修改日期。
    • 第七咧为该文件名。

    2、如果改变文件属性与权限

    chgrp:改变文件所属用户组。
    chown:改变文件所有者。
    chamod:改变文件的权限。

    2.1、改变所属用户组:chgrp

    注:要被改变的组名必须在/etc/group文件内存在才行,否则就会显示错误。

    [root@www ~]# chgrp [-R] groupname dirname/filename
    选项与参数:
    -R:进行递归的持续更改。

    2.2、改变文件所有者:chown

    注:用户必须是/etc/passwd这个文件中有记录的用户名才能改变。

    [root@www ~]# chown [-R] ownname dirname/filename
    [root@www ~]# chown [-R] ownname:groupname dirname/filename
    选项与参数:
    -R:进行递归的持续更改。

    2.3、改变权限:chmod

    权限的设置有两种方法,分别可以使用数字或者是符号来进行权限的更改。

    数字类型改变文件权限
    LInux文件的基本权限有9个,分别是owner、group、others三种身份各有自己的read、write、execute权限,使用数字来代表各个权限,各权限的分数对照如下:

    • r:4
    • w:2
    • x:1

    每种身份(owner、group、others)各自的三个权限(r、w、x)分数是需要累加的,例如,当权限为[-rexrwx—],分数则是:

    • owner=rwx=4+2+1=7
    • group=rwx=4+2+1=7
    • others=rwx=4+2+1=7

    所以当我们设置权限的时候,该文件的权限数字就是770,更改权限的命令chmod的语法如下:

    [root@www ~]# chmod [-R] xyz dirname/filename
    选项与参数:
    xyz:就是上文的数字类型权限属性,为rwx属性数值相加。
    -R:进行递归的持续更改。

    符号类型改变文件权限
    可以通过u、g、o来代表3中身份的权限。此外a代表all,也即全部的身份。那么读写的权限就可以写成r,w,x,也就是可以使用下面方式:
    这里写图片描述
    例如:我们要设置一个一个文件的权限为“-rwxr-xr-x”时,基本上就是:

    • user(u)具有可读、可写、可执行的权限;
    • group和others(g/o):具有可读与执行的权限。
    [root@www ~]# chmod u=rwx,go=rx .bashrc

    如果,只想要增加.bashrc这个文件的每个人均可写入的权限,那么:

    [root@www ~]# chmod a+w .bashrc

    如果,要去掉全部人的可执行权限,则:

    [root@www ~]# chmod a-w .bashrc
  • 相关阅读:
    vue 中的键盘事件
    红米k40刷类原生系统
    (历史) 1960s,大家争先在共享内存上实现原子性 (互斥) 但几乎所有的实现都是错的,直到 Dekker's Algorithm,还只能保证两个线程的互斥
    Go Memory Model 内存模型 同步 goroutine
    理解并发程序执行 (Peterson算法、模型检验与软件自动化工具
    源码 连接池 设计
    Thread Exception Captured Application Crash Report
    Check if the context is expired.
    A Quick Guide to Go's Assembler
    敏感问题调查 干扰变量 抛硬币
  • 原文地址:https://www.cnblogs.com/haxianhe/p/9270992.html
Copyright © 2020-2023  润新知