Linux文件/目录访问权限管理

一、Linux文件和目录权限管理

1、权限说明:

Linux文件/目录访问权限管理

  (1)r:表示具有读取文件内容的权限;

  (2)w:表示具有新增,修改文件内容的权限;

  (3)x:表示具有执行文件的权限,同时需要有r权限;

2、目录权限说明;

  (1)r:表示具有浏览目录下有哪些文件的权限,必须同时用x权限才可以;

  (2)w:表示具有新增、删除、移动目录内容文件的权限,同时需要有x权限;

  (3)x:表示具有进入目录的权限;

3、权限获取顺序

先看用户是不是文件所有者,再看是不是所属组,最后看是不是其他用户,如果是其中一个,就有权限;

对普通用户来说,没有权限是不能访问资源的;

读写权限对root用户不受限制,但x权限受控制;

需要注意的是:对root用户来说,如果root没有x权限,只要属组和其他有x权限,root用户就能执行,而普通用户不行;

4、文件/目录的属主、属组和其他用户

  有3种不同类型的用户可对文件和目录进行访问:文件所有者(属主)、同组用户(属组)、和其他用户(其他人),所有者一般指文件的创建者,该类用户可以将文件的访问权限赋予系统中的其他用户

二、文件和目录的默认权限与umask

  (1)root用户默认umask为022,普通用户默认为002

  (2)umask表示用户创建文件的默认权限,目录的最高权限为777,文件最高666;

  (3)目录默认权限=777-umask;文件默认权限=666-unamk,所得结果奇数位加1

  (4)目录新创建后的默认权限是755,文件创建后的默认权限是644;

三、改变文件/目录的访问权限——chmod

(1)文字设定法:

格式:chmod  [who][+][-][=][mode]   filename

操作对象:

  •  u表示“用户(user)”及文件或目录的所有者。

   g表示“同组(group)”及文件或目录属主有相同组ID的所有用户。

   • o表示“其他(others)用户”

  •  表示“所有用户(all)”

操作符号:

  + :添加某个权限。

  -  :取消某个权限。

  = :赋予给定权限并取消其他所有权限。

设置mode所表示的权限:

  r 读取权限,数字代号为“4”;
  w 写入权限,数字代号为“2”;
  x 执行或切换权限,数字代号为“1”;

(2)数字设定法:

格式:chmod  [mode]    filename

四、更改文件/目录的所有权——chown

格式:chown  [option]  [user|group]  filename

选项:

-c或——changes:效果类似“-v”参数,但仅回报更改的部分; -f或--quite或——silent:不显示错误信息; -h或--no-dereference:只对符号连接的文件作修改,而不更改其他任何相关文件; -R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理; -v或——version:显示指令执行过程; --dereference:效果和“-h”参数相同;

五、Linux系统文件的特殊权限(SUID,SGID,Sticky)

Set UID

当s这个标志出现在文件所有者的x权限上时,例如 “-rwsr-xr-x” ,此时被称为Set UID,简称为SUID的特殊权限。

SUID权限仅对二进制程序有效;

执行者需要对此程序具有x的可执行权限;

本权限仅在执行该程序的过程中有效;

执行者将具有该程序所有者的权限;

Set GID

SGID可以针对文件或目录设置。

当s标志出现在用户组的x权限上时,例如“-rwx–s–x”为Set GID,简称为SGID的特殊权限,SGID可以针对文件或目录设置。

对于文件来说:SGID对二进制程序有用;程序执行者对于该程序来说,须具备x的可执行权限;执行者在执行的过程中将会获得该程序用户组的支持;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdxwz.html