我理解这chmod u+w
意味着给用户/所有者 ( u
), 写权限 ( w
, 相当于数字2
), 所以运行chmod
上面的命令后文件的新权限将是 (八进制):
2XY
其中2
(相当于write
)是新所有者的权限,并XY
标记未修改的组/其他权限。
那是对的吗?
我理解这chmod u+w
意味着给用户/所有者 ( u
), 写权限 ( w
, 相当于数字2
), 所以运行chmod
上面的命令后文件的新权限将是 (八进制):
2XY
其中2
(相当于write
)是新所有者的权限,并XY
标记未修改的组/其他权限。
那是对的吗?
不,它实际上将2 添加到所有者拥有的原始权限中。
因此,如果最初他只有
read
(4) 和execute
(1) 的权限,运行后chmod u+w
所有者的权限将是:1+2+4=7 而不是 5。如果他只有
read
权限,在chmod
命令之后,所有者将拥有 4+2=6 而不是只有 4。顺便说一句,如果命令是
chmod u=w
(等号而不是加号),那么你是正确的,所有者的权限将更改为 2(仅write
)。+
这就是 chmod 命令和=
chmod 命令之间的区别。第一个增加权限,第二个替换它们。就是说,如果您想影响所有组 (u,g,o) 就这样做,比方说,
chmod 200
。