Linux_文件权限控制

Linux系统的文件权限控制

一、文件权限理论认知

  1. 文件权限代表字符含义

    • 【代表数字-4】" r " :英语read的缩写,具有查询权限,就是说可以阅读相关文件。
    • 【代表数字-2】" w " :英语write的缩写,具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,重命名此目录下文件和目录,剪切,复制等(touch、rm、mv、cp)。
    • 【代表数字-1】" x " :英语execute的缩写,表示"执行",就是说明可以运行这个文件。
    • " - ":代表是文件。
    • " d ":代表是目录
    • " l ":代表是软连接
    • ” + “:加号,表示添加权限;
    • ” - ":减号,表示去除权限;
    • “ = ":等号,表示分配权限。
  2. 文件权限代表字符串含义

    # 示例:drwxrwxrwx
    # 构成:文件属性 + (u-user)所有者权限 + (g-group) 群组权限 + (o-other) 其他人的权限
    
  3. 常见的数字权限

    • 777 — 代表所有人都对该文件拥有完全的权限
    • 755 — 可执行文件的常用权限
    • 644 — 普通文件的常用权限

一、文件权限操作指令

  1. 查看文件的权限代码

    ls -l
    
  2. 修改文件夹的权限代码

    # linux chmod
    # 示例:修改文件或目录的权限属性
    # 给文件 test.txt 的所有者增加读和运行的权限。
    chmod u+rx test.txt
    
    # 给文件 test.txt 的群组其他用户增加读的权限。
    chmod g+r test.txt
    
    # 给文件 test.txt 的其他用户移除读的权限。
    chmod o-r test.txt
    
    # 给文件 test.txt 的群组其他用户增加读的权限,其他用户移除读的权限。
    chmod g+r o-r test.txt 
    
    # 给文件 test.txt 的群组其他用户和其他用户均移除读的权限。
    chmod go-r test.txt 
    
    # 给给文件 test.txt 的所有用户增加运行的权限。
    chmod +x test.txt 
    
    # 给文件 test.txt 的所有者分配读,写和执行的权限;
    # 给群组其他用户分配读的权限,不能写或执行;
    # 给其他用户不分配任何权限。
    chmod u=rwx,g=r,o=- test.txt 
    
    # 语法 chmod [-cfvR] [--help] [--version] mode file...
    # u表示该文件的拥有者,g表示与该文件的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。
    # + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    # r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
    # -c : 若该文件权限确实已经更改,才显示其更改动作
    # -f : 若该文件权限无法被更改也不要显示错误讯息
    # -v : 显示权限变更的详细资料
    # -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
    # --help : 显示辅助说明
    # --version : 显示版本
    
    # linux chown
    # 示例:修改文件或目录所属用户和组
    chown -R root:root /test.txt
    # chown -R (所有者):(群组) /文件名
    
    # 语法: chown [-cfhvR] [--help] [--version] user[:group] file...
    # 参数:
    # user : 新的文件拥有者的使用者 ID
    # group : 新的文件拥有者的使用者组(group)
    # -c : 显示更改的部分的信息
    # -f : 忽略错误信息
    # -h :修复符号链接
    # v : 显示详细的处理信息
    # -R : 处理指定目录以及其子目录下的所有文件
    # --help : 显示辅助说明
    # --version : 显示版本
    
    # linux chgrp 
    # 与 chown 命令不同,chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员。
    # 示例:改变文件的群组属性(将root群组改成bin群组)。
    chgrp -v bin log2012.log
    
    # 语法1:chgrp [-cfhRv][--help][--version][所属群组][文件或目录...]
    # 语法2:chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...]
    # 参数:
    # -c 或 --changes:效果类似"-v"参数,但仅回报更改的部分。
    # -f 或 --quiet 或 --silent:  不显示错误信息。
    # -h 或 --no-dereference:  只对符号连接的文件作修改,而不改动其他任何相关文件。
    # -R 或 --recursive:  递归处理,将指定目录下的所有文件及子目录一并处理。
    # -v 或 --verbose:  显示指令执行过程。
    # --help:  在线帮助。
    # --reference=<参考文件或目录>:  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
    # --version:  显示版本信息。
    
  3. 注意:删除文件需要什么样的权限:

    删除一个具体的文件并不需要文件的rwx权限,但是必须获得其父文件夹的rwx权限才行。

    # 文件夹查看相关linux指令
    # 查看:ls、
    # 修改:touch、rm、mv、cp
    
    # 文件查看相关linux指令
    # 查看:cat、more、head、tail
    # 修改:vi、echo
    

你可能感兴趣的:(Linux,linux,服务器,运维)