今天又有同学问到linux下的权限问题, 这里我整理一个文章出来, 以便大家理解
文件/文件夹的 mod 组成有三部分: n1n2n3, 通常的操作指令为
chmod 764 tmp
这里 n1 = 7, n2 = 6, n3 = 4
n1 n2 n3 的组成一样, 均为 x + r + w
x = 1 有执行权限,比如ls
w = 2 有写入权限
r = 4 有读取权限
没有对应的权限, 则为0
那么
n1 = 7 = 1 + 2 + 4 = x + w + r 就是同时具备执行,读取,写入三个权限
n2 = 6 = 0 + 2 + 4 = – + w + r 就是同时具备读取,写入两个权限
n3 = 4 = 0 + 0 + 4 = – + – + r 那么他就只有读取的权限
n1 表示所有者权限
n2 表示用户分组权限
n3 表示任意用户权限
那么 764 就表示 tmp 这个文件/目录
所有者拥有读写,执行权限
用户分组成员拥有读写权限
而除此以外其他用户就只有读取权限
另一方方面linux 通过 own 来指定目录所属, 通常的操作指令为
chmod xwsoul:xwgroup tmp
这里 : 表示两个所有者指定
冒号前的 xwsoul 表示 tmp 这个文件/目录属于那个用户
冒号后的 xwgroup 表示 tmp 这个文件/目录属于那个用户分组
综合上面的mod指定, 最终结果就是 tmp 这个文件/目录:
所有者 xwsoul 拥有读写,执行权限
隶属于分组 xwgroup 的用户拥有读写权限
而除此以外其他用户就只有读取权限