分页: 1 / 1
权限相关,怎么这么乱,无语
发表于 : 2007-12-19 14:48
由 chenhonjin
权限相关,怎么这么乱,无语
以下是某教程里面说明权限的其中一小段,我觉得头脑一片混乱如果r w x 用 4 2 1 代表,其它2两个用 4 2 代表,那为什么会得出以下结果!实在无语,上百度找了一下,很少网站有提到加 s 的问题...各位知道以下表示是否正确吗?
权限 r w x 分别用数字 4 2 1 表示, suid guid 用 4 2 表示,各个 triplet 的数字相加可得 mod 值。
eg: rwxr-xr-- 为 754,rwsr-xr-x 为 4755, rwsr-sr-x 为 6755 -rwxrwSr-- 为 2764
发表于 : 2007-12-19 17:01
由 JIAN
是正确的
Re: 权限相关,怎么这么乱,无语
发表于 : 2007-12-19 17:08
由 hubert_star
chenhonjin 写了:权限相关,怎么这么乱,无语
以下是某教程里面说明权限的其中一小段,我觉得头脑一片混乱如果r w x 用 4 2 1 代表,其它2两个用 4 2 代表,那为什么会得出以下结果!实在无语,上百度找了一下,很少网站有提到加 s 的问题...各位知道以下表示是否正确吗?
权限 r w x 分别用数字 4 2 1 表示, suid guid 用 4 2 表示,各个 triplet 的数字相加可得 mod 值。
eg: rwxr-xr-- 为 754,rwsr-xr-x 为 4755, rwsr-sr-x 为 6755 -rwxrwSr-- 为 2764
无语就好好看好好分析呗
发表于 : 2007-12-19 18:23
由 chenhonjin
有谁能解释一下这三句,
rwsr-xr-x 为 4755, rwsr-sr-x 为 6755 -rwxrwSr-- 为 2764
第一句rwsr-xr-x 中
rws=4+2+?
r-x=4+0+1
r-x=4+0+1
最终怎么会变成 4755 ?
第二句rwsr-sr-x 中
rws =4+2+?
r-s =4+0+?
r-x =4+0+1
最终又怎么会变成6755?
还有第三句
-rwxrwSr--
rwx = 4+2+1
rwS = 4+2+?
r-- = 4+0+0
这句又怎么理解为2764
发表于 : 2007-12-19 18:26
由 BigSnake.NET
chenhonjin 写了:有谁能解释一下这三句,
rwsr-xr-x 为 4755, rwsr-sr-x 为 6755 -rwxrwSr-- 为 2764
第一句rwsr-xr-x 中
rws=4+2+?
r-x=4+0+1
r-x=4+0+1
最终怎么会变成 4755 ?
第二句rwsr-sr-x 中
rws =4+2+?
r-s =4+0+?
r-x =4+0+1
最终又怎么会变成6755?
还有第三句
-rwxrwSr--
rwx = 4+2+1
rwS = 4+2+?
r-- = 4+0+0
这句又怎么理解为2764
首先处理普通权限(rwx)
特殊权限是这样的
4: setuid
2: setgid
1: 黏附
当组权限没有x且setgid时, 就应用..忘了..
发表于 : 2007-12-19 18:39
由 JIAN
chenhonjin 写了:有谁能解释一下这三句,
rwsr-xr-x 为 4755, rwsr-sr-x 为 6755 -rwxrwSr-- 为 2764
第一句rwsr-xr-x 中
rws=4+2+?
r-x=4+0+1
r-x=4+0+1
最终怎么会变成 4755 ?
第二句rwsr-sr-x 中
rws =4+2+?
r-s =4+0+?
r-x =4+0+1
最终又怎么会变成6755?
还有第三句
-rwxrwSr--
rwx = 4+2+1
rwS = 4+2+?
r-- = 4+0+0
这句又怎么理解为2764
第一句rwsr-xr-x 中
rws=4+2+1
r-x=4+0+1
r-x=4+0+1
所以后面是755 ,因为rws中的s,所以755前加个4,最后就是4755
第二句rwsr-sr-x 中
rws =4+2+1
r-s =4+0+1
r-x =4+0+1
所以后面是755 ,因为rws和r-s中都有s,所以755前加个6,最后就是6755
还有第三句
-rwxrwSr--
rwx = 4+2+1
rwS = 4+2+0
r-- = 4+0+0
所以后面是764,因为rwS中的S是大写,表示设置了guid,但该位的普通执行权限没有置位,所以是4+2+0,最后是2764
发表于 : 2007-12-19 18:47
由 stlxv
这些害人的
LZ在文件上点右键,选择属性,然后点“权限”,你看看还乱不乱
发表于 : 2007-12-19 18:50
由 lb_bn
http://bbs.chinaunix.net/viewthread.php ... pid2935137
设置s u i d:将相应的权限位之前的那一位设置为4;
设置g u i d:将相应的权限位之前的那一位设置为2;
两者都置位:将相应的权限位之前的那一位设置为4+2=6。
发表于 : 2007-12-19 19:28
由 luojie-dune
一般用户谁用那么多权限呢...
我暂且不关心.
发表于 : 2007-12-20 16:41
由 chenhonjin
谢谢jian 的回答,基本上明白了,可是有一点还搞不清楚,大S与小s 的区别
以下是小s的说明:
在文件权限位的 owner triplet 第 3 个位置的字符如果设置为"s",称为 SUID。当某用户执行该文件时,系统
用文件 owner 的 uid 替代实际执行该文件的用户的 uid,文件会认为是 owner 在执行它。
在文件权限位的 group triplet 第 3 个位置的字符如果设置为"s",称为 SGID。当某用户执行该文件时,系统
用文件组拥有者的 gid 替代实际执行该文件的用户的 gid。当在某个目录文件上设置 SGID 时候,则在该目录
下的所有文件和子目录都会继承使用该目录的 GID 来代替实际执行者的 GID。
但却没有提到大S的作用!
能提示更详细的说明吗?或者有没有什么关于权限的好教程呢!
再次谢谢jian
发表于 : 2007-12-20 21:01
由 JIAN
大写S和小写s的区别在于它相应的执行权限位有没有被设置
例如:一个权限为-rwxr-xr-x的文件
其设置了suid之后权限将变为-rwsr-xr-x
一个权限为-rw-r-xr-x的文件
其设置了suid之后权限将变为-rwSr-xr-x
guid的同理
大写S在suid和guid的设置中,是一种没有用处的设置,可以忽略它的存在
发表于 : 2007-12-21 9:16
由 xiaomiao
关键是更改权限,更郁闷。右键我看到了权限,但是却改不了。
用终端,用chmod去改,结果无论如何输入路径都不正确,中了windows的毒了。
后来想到一个在windows中的方法,输入sudo chmod 777之后把文件直接拖到终端窗口,这回不提示路径错误了,执行完毕后回到窗口下,却发现权限根本没变。
发表于 : 2007-12-21 13:39
由 ydwfo
lz喜欢钻牛角尖.不要生气了.电脑是不会出错的,原因只能在自己身上
发表于 : 2007-12-21 14:03
由 iblicf
Thanks APUE , Thanks , Richard
发表于 : 2007-12-21 18:39
由 chenhonjin
OK,终于明白,谢谢