权限分类
只读:只能读取内容,不能做任何更改操作
只写:能读取内容,也能修改内容
执行:只能做为程序执行
创建时权限
默认所有者拥有全部权限【读、写、执行】;同组用户和其它用户则权限相对较小
权限访问分为三个组:属主【读、写、执行】 | 属主的组成员【读、写、执行】 | 其它用户【读、写、执行】
查看权限命令: ll 文件名或目录名 或者 ls -l 文件名或目录名
解析【用空格分开方便说明】:
- rw- --- --- . 1 root root 4360 Jun 26 12:41 sshd_config
类型 属主 属主组 其它用户 SELinux安全上下文 文件个数 属主 属主组 大小 最后修改时间 文件名
r: 表示读取【read】
w:表示写【write】
x:表示执行【execute】
-:在权限位,表示无权限,在类型位,表示常规文件
权限更改命令【chmod】
语法: chmod [userType] [signal] [type] [filename]
userType:
- u:表示属主【user】
- g:表示属主的组【group】
- o:表示其它【others】
- a:表示所有用户【all】;如果不指定,则表示所有
signal:
- +:添加权限
- -:取消权限
- =:赋予权限并取消其它的所有权限
type:
- r:读取
- w:写
- x:执行
- s: 特殊权限【不推荐使用】
示例命令:
chmod u+x,g+w sshd_config # 注意:不同参数之间需要使用逗号分隔
进价
大多数人都喜欢使用数字设定法来授权,即:
0:无权限
1:执行
2:写
4:读取
rwx 就等价 421;即:每一个数字7就表示【userType】的权限,所以在使用 chmod 设定的时候,就可以使用3个【0124】组成的和来分别表示【u、g、o】的权限
上面示例命令就可改写为:
chmod u+x,g+w sshd_config 等价于 chmod 720 ssdh_config
注意:使用数字表示法,相当于是使用直接赋予权限,即:signal 为 =
改变属主【chown】
语法: chown [option] [owner] [filename]
option:
- -R【递归的修改】
- -c 【属主确实已更新,才显示更改动作】
- -h【改变符号链接文件的属主时,不影响链接指向的文件】
- -f 【修改出错也不显示错误信息】
- -v【显示属主变更的详细资料】
示例:
chown -R ysp:ken data
解析:对data递归的修改其 属主为【ysp】与属主组为【ken】
特殊权限【suid和sgid】
此两个权限表示在执行操作的时候,suid表示拥有属主的权限,sgid表示拥有属主组的权限;即:权限被放大了,同时会有相关安全问题
此两个都占据 x 位,如果x位已设置,则再设置此权限时,x位变为小写的 s;如果没有设置x位,在设置此权限时,x位为大写的S