文件 / 文件夹权限:chmod
1.介绍
chmod 命令用于改变文件或目录的访问权限。
- 改变文件权限
chmod 777 xxx.txt
- 改变文件夹下所有文件的权限
chmod -R 777 *
-R 是递归遍历子目录,* 通配符代表要操作的文件。
777777777 有 333 位,最高位 777 是设置 文件所有者访问权限,第二位是设置 群组访问权限,最低位是设置 其他人访问权限。其中每一位的权限用数字来表示。具体有这些权限:
r(Read,读取,权限值为 444):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。w(Write,写入,权限值为 222):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。x(eXecute,执行,权限值为 111):对文件而言,具有执行文件的权限;对目录来说该用户具有进入目录的权限。
首先我们来看如何确定单独一位上的权限数值,例如最高位表示文件所有者权限数值,当数字为 777 时,777 用 rwx 表示(4+2+1=74+2+1=74+2+1=7);如果数值为 666,则用 rw- 表示(4+2+0=64+2+0=64+2+0=6),- 表示不具备权限,这里表示不具备 “执行” 权限。
// 举例
rwx rw- r-- 764
rw- r-- r-- 644
rw- rw- r-- 664
在实际中更常见的是如下 101010 个字母字符串的样子
drwxrwxr-x
- 第 111 位,表示文件类型,如
d表示directory,如果是-就表示正常的文件。 - 第 2、3、42、3、42、3、4 位,表示所有者(
user)的权限。 - 第 5、6、75、6、75、6、7 位,表示群组(
group)的权限。 - 第 8、9、108、9、108、9、10 位,表示其他人(
other)的权限。

2.实验
mkdir test && cd test
vim xx.md
ls -al
// 表示所有者可读可写,其他任何人只拥有读取的权限
-rw-r--r-- xx.md
// 设置所有者拥有3个权限, 群组拥有可读可写的权限, 其他人拥有可读可写的权限
chmod 766 xx.md
// 设置3种身份的人都没有写的权限
chmod -w xx.md
// 只给拥有者加上可写权限
chmod u+w xx.md
// 只给群组加上可写权限
chmod g+w xx.md
// 只给其他人加上可写权限
chmod o+w xx.md
// 去掉其他人的可写权限
chmod o-w xx.md
// 给所有人去掉可写权限
chmod a-w xx.md
// 设置群组的特定权限
chmod g=rwx xx.md
// 给整个目录所有的文件添加权限(即递归)
chmod -R 777 xx.md
本文详细介绍了chmod命令在Linux系统中如何改变文件和目录的访问权限,包括三位权限解读、权限数值对应、不同身份权限设置及递归应用实例。
8751

被折叠的 条评论
为什么被折叠?



