linux权限

众所周知,我们在使用linux的时候,时常会使用到chmod命令,来给各个文件赋予权限。那么问题来了,还记得linux这些权限都代表什么意思嘛

drwxr-xr-x   1 root root 4096 Jan 19 12:46 .
drwxr-xr-x   1 root root 4096 Jan 19 12:46 ..
-rw-r----- 1 root shadow   521 Dec 21 02:55 shadow

这是我们经常使用的ls -l命令所查到的详细信息,那么drwxr-xr-x都分别代表什么。

d,即directory,表示这是一个目录文件,也就是文件夹。

然后后边的文件分为三组,每三个字符为一组。分别代表了:

  1. 用户权限,用u表示
  2. 用户组权限,用g表示
  3. 其他权限,用o表示

用户权限,就是你自己的权限,用户组权限,就是和你同组人的权限。其他权限,就是不和你同组的人的权限。我们使用chmod赋予或者移除权限的时候,可以通过三组的简写来分别进行赋予。比如给用户加执行权限:chmod u+x

字符分别代表什么

r, 即Read,读,权限值为4

w, 即Write,写,权限值为2

x,即execute,执行,权限值为1

-,在d的位置,也就是开头的位置,表示这是个普通文件,在其他位置表示对应权限未开启。不具备这个权限。

最高权限为什么是7

问题又来了,为什么最高权限不是其他的数字,而是7呢,因为这里涉及到了二进制。

7,转换成二进制,是111,发现端倪了吧。而读写执行的数值4,2,1,转换为二进制分别是100,010,001

相信看到这就明白了,所谓权限数值也就是看其是否在对应位数上是1。所以7是最高权限,而很多不明所以的同学在使用linux下随意赋予最方便权限777,等于是对所有人开放了这个文件,是一件很容易赌上职业生涯的一件事。

总结

关于基础的计算机知识,在很多时候都是枯燥乏味,但是慢慢了解下去,又不得不夸赞其一句,真tm合理,所以了解到其中精髓后,便也不觉乏味,之后会对使用linux或者其他东西的基础知识再做总结。未完待续