加载中…
正文 字体大小:

chmod 命令——chmod 755与 chmod 4755, chmod 777区别

(2013-04-25 18:12:26)
标签:

chomd

it

分类: android应用技巧
chmod 命令——chmod 755与 chmod 4755区别

转自:http://hi.baidu.com/angivo/blog/item/d679237e467f68320dd7da10.html

相关文档:http://blog.csdn.net/study16/article/details/5896390


755和4755的区别

chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。

一般是三个数字:

第一个数字表示文件所有者的权限

第二个数字表示与文件所有者同属一个用户组的其他用户的权限

第三个数字表示其它用户组的权限。

权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。

所以,chmod 755 设置用户的权限为:

1.文件所有者可读可写可执行

2.与文件所有者同属一个用户组的其他用户可读可执行

3.其它用户组可读可执行

chmod 4755与chmod 755 的区别在于开头多了一位,这个4表示其他用户执行文件时,具有与所有者相当的权限。

例如:root用户创建了一个上网认证程序netlogin,如果其他用户要上网也要用到这个程序,那就需要root用户运行chmod 755 netlogin命令使其他用户也能运行netlogin。

但是netlogin执行时可能需要访问一些只有root用户才有权访问的文件,那么其他用户执行netlogin时可能因为权限不够还是不能上网。

这种情况下,就可以用 chmod 4755 netlogin 设置其他用户在执行netlogin也有root用户的权限,从而顺利上网。

来自:http://bbs.chinaunix.net/viewthread.php?tid=1046715

举例来讲,每个人都可以运行passwd修改密码,然而passwd需要修改/etc/passwd文件。但/etc/passwd 是个很重要的文件,又不能把写权限开放给非 root 用户。怎么办?把passwd设上suid,这样不论谁运行passwd都和root运行一样具有读写/etc/passwd 的权限。


[Copy to clipboard] [ - ]

CODE:

还有,"只要它不是SHELL脚本就行" 这句话是什么意思?

出于安全考虑1,现代的大部分 UNIX 类系统都会忽略掉脚本的 suid ,只有二进制可执行程序的 suid 有效 。所以直接给脚本文件设置 suid 是达不到预期效果的。如果确实需要给脚本文件设 suid,常见的做法是用 C 写一个封装程序,在这个程序里调用脚本。这样,给封装程序(二进制可执行程序)设上 suid (chmod 4755 a.out) 就可以达到给脚本文件设 suid 的效果了。



在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。
例如我用ls -l命令列文件表时,得到如下输出:
-rw-r--r-- 1 bu users 2254 2006-05-20 13:47 tt.htm
从第二个字符起rw-是说用户bu有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人(others)只有读权限,没有写权和运行权。这是系统默认设置,我可以改写tt.htm,同组的人和其他人只有权读,没人有权运行,因为只是一个html文件,不必运行。这在Novell的directory services之前很先进。
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,上面的例子中的rw-r--r--用数字表示成644。
反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。
再多说一句。我用chmod o-r tt.htm命令改权限,o-r是others的权限中减掉读。结果是
-rw-r----- 1 bu users 2254 2006-05-20 13:47 tt.htm
如果用命令chmod 777 tt.htm,结果是
-rwxrwxrwx 1 bu users 2254 2006-05-20 13:47 tt.htm

任何人都有读、写、运行三项权限。


0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

       

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有