zoukankan      html  css  js  c++  java
  • Liunx学习笔记(三) 文件权限

    一、文件权限

    1、查看文件权限

    (1)文件权限

    在 Linux 中对于文件有四种访问权限,列举如下:

    • 可读取:r,Readable
    • 可写入:w,Writable
    • 可执行:x,Execute
    • 无权限:-

    另外,在 Linux 中对于权限的设置有三组对象,列举如下:

    • 所有者:u,User
    • 所属组:g,Group
    • 其他用户:o,Other

    (2)查看文件权限

    我们可以使用 ls -l 文件名 命令查看一个文件的权限,其中每一行显示内容的第一个字段就是对文件权限的描述

    例如:

    user@ubuntu:~$ ls -l
    total 8
    drwxrwxr-x 2 user user 4096 Sep 12 16:05 test
    -rw-rw-r-- 1 user user   12 Sep 12 16:00 test.txt
    

    其中,test.txt 文件的权限表示为 -rw-rw-r--

    第 1 个字符 - 表示 文件类型 为普通文件

    第 2~4 个字符 rw- 表示 所有者权限 为可读取,可写入,不可执行

    第 5~7 个字符 rw- 表示 所属组权限 为可读取,可写入,不可执行

    最后,第 8~10 个字符 r-- 表示 其它用户权限 为可读取,不可写入,不可执行

    再补充一下其它文件类型的符号表示:

    • -:普通文件

    • b:块设备文件,块设备简单来说就是存储数据的接口设备,例如硬盘

    • c:字符设备文件,字符设备简单来说就是串行端口设备,例如键盘、鼠标

    • d:目录

    • l:链接文件,原文件的软链接,相当于 Windows 下的快捷方式

    • p:管道文件,常用于进程通信

    • s:套接字文件,常用于网络通信

    2、修改文件权限

    (1)权限表示方法

    ① 数字表示法

    将所有者、所属组和其他用户的访问权限分别转化为八进制数字,再根据八进制数字转化为十进制数字

    有相应的权限数字表示为 1,反之为 0,例如:rwxrwxr-x -> (111)(111)(101) -> (7)(7)(5) -> 775

    ② 文字表示法

    所有者使用 u 表示、所属组使用 g 表示、其他用户使用 o 表示;

    读取权限使用 r 表示、写入权限使用 w 表示、执行权限使用 x 表示

    (2)修改文件权限

    在 Linux 中修改文件权限可以使用 chmod 命令,具体使用方法如下:

    ① 对于数字表示法

    语法格式:

    chmod 数字表示法 文件名
    

    例如:chmod 664 file.txt

    ② 对于文字表示法

    语法格式:

    chmod 文字表示法的权限修改 文件名
    

    例如:

    增加所有者的执行权限:chmod u+x file.txt

    减少所属组的写入权限:chmod g-w file.txt

    重新指定其他用户的访问权限:chmod o=rw file.txt

    (3)目录权限

    修改目录权限所使用的命令以及语法和上面是完全一致的,不同之处在于符号含义的差异

    r:可以使用 ls 命令列出目录中的内容

    w:可以在目录中新建、删除、修改文件

    x:可以只用 cd 命令切换到目录

    -:无任何权限

    注意:若修改目录权限时发现该目录含有子目录并需要一同修改的,则需要使用 -R 参数

    3、权限掩码

    权限掩码由 4 个八进制数字组成,用来指定新建文件或目录的默认权限

    权限掩码和默认权限之间的关系如下:默认权限 - 权限掩码 = 新建文件或目录的默认权限

    在 Linux 下,文件的默认权限为 666,目录的默认权限为 777,而默认的权限掩码为 002

    所以,新建文件的默认权限为 666 - 002 = 664,新建目录的默认权限为 777 - 002 = 775

    我们可以使用 umask 命令检查和修改默认的权限掩码

    【Linux学习笔记相关文章】

    版权声明:本博客属于个人维护博客,未经博主允许不得转载其中文章。
  • 相关阅读:
    Ubuntu 14.04的SWAP 为0
    堆和栈的区别(转过无数次的文章)
    加法乘法判断溢出(转)
    大端格式、小端格式(转)
    Linux 目录操作和4中文件拷贝效率测试
    Linux使用标准IO的调用函数,分3种形式实现
    支持 onload 事件的元素
    $().each() 和 $.each()
    npm install --save 与 npm install --save-dev 的区别
    <!DOCTYPE html>作用
  • 原文地址:https://www.cnblogs.com/wsmrzx/p/9665391.html
Copyright © 2011-2022 走看看