Linux运维学习笔记-文件权限知识总结

权限总结:

1、 可读r:表示具有读取阅读文件内容的权限;

2、 可写w:表示具有新增、修改文件内容的权限;

a、 若果没有r配合,那么vi编辑文件会提示无法编辑(但可以强制编辑),echo可以重定向或追加;

b、 特别提示:删除文件(修改文件名等)的权限式受父目录的权限控制,和文件本身权限无关;

3、 可执行x:表示具有执行文件的权限;

a、 文件本身要能够执行;

b、 普通用户同时还需要具备r的权限才能执行;

c、  root只要有x的权限就能执行。

目录读写执行权限说明:

1、 可读r:表示具有浏览目录下面文件及子目录的权限,即ls dir。

a、 如果没有x权限,不能进到目录里,即无法cd dir。

b、 如果没有x权限,ls列表时可以看到所有文件名,但是会提示无权访问目录下文件。

c、  如果ls -l列表,所有的属性会带问号,也会提示无权访问目录下文件,但可以看到所有文件名。

2、 可写w:表示具有增加、删除或修改目录内文件名(一般指文件名)的权限(需要x权限配合)。

3、 可执行x:表示具有进入目录的权限;例如:cd dir。但是没有r无法列表文件及目录,没有w无法新建和删除。

 

chmod命令总结:

 

设置特殊权限位:
chmod u+s xxx # 设置setuid权限 
chmod g+s xxx # 设置setgid权限 
chmod o+t xxx # 设置stick bit权限,针对目录 
chmod 4775 xxx # 设置setuid权限 
chmod 2775 xxx # 设置setgid权限 
chmod 1775 xxx # 设置stick bit权限,针对目录

Note:文件默认权限为666,目录默认权限为777,umask 022

特殊权限位基本说明

Linux系统基本权限位为9位权限,但还有额外3位权限位,共12位权限:

suid               s(有x)    S     4     用户对应的权限位(用户对应的3位上)

sgid               s(有x)    S     2     用户组对应的权限位(用户组对应的3位上)

sticky             t(有x)    S     1     其他用户对应的权限位(其他用户对应的3位上)

suid特殊权限的作用即当相应权限位上有该特殊权限时,对应位上的用户可以以root(或其他)的用户角色运行只有root(或其他)账号才能允许的程序或命令,或程序命令对应本来没有权限操作的文件等。

Note:仅对二进制命令程序有效,不能再shell等类似脚本文件上(因为shell脚本仅仅是调用二进制命令程序而已,因此,具体权限还需要看二进制命令本身);二进制命令程序需要有可执行权限x配合。

sgid

1、 linux里默认情况所有用户创建文件,默认用户和组都是自身。

2、 sgid可以让用户在此目录下创建的文件和目录,具有和此目录相同的用户组设置。

setgid位主要用在目录中,当为某个目录设置了setgid位以后,在该目录中新创建的文件具有该目录的所属组权限,而不是创建该文件的用户的默认所有者。这样,使得在多个用户之间共享一个目录中的文件变得简单。提示:用八进制数2000表示setgid权限位。

stick

针对目录来说的,如果该目录设置了stick bit(粘滞位),则该目录下的文件除了该文件的创建者和root用户可以删除和修改/tmp目录下的stuff,别的用户均不能动别人的,这就是粘滞位的作用。

Note:有时设置了st 权限,会发现它变成了ST,这是因为在那个位置上没有给它x(可执行)的权限,这样的话这样的设置是不会有效的,可以先给它赋上x的权限,然后再给st 的权限。

原文地址:https://www.cnblogs.com/tcheng/p/8595310.html