Linux-文件权限

Linux的一些基础命令和简单Shell脚本的编写是工程师们必备的能力~

推荐一个网页版的在线 Linux 环境:copy.sh 没有 Linux 环境的小伙伴可以在网页上练练看

权限介绍

权限分为三种:读(read)、写(write)、执行(execute)

比如:输入 ls -l 查看文件详情

-rw-r--r--  1  root  users  23  Oct  14  03:29  hello

第一个“-”表示这是一个可能包含任何类型的普通文件,如果是一个文件夹,“-”就会变成“d”,链接就会变成“l”

“-”将权限分为三组

  • 第一个rw(Owner):表示该文件 owner 的权限,可以看到我是用 root 创建的 hello 脚本,拥有读、写权限,这是符合逻辑的,我拥有这个文件,自然可以读这个文件,也可以向文件中写内容。但是此时还无法执行 ./hello,因为我们没有赋予该文件执行的权限
  • 第二个r(Group):表示组的权限,在一个组中,所有人都可以读这个文件,这是合理的,但是你不可能一开始就让组中所有人都能去写这个文件。
  • 第三个r(World):表示所有能接触到该计算机(包括从外部网络)的人的权限,自然,让他们只有读的权限也是合理的。

改变权限

chmod 命令可以改变权限

经常会见到这样一个场景:啊咧 我怎么执行不了这个脚本 chmod 777 吧 然后就可以顺利执行了

那么 7 是代表什么捏?

下列是常见的赋予权限时的组合:
7 = 4+2+1 (read/write/execute)
6 = 4+2 (read/write)
5 = 4+1 (read/execute)
4 = 4 (read)
3 = 2+1 (write/execute)
2 = 2 (write)
1 = 1 (execute)

所以 chmod 777 就是让所有人,注意是所有人,都拥有对该文件的 rwx 权限,这估计是最糟糕的~所以要对于一些重要文件,不要轻易 chmod 777 噢~

你可能感兴趣的:(Linux)