Linux四位权限
2020-06-18 本文已影响0人
echo_ni
0777,最前面的0是什么意思???
777的适度科普:
linux下文件权限分为:所属用户权限;所属组权限;其他权限。
每一个又分为r(可读)w(可写)x(可执行)
-rwxr-xr-x 1 root root 20 16-18 15:21 my_test.sh
“-”表示文件类型
7换成2进制就是 111,即对应rwx的值分别为1
第一组rwx是所属用户的权限,表示所属用户(root)对本文件可读(r)可写(w)可执行(x)
第二组”-rx“表示属于同一组的用户的权限可读(r)不可写(-)可执行(x)
第三组表示其他用户的权限可读不可写可执行。
这些数字就分别对应针对不用用户的权限。第一个7表示第一个rwx,当然第二个就表示第二个,第三个就表示第三个。
最前面的那个0是什么意思:
0777前面的0原来是叫个suid和guid的东西
如果某个用户对属于自己的shell脚本设置了这种权限
suid意味着,其他用户在执行这一脚本时也会具有所属用户的相应权限,即第一组原先rwx
guid则表示执行相应脚本的用户将具有该文件所属用户组中用户的权限,即第二组权限-rx
简单的说:
-rwxr-xr-x 1 root root 20 16-18 15:21 my_test.sh
上面的mysql_test.sh文件权限是所属用户(root)是7,如果设置了suid,那么其他任何用户的权限都是7
如果设置了guid,那么任何用户的权限都是5
如何设置suid和guid:
设置suid就是把0变为4,设置guid就把0变为2,如果都设置那就是6了