Linux中文件或目录的基本权限管理

文件属性:

[-rwx-w----.         ][    1       ] [root]   [ root]  [4360][Jun 27 00:41][sshd_config]
[文件类型与权限] [ 链接数 ] [用户][用户组][大小][修改时间][文件名]

权限分类:
只读:【只能读取内容,不能做任何更改操作】、只写、执行:【只能做为程序执行】

在创建时,默认所有者拥有全部权限【读、写、执行】,也可以对其做授权操作;同组用户和其它用户则权限相对较小

权限访问分为三个组:属主【读、写、执行】 | 属主的组成员【读、写、执行】 | 其它用户【读、写、执行】

查看权限命令: ll 文件名或目录名 或者 ls -l 文件名或目录名

查看文件的权限结果图

解析【用空格分开方便说明】:
-         rw-   ---          ---             . 1 root root 4360 Jun 26 12:41 sshd_config
类型  属主  属主组  其它用户
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:执行,如果非root用户想要进入指定目录,必需有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