linux权限数字代表什么意思,[转] Linux文件权限4位数字含义

这篇博客详细解释了Linux文件权限中的0777和suid/guid概念。0777中的0代表特殊权限,suid允许执行文件时获得文件所有者的权限,guid则在执行时赋予文件所属组的权限。通过chmod命令可以设置这些权限,例如chmod 4777用于设置suid。了解这些权限对于系统管理和安全至关重要。
摘要由CSDN通过智能技术生成

接触linux一段时间了,有个权限问题让我一直郁闷。网上也没找到(估计是关键字不对),就是这个0777,最前面的0是什么意思。最近看到一本书(Linux与unix shell编程指南),终于找到答案了。

先说一下777什么意思吧,linux下文件权限分为所属用户权限、所属组权限和其他权限。

每一个又分为r(读)w(写)x(可执行)。如果你在linux中运行 ls -l就会显示权限如:

-rwxr-xr-x 1 root root 12 09-02 15:21 my_test.sh

“-”表示文件类型不用管。

第一个rwx是所属用户的权限,表示所属用户(root)对本文件可读(r)可写(w)可执行(x)。

第二个”-rx“表示属于同一组的用户的权限可读(r)不可写(-)可执行(x)。

第三个表示其他用户的权限可读不可写可执行。

这些数字就分别对应针对不用用户的权限。

第一个7表示第一个rwx,当然第二个就表示第二个,第三个就表示第三个。

下面就说说7表示什么权限

7换成2进制就是 111,这样就对了,正好对应rwx。当然都知道1表示true,所以,7的权限就是rwx了,如果上面的my_test.sh改成777的话,ls -l 那就显示:

-rwxrwxrwx 1 root root 12 09-02 15:21 my_test.sh

反过来,你知道上面的my_test.sh 的权限用数字应该是什么呢,

应该是 111101101 = 755

下面说一下最前面的那个0是什么意思:

0777前面的0原来是叫个suid和guid的东西。

suid意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限。

guid则表示执行相应脚本的用户将具有该文件所属用户组中用户的权限。

是不是不大明白呀,下面举个例子:

-rwxr-xr-x 1 root root 12 09-02 15:21 my_test.sh

上面的mysql_test.sh文件权限是所属用户(root)是7,如果设置了suid,那么其他任何用户的权限都是7,

如果设置了guid,那么任何用户的权限都是5。

如何设置suid和guid:

设置suid就是把0变为4,设置guid就把0变为2,如果都设置那就是6了

chmod 4777 mysql_test.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值