Linux文件权限概念&和管理
Linux文件属性

-
第一个字符代表这个是文件
-
当为 [d] 则是目录
-
当为 [-] 则是文件
-
当为 [l] 则表示链接文件(link file)
-
若是 [b] 则表示为设备文件里面的可供存储的周边设备(可按块随机读写的设备)
-
若是 [c] 则表示设备文件里面的串行端口设备,例如键盘、鼠标(一次性读取设备)
-
接下来的字符中(图),以三个为一组,且均为【rwx】的三个参数的组合。其中[r]代表可读(read)、[w] 代表可写(write)、[x] 代表可执行(execute)。如果无权限,就会出现 [-]。
-aqvl.png)
-
第一组为文件拥有者可具备的权限,以第二张图片为例,该文件的拥有者可以读写执行。
-
第二组为加入此用户组之账号的权限
-
第三组非本人且没有加入本用户组的其他账号的权限
-
文件的权限字符为:【-rwxrwxrwx】,这九个权限是三个一组。其中,我们可以使用数字代表每个权限,各权限的数字对照如下:
r:4 w:2 x:1
- 每种身份(owner、group、others)各自的三个权限(r、w、x)数字是需要累加的,例如权限为[-rwxrwx—]数字则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = — = 0+0+0 = 0
所以我们设置权限时,该文件的权限数字就是770
- 另一种修改文件权限的方法。从指间介绍中我们发现,基本上就九个权限,分别是user(用户)、group(组)、others(访客)三种身份,那么我们就可以借由u,g,o来代表三种身份的权限。此外,a则代表all,亦即全部身份。那么读写执行的权限可以写成r、w、x,用下面方式来看
| u | +(加入) | r | ||
| chmod | g o |
-(移除) | w | 文件或目录 |
| a | =(设置) | x |
假如我们要设置一个文件的权限为【-rwxr-xr-x】时,基本上就是:
chmod u=rwx,go=rx bash.sh
#我们也可以写个脚本测试可读可写可执行性质
touch bash.sh
echo "echo test:ok!" >> bash.sh
chmod u=rwx bash.sh #给文件拥有者基于可读可写可执行
./bash.sh #执行bash.sh文件
#若能看见输出了test:ok!就说明完成了
- 在实际的系统运行中最常发生的一个问题就是,常常我们以vim编辑一个shell的脚本文件后,它的权限通常是 -rw-rw-r-- 也就是664,如果要将该文件变成一个可执行文件,并且不要让其他人修改的话,那么就需要 -rwxrw-r-- 这样的权限,此时就要执行
chmod 755 文件名.sh
#或者
chmod u=rwx,g=rw,o=r 文件名.sh
另外,如果有些文件你不希望被其他人看到那么应该将文件的权限设置为:【-rwxr-----】,那就执行
chmod 740 文件名.sh
#或者
chmod u=rwx,g=r,o=- 文件名.sh
Linux文件架构图

本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 NachoMao
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果