所属者/所属组/其他用户权限的字符以及进制表示 所属者/所属组/其他用户权限的字符表示 二进制表示 八进制表示 ---0000--x0011-w-0102-wx0113r--1004r-x1015rw-1106rwx1117
chmod [选项] [ugoa][+-=][rwx] 文件或目录...
chmod [选项] nnn 文件或目录...
-R ,递归修改指定目录下所有文件、子目录的权限。
ugoa :表示权限设置所针对的用户类别,可以是其中字母中的一个或组合,u(user)表示文件或目
录的属主(所有者);g(group)表示属组内的用户;o(others)表示其他用户;a(all)表示所有用户(即
u+g+o)。
+或-或= :表示设置权限的操作动作,+代表添加某个权限;-代表取消某个权限;=表示只赋予给定
的权限,并取消原有的权限。
rwx :用字符形式表示的所设置的权限,可以是其中一个字母或组合。
nnn :用三位八进制数字表示的权限。
chown [选项] 新属主[:[新属组]] 文件或目录……
-R 可递归设置指定目录下的全部文件(包括子目录和子目录中的文件)的所属关系。
chown [选项] :新属组 文件或目录……
chgrp [选项] 新属组 文件或目录……
在Linux系统中,用户对文件或目录的访问权限除了r、w、x三种一般权限外,还有SET UID(SUID)、SET GID(SGID)、Sticky Bit(粘滞位)三种特殊权限,用于对文件或目录进行更加灵活方便的访问控制。
是为了让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得该程序文件所属者的权限。
■student 在执行 passwd 修改自己的密码时, 其修改的密码, 最终是需要保存到 /etc/shadow 这个文件中, 而这个文件的权限是 --------- ,它的拥有者是 root ,也只有 root 可以“ 强制” 存储, 其他 用户连看都不行。
可偏偏 student 去执行 passwd (/usr/bin/passwd) ,却可以更新自己的密码。 这就是因为有 s 权限的存在,当 s权限在拥有者的权限位上时, 即如 -rwsr-xr-x 这样时, 称为 SUID 。SUID 即 Set UID , UID 指的是拥有者的的 ID, 而这个程序 (/usr/bin/passwd) 的拥有者为 (root) 。
[root@node13 ~]# which passwd
/usr/bin/passwd
[root@node13 ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 33600 Apr 7 2020 /usr/bin/passwd
suid仅对二进制文件有效。
在执行过程中,调用者会暂时获得该文件的所有者权限。
该权限只在程序执行的过程中有效。
该如何查询整个系统中设置了 SUID 的文件呢 ?
find / -perm /4000
#0 表示为无的权限
#4 代表拥有者的 s 权限位
#/4000 代表权限至少是4000
该如何查询整个系统中设置了 SGID 的文件呢 ?
find / -perm /2000
#0 表示为无的权限
# 2 代表所属组的 s 权限位
# /2000 代表权限至少是2000
简介:Sticky Bit (SBit) 当前只针对目录有效, 对文件没有效果。 对目录的作用如下:
第一位特权的标志数字详解说明表 0 第一位则是特殊权限的标志数字 1 表示只设置sticky 2 表示只设置GUID权限 3 表示只设置SGID和sticky权限 4 表示只设置SUID权限 5 表示只设置SUID和sticky权限 6 表示只设置SUID和SGID 7 表示同时设置SUID、GUID、sticky3种权限