3-1 Linux中文件默认权限
查看默认权限的命令
umask - 查看默认权限 0022 - 第一位0:文件特殊权限 - 022:文件默认权限
文件的默认权限
文件默认不能建立为执行文件,必须手工赋予执行权限 所以文件默认权限最大为666 默认权限需要换算成字母再相减 建立文件之后的默认权限,为666减去umask值
例如: - 文件默认最大权限666 umask值022 - -rw-rw-rw- 减去 -----w--w-等于 -rw-r--r-- 例如: - 文件默认最大权限666 umask值033 - -rw-rw-rw- 减去 ----wx-wx 等于 -rw-r--r--
目录的默认权限
目录默认权限最大为777 默认权限需要换算成字母再相减 建立文件之后的默认权限,为777减去umask值
例如: - 目录默认最大权限为777 umask值022 - -rwxrwxrwx 减去 -----w---w-等于 -rwxr-xr-x
TODO: UID??
su - 用户名??
vi /etc/profile
普通用户UID>500, root UID = 0
速成用户 su - user1???
新创建文件的默认权限与上一级目录无关
默认无x权限,最大文件权限rw(4,2) 666
umask 022 -----w--w-,相减等于默认权限
umask配置文件:普通用户UID:500,超级用户UID:0
修改umask值
目录的默认权限
文件默认权限计算
文件最高默认权限为666,不能有执行(x)权限,666(-rw-rw-rw-) - umask(022)(-----w--w-) = 644(-rw-r--r--)(文件默认权限)
文件的默认权限
查看默认权限的命令
文件默认权限课程大纲
umask 0022
vi /etc/profile 环境变量
目录的默认权限 umask
文件默认权限 umask值
临时修改umask值:umask 0022
永久修改umask值:vi /etc/profile
文件默认权限
永久修改umask值
vim /etc/profile
目录最大权限 777 -umask值022 都换成字母在减 =755
文件的默认权限 最大666 umask值022
umask 查看默认权限命令
11111
11111
111111
11111
11111
umask:查看默认权限; 0022: - 第一位0:文件特殊权限; - 022:文件默认权限; 文件的默认权限: ·文件默认不能建立为执行文件,必须手工赋予执行权限; ·所以文件默认权限最大为666; ·默认权限需要换算字母再相减; ·建立文件之后的默认权限,为666减去umask值; 目录的默认权限: ·目录默认权限最大为777 ·默认权限需要换算字母再相减; ·建立文件之后的默认权限,为777减去umask值; ·例如: - 目录默认最大权限为777,umask值等于022 · -rwxrwxrwx 减去 ------w--w- 等于 -rwxr-xr-x 修改umask值 ·临时修改: - umask umask值 ·永久修改: - vi /etc/prum
查看默认权限的命令
umask #查看默认权限
0022 #第一位0:文件特殊权限 022:文件默认权限
文件的默认权限
文件默认不能建立为执行文件,必须手工赋予执行权限
所以文件默认权限最大为666
默认权限需要换算字母再相减
建立文件之后的默认权限,为666减去umask值
例如:
文件的默认最大权限666 umask值022
-rw-rw-rw- 减去 -----w--w- 等于 -rw-r--r--
例如:
文件的默认最大权限666 umask值033
-rw-rw-rw- 减去 -----wx-wx 等于 -rw-r--r--
umask 0033 #临时修改
umask 值 #临时修改
vi /etc/profile #永久修改 umask
目录的默认权限
目录默认权限最大为777
默认权限需要换算字母再相减
建立文件之后的默认权限,为777减去umask值
例如:
目录默认最大权限为777 umask值等于022
-rwxrwxrwx 减去 ------w--w- 等于 -rwxr-xr-x
文件默认权限通过“配置文件”中的 umask控制。
普通用户默认为:002
系统用户默认为:022
为什么说不是使用预设的系统默认权限减去umask的值?也不是异或运算呢?
例子:如果将umask改成033以root用户为例,如果只是单纯的相减结果是633,异或运算结果是655
使用’遮挡‘原理:结果是644
文件系统预设的默认权限: rw_ rw_ rw_ 666
umask ___ _wx _wx 033
最终文件默认权限 rw_ r__ r__ 644
这里 group位和other位的权限需要‘遮挡’的权限是wx而x原来就是没有的,遮挡后就是 r 最终结果是rw_ r__ r__ : 644
这三个到底哪个正确呢?只需要使用root创建一个文件,再使用ls -l命令查看文件的权限就能发现,‘遮挡’原理是正确的,而不是单纯的相减,也不是异或运算,有的教程说的是先转换成字符再相减,这种说法也不严谨,就像这个例子rw_ 减去 _wx 等于多少呢??
umask:查看默认权限; 0022: - 第一位0:文件特殊权限; - 022:文件默认权限; 文件的默认权限: ·文件默认不能建立为执行文件,必须手工赋予执行权限; ·所以文件默认权限最大为666; ·默认权限需要换算字母再相减; ·建立文件之后的默认权限,为666减去umask值; 目录的默认权限: ·目录默认权限最大为777 ·默认权限需要换算字母再相减; ·建立文件之后的默认权限,为777减去umask值; ·例如: - 目录默认最大权限为777,umask值等于022 · -rwxrwxrwx 减去 ------w--w- 等于 -rwxr-xr-x 修改umask值 ·临时修改: - umask umask值 ·永久修改: - vi /etc/prum