linux 权限管理
文件的权限的三类对象定义
- owner:属主 u
- group:属组 g
- other:其他 o
文件的三种权限
- r:readable
- w:writeable
- x:excutable
文件
- r:可使用文件查看类工具获取内容
- w:可修改其内容
- x:可以把此文件提请内核启动为一个进程
目录:
- r:可以使用ls查看此目录中文件列表
- w:可在此目录中创建文件,也可删除此目录中的文件
- x:可以使用ls -l查看此目录中的文件列表,可以cd进入此目录
权限与数字对应关系
--- 000 0 --x 001 1 -w- 010 2 -wx 011 3 r-- 100 4 r-x 101 5 rw- 110 6 rwx 111 7 例如:640:rw-r-----
chmod:修改文件权限
chmod [OPTION]... OCTAL-MODE FILE... -R:递归修改权限 chmod [OPTION]... MODE[,MODE]... FILE... MODE:修改一类用户的所有权限: u= g= o= ug= a= #所有 u=,g= 修改一类用户某位或某些位权限 u+ u-
chown:修改文件的属主
chown [OPTION]... [OWNER][:[GROUP]] FILE... -R:递归
chgrp:修改文件的属组
chgrp [OPTION]... GROUP FILE... chgrp [OPTION]... --reference=RFILE FILE...
umask :查看文件或目录创建时的遮罩码
FILE:666-umask ps:如果某类的用户的权限减得的结果中存在x权限,则将其权限+1 DIR:777-umask umask:查看 umask #:设定 仅对当前用户的当前shell进程有效
Linux文件系统上的特殊权限
安全上下文
ps:进程有属主和属组,文件有属主和属组
- 任何一个可执行文件能不能启动为进程,取决于发起者对程序文件是否拥有执行权限
- 启动为进程之后,其进程的属主为发起者,属组为发起者所属的组
- 进程访问文件时的权限,取决于进程的发起者
进程的发起者,同文件的属主,则应用文件属主权限 进程的发起者,属于文件的属组,则应用文件属组权限 应用文件其他权限
SUID
任何一个可执行文件能不能启动为进程,取决于发起者对程序文件是否拥有执行权限 启动为进程之后,其进程的属主仍为原程序文件的属主 权限设定: chmod u+s FILE... chmod u-s FILE...
SGID
默认情况下,用户创建文件时,其数组为此用户所属的基本组 一旦某目录被设定了SGID,则对此目录具有写权限的用户在此目录中创建的文件所属的组为此目录的属组 权限设定: chmod g+s DIR... chmod g-s DIR...
Sticky
对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除自己的文件 权限设定: chmod o+t DIR... chmod o-t DIR...
权限位映射
SUID:user占据属主的执行权限位 s:属主拥有x权限 S:属主没有x权限 SGID:group占据属主的执行权限位 s:group拥有x权限 S:group没有x权限 sticky:other占据属主的执行权限位 s:other拥有x权限 S:other没有x权限