zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    UML 依赖泛化关联实现聚合组合的 Java实现
    android 混淆文件proguard.cfg详解
    Java TCP/IP与HTTP协议个人总结(原创)
    OSI与TCP/IP协议区别
    重复造轮没有意义
    mysql的MVCC(多版本并发控制)
    springboot集成spring-session及spring-redis实现session共享
    Redis分布式锁的正确实现方式
    Spring Boot+Spring Security+Spirng Data Jpa实现登录权限验证并实现自动登录
    一次搞定Jpa的@OneToMany和@ManyToMany注解
  • 原文地址:https://www.cnblogs.com/haxianhe/p/9270992.html
Copyright © 2011-2022 走看看