一.文件/目录的权限和归属的简要分析与概括
1.程序访问文件时的权限,取决于此程序的发起者
* 进程的发起者,同文件的属主:则应用文件属主权限
*进程的发起者,属于文件属组;则应用文件属组权限
*应用文件“其它”权限
2.访问的人群分为了三类:1.所属主(u)2.所属组(g)3.其他人(o)
补充:所有人(a)
3.对文件的权限分为三种:
(1)r 可使用文件查看类工具,简称:读 , 比如:cat,可以获取其内容
(2)w 可修改其内容,简称:写
(3)x 可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行),简称:执行
4.对目录的权限分为三种
(1)r 可以使用ls查看此目录中文件列表
(2)w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关
(3)x 可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限
对文件而言如果大家都没有执行权限 超级管理员也没有执行权限,只要有一个人有执行权限那么文件管理员也有 ,删除文件和文件本身无关和文件所在文件夹有关
r:读
文件:可以看里面的内容
文件夹:可以用ls 看文件夹中的 文件列表
w:写
文件(需要有读):可以修改文件的内容
文件夹(不需要读):新建文件(文件夹)删除文件(文件夹),移动文件(文件夹)
x:执行
文件:可以运行(命令,脚本)颜色是绿色文件夹: 执行是最小的权限,没有执行 读写无法使用
二.修改文件的属性
1.chomd修改文件的权限
模式法:
格式:chomd [选项] 指明属主 属组 其他人 +权限 文件
选项:chomd -R 递归
示例:
(1)chomd -R 递归
(2)chmod u+r 文件名: 给aa文件夹属主加上可读权限
(3)chmod g=r 文件名:给aa文件夹属组赋予只可读权限
数字法:
用数字法来表示文件的权限(1代表有该权限,0代表没有)
r (读) w(写 ) x(执行) 转换为十进制
1 0 0 ----------4
0 1 0 ----------2
0 0 1 ----------1
1 1 1 ----------7
4(读) 2(写) 1(执行)
示例:
使得opt目录下所有文件属主可读可写属组可读其他人可写
2.chown修改文件的所属主和所属组
格式:chown 用户 :组名 文件名
选项 -R: 递归修改
示例:
(1)“chown 用户 文件名”:只改变文件的属主
(2)“chown :用户 文件名 ” 或 “chown .用户 文件名 ” :只改变文件的属组
(3)“chown 属主:属组 文件名 ” 或“chown 属主.属组 文件名 ”: 属主属组都改变
(4)chown -R 递归修改
3.umask
umask 的值可以用来保留在创建文件权限
实现方式:
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变,执行权限对于文件而言非常危险(即:666-022=644为文件默认权限)
新建目录的默认权限: 777-umask(即:777-022=755为目录默认权限)
非特权用户umask默认是 002
root的umask 默认是 022(是你没有的权限)拿最高的权限减去umask就是你的最终权限,文件夹最高权限为777
umask后面跟上数值可以设置umask的值
umask123
文件夹正常相减
文件权限用666-umask 结果有奇数自动加一,偶数不变
示例:
4.三种特殊权限
suid:如果拥有该权限,把当前用户当成文件属主
guid:如果拥有该权限,把当前用户当成文件属组
stickey:拥有该权限的文件夹,该文件内的文件只有超级管理员和属主可以删除,其他人不可以删除