• 【Linux】文件权限详解


    🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁

    🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁

    🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥

    🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁

    感谢点赞和关注 ,每天进步一点点!加油!

    目录

    🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁

    一、权限的基本介绍

    1.1 Linux文件属性

    1.2 Linux组介绍

    1.3 rwx权限

    1.3.1 rwx作用到文件

    1.3.2 rwx作用到目录

    1.4 文件及目录权限实际案例

    二、修改权限-chmod[change ...]

    2.1 第一种方式:+ 、-、= 变更权限

    2.2 第二种方式:通过数字变更权限

    三、修改文件所有者-chown

    四、修改文件所在组-chgrp


    一、权限的基本介绍


    1.1 Linux文件属性


    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。

    执行"ll"命令显示的内容如下:

    1. [root@devops test]# ll
    2. total 4
    3. -rw-r--r-- 1 root root 7 Apr 25 19:12 file.txt
    4. [root@devops test]#

    说明

    (1)第0位确定文件类型 ,说明:

    • -: 普通文件
    • d: 目录
    • l: 连接文件
    • c: 字符设备文件[键盘,鼠标]
    • b: 块设备文件[硬盘] ) 。

    (2) 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。 R: 读 , w : 写权限 ,x: 执行权限 (-表示没有)。

    (3) 第4-6位确定所属组(同用户组的)拥有该文件的权限 。

    (4) 第7-9位确定其他用户拥有该文件的权限 。

    (5) 1: 如果是文件,表示硬链接的数目, 如果是目录,则表示有多少个子目录 。

    (6) root : 文件或者目录所有者。

    (7) root : 文件或者目录所在的组。

    (8) 7 : 表示文件大小,如果是目录,则统一为 4096 。

    (9) Feb 25 09:39 文件最后修改的时间。

    1.2 Linux组介绍


    在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件 有所有者、所在组、其它组的概念。

    1.3 rwx权限


    1.3.1 rwx作用到文件

    1. [ r ]代表可读(read):可以读取,查看
    2. [ w ]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
    3. [ x ]代表可执行(execute):可以被执行

    1.3.2 rwx作用到目录

    1. [ r ]代表可读(read): 可以读取,ls查看目录内容
    2. [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
    3. [ x ]代表可执行(execute): 可以进入该目录

    1.4 文件及目录权限实际案例


    执行"ls -l "中显示的内容如下:

    -rw-r--r-- 1 root root 29 Sep 29 13:02 abc.txt

    说明:

    • 第一个字符代表文件类型: 文件 (-),目录(d),链接(l) ,如上是文件
    • 第一组rw- : 文件拥有者的权限是读、写,但不能执行
    • 第二组r-- : 与文件所在组的用户的权限是读, 但不能写和执行
    • 第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行

    可用数字表示为: r=4,w=2,x=1 因此rw =4+2=6

    • 1 文件:硬连接数或 目录:子目录数(有两个隐藏目录 .(代表当前目录) ..(代码上级目录),所以你数的个数会少两个 )
    • root : 用户
    • root : 组
    • 29: 文件大小(字节 多一个结束符),如果是文件夹,显示 4096字节 (并不是代表目录下面所有文件的大小,它代表的是目录本身所占空间的大小(目录是一种特殊的文件))
    • Sep 29 13:02 最后修改日期
    • abc.txt : 文件名

    二、修改权限-chmod[change ...]


    文件类型

    属主权限

    属组权限

    其他用户权限

    0

    1 2 3

    4 5 6

    7 8 9

    d

    R w x

    R - x

    R - x

    目录文件

    读 写 执行

    读 写 执行

    读 写 执行

    基本说明:

    通过chmod指令,可以修改文件或者目录的权限。

    2.1 第一种方式:+ 、-、= 变更权限


    1. u:所有者(user) g:所有组(group) o:其他人(other) a:所有人(u、g、o的总和)(all)
    2. 1) chmod u=rwx,g=rx,o=x 文件、目录 【表示:给所有者rwx, 给所在组的用户 rx, 给其他人 x】
    3. 2) chmod o+w 文件、目录 【表示:给其它用户增加w 的权限】
    4. 3) chmod a-x 文件、目录 【表示:给所有用户 去掉 x权限】

    案例演示一

    说明:给abc.txt文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。

    1. [root@hdp105 test]# ll
    2. total 4
    3. -rw-r--r-- 1 root root 29 Sep 29 13:21 abc.txt
    4. [root@hdp105 test]# chmod u=rwx,g=rx,o=rx abc.txt
    5. [root@hdp105 test]# ll
    6. total 4
    7. -rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt

    案例演示二

    说明:给abc..txt文件的所有者除去执行的权限,增加组写的权限

    1. [root@hdp105 test]# ll
    2. total 4
    3. -rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt
    4. [root@hdp105 test]# chmod u-x,g+w abc.txt
    5. [root@hdp105 test]# ll
    6. total 4
    7. -rw-rwxr-x 1 root root 29 Sep 29 13:21 abc.txt

    2.2 第二种方式:通过数字变更权限


    文件类型

    属主权限

    属组权限

    其他用户权限

    0

    1 2 3

    4 5 6

    7 8 9

    d

    R w x

    R - x

    R - x

    目录文件

    读 写 执行

    读 写 执行

    读 写 执行

    • r=4 w=2 x=1
    • rwx=4+2+1=7
    1. chmod u=rwx,g=rx,o=x 文件、目录
    2. 相当于 chmod 751 文件、目录 ( 7(rwx)5(rx)1(x) )

    案例演示

    要求:将 abc.txt 文件的权限修改成 rwxr-xr-x

    1. rwx = 4+2+1 = 7
    2. r+x = 4+1 = 5
    3. r+x = 4+1 = 5

    使用给数字的方式实现:

    chmod 755 abc.txt


    三、修改文件所有者-chown


    基本介绍

    1. chown newowner file 改变文件的所有者
    2. chown newowner:newgroup file 改变用户的所有者和所有组
    3. -R 如果是目录 则使其下所有子文件或目录递归生效

    案例演示一

    说明:请将 abc.txt 文件的所有者修改成 kangll

    1. [root@hdp105 test]# useradd kangll
    2. [root@hdp105 test]# ll
    3. total 4
    4. -rwxr-xr-x 1 root root 29 Sep 29 13:21 abc.txt
    5. [root@hdp105 test]# chown kangll abc.txt
    6. [root@hdp105 test]# ll
    7. total 4
    8. -rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
    9. [root@hdp105 test]#

    案例演示二

    要求: 将 /hadoop/kangll/test 目录下所有的文件和目录的所有者修改成kangll

    1. [root@hdp105 test]# ll /hadoop/kangll/test
    2. total 8
    3. -rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
    4. -rw-r--r-- 1 root root 29 Sep 29 15:10 bbb.txt
    5. [root@hdp105 test]#
    6. [root@hdp105 test]# chown -R kangll /hadoop/kangll/test
    7. [root@hdp105 test]#
    8. [root@hdp105 test]#
    9. [root@hdp105 test]# ll
    10. total 8
    11. -rwxr-xr-x 1 kangll root 29 Sep 29 13:21 abc.txt
    12. -rw-r--r-- 1 kangll root 29 Sep 29 15:10 bbb.txt

    案例演示三

    要求: 将test下的所有文件和目录的所有者都改成 kangll,将所在组改成hadoop


    四、修改文件所在组-chgrp


    基本介绍

    chgrp newgroup file  改变文件的所有组

    案例演示:

    要求:将 abc .txt 文件的所在组修改成 hdfs

    1. [root@hdp105 test]#
    2. [root@hdp105 test]# chown -R kangll:hdfs /hadoop/kangll/test
    3. [root@hdp105 test]#
    4. [root@hdp105 test]# ll
    5. total 8
    6. -rwxr-xr-x 1 kangll hdfs 29 Sep 29 13:21 abc.txt
    7. -rw-r--r-- 1 kangll hdfs 29 Sep 29 15:10 bbb.txt

  • 相关阅读:
    为什么引用CSS的link标签放在头部,引用JS的script标签放在body结束标签之前?
    【LeetCode与《代码随想录》】数组篇:做题笔记与总结-Java版
    如何理解相位噪声与时间抖动的关系?
    【数据结构】LeetCode栈和队列经典题型
    基于SSM开发网上书店商城购物系统
    push apk到真机出现remote couldn‘t create file: Read-only file system
    Debian常用命令
    【Axure 答疑】页面滚动到一定位置显示功能按钮
    智能传感器有何不同?工业网关能用吗?
    nginx出现: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误
  • 原文地址:https://blog.csdn.net/qq_35995514/article/details/133521435