Linux11--文件权限管理
1 文件权限
权限管理:指的是操作文件权限
超管用户不受普通权限的限制
# 1.文件权限分类:
r (read) : 4 可读
w (write) : 2 可写
x (execute) : 1 可执行
- (N/A) : 0 没有权限
# 2.权限位的概念:
rw- --- ---
属主 属组 其他人 # 三个字符,为一个权限位
user group other
# 3.设置权限的命令
# 3.1 设置用户及用户组(修改文件和文件夹的用户和用户组属性 )
chown [选项] [用户].[用户组(非必须)] [路径]
选项:
-R:递归修改文件的属主、属组
# eg:chown root:root /tmp/tmp1
只修改了/tmp下的tmp1文件 的用户名和用户组改成root和root
# eg:chown -R root:root /tmp/
把/tmp目录以及/tmp下的所有文件 的用户名和用户组都改成root和root
# 3.2 设置权限
以每个权限位为单位,把 数字权限和 使用chmod来设置
格式:
chmod [选项] [数字权限和] [路径]
选项:
-R:递归设置
# eg:将test目录对应 属主、属组、其他人 的权限,全是可读可写可执行 (4+2+0)
chmod 777 -R test/
2 路径对于文件权限的意义
# linux一般是最小化安装,为了提高性能;linux一般是设置最小权限,为了提高安全性
注:一定要使用普通用户,同时使用全路径来测试
1.读权限
当目录有可执行权限,文件有可读权限时,文件可读。
2.写权限(用echo测试,vi和vim需要读文件)
当目录有可执行权限,文件有可写权限时,文件可写。
3.可执行权限
文件可执行权限的最小权限是:目录有可执行权限,文件有可读可执行权限。
# 总结:目录必须有可执行权限,文件才能拥有其他权限。
3 文件权限的归属
# 归属
可读 r
可写 w (文件夹必须先有x权限,才可以在文件中新建文件 touch mkdir等操作)
可执行 x
属主 u
属组 g
其他人 o
所有用户 a
# 案例: 通过权限归属来修改权限,不需要再计算数字权限和
# 1.给1.sh的属主可执行权限
chmod 100 1.sh # 或 chmod u+x 1.sh
# 2.给1.sh的属组可读权限
chmod 040 1.sh # 或 chmod g+r 1.sh
# 3.在原权限不变的情况下,给一个其他人的可读权限
chmod 144 1.sh # 或 chmod o+r 1.sh
# 4.去掉1.sh的其他人的可读权限
chmod 140 1.sh # 或 chmod o-r 1.sh
# 5.要求把1.sh加上可执行权限
chmod +x 1.sh # 如果不跟用户,则默认所有用户
# 6.修改1.sh权限为属组只读,属主只写,其他人只读
chmod u=w,g=r,o=r 1.sh
4 案例
# 创建普通文件时有一个默认的权限,为:644,请问这个默认的权限怎么修改?
umask 002
创建文件时,默认的权限时666,跟umask值计算,用666 减 umask值 如果得到的值为奇数,那么加一,偶数不变
创建文件夹,默认的权限时777,跟umask值计算,用777 减 umask值
假设:umask值为 022 ,那么创建的文件及文件夹的默认权限是多少
644
123 644 654
456 220 321