快速业务通道

Linux文件系统的管理所有权和权限(2)

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-14
变更权限
添加权限
假设您创建一个 “Hello world” 的 shell 脚本.当您第一次创建脚本时,它通常是不可执行的.使用 chmod 命令和 x 选项添加执行权限,如清单 5 所示.
清单 5. 创建可执行的 shell 脚本
[ian@echidna ~]$ echo ''echo "Hello world!"''>hello.sh[ian@echidna ~]$ ls -l hello.sh-rw-rw-r--. 1 ian ian 20 Nov 30 13:05 hello.sh[ian@echidna ~]$ ./hello.shbash: ./hello.sh: Permission denied[ian@echidna ~]$ chmod x hello.sh[ian@echidna ~]$ ./hello.shHello world![ian@echidna ~]$ ls -l hello.sh-rwxrwxr-x. 1 ian ian 20 Nov 30 13:05 hello.sh您可以按类似的方法使用 r 来设置读权限,使用 w 设置写权限.事实上,您可以联合使用 r、w 和 x.例如,使用 chmod rwx 将会设置文件的所有读、写和执行权限.chmod 会添加尚未设置的权限.
可选性
您在上面的例子中可能已经注意到,执行权限被设置给所有者、组 和 其他.为了更具可选性,您可以给模式描述加前缀 u 来设置用户权限,g 来设置组权限,还有 o 为其他人设置.需要指出的是 a 设置所有用户的权限,这就相当于忽略它.清单 6 显示了如何添加用户和组写和执行权限到 shell 脚本的其他副本.
清单 6. 有选择性地添加权限
[ian@echidna ~]$ echo ''echo "Hello world!"''>hello2.sh[ian@echidna ~]$ chmod ug xw hello2.sh[ian@echidna ~]$ ls -l hello2.sh-rwxrwxr--. 1 ian ian 20 Nov 30 13:08 hello2.sh删除权限
有时您需要删除权限,而不单单是添加.简单地将 改变为 -,就能删除任何已设置的指定权限.清单 7 显示了如何删除两个 shell 脚本上的其他用户的所有权限.
清单 7. 删除权限
[ian@echidna ~]$ ls -l hello*.sh
-rwxrwxr--. 1 ian ian 20 Nov 30 13:08 hello2.sh
-rwxrwxr-x. 1 ian ian 20 Nov 30 13:05 hello.sh
[ian@echidna ~]$ chmod o-xrw hello*.sh
[ian@echidna ~]$ ls -l hello*.sh
-rwxrwx---. 1 ian ian 20 Nov 30 13:08 hello2.sh
-rwxrwx---. 1 ian ian 20 Nov 30 13:05 hello.sh请注意,您可以一次改变一个或者多个文件的权限.正如在 topic 103 的文章中看到其他命令一样,您甚至可以使用 -R(或者 --recursive)选项在目录和文件上进行递归操作.
设置权限
现在已经可以添加或者删除权限了,您可能会想,怎样才能只设置一些特殊权限.使用 = 替换 或者 - 来完成这个动作.要在上述脚本中设置权限,这样其他用户就没有访问权利,您可以使用 chmod o= hello* 替换我们用于删除权限的命令. 拥有帝国一切,皆有可能。欢迎访问phome.net
如果您想对用户、组合或其他设置不同的权限,您可以通过逗号分隔不同的表达;例如,ug=rwx,o=rx,或者您可以使用稍后提到的数字权限.
八进制权限
目前为止,您都是使用符号(ugoa 和 rxw)来指定权限.每组中有三个可能的权限.您还可以使用八进制取代符号设置权限.按这种方法设置的权限使用高达 4 位八进制数字.讨论属性时,我们会查看第 1 个数字.第 2 个数字定义了用户权限,第 3 个是组权限,第 4 个是其他权限.这三个数字中的每一个都通过添加所需的权限设置来构建:读(4),写(2)和执行(1).在 清单 5 中的 hello.sh 例子中,创建的脚本有权限 -rw-r--r--,相当于八进制 644.设置每个人的执行权限将模式改为 755.
当您想要一次设置所有权限,而不给予每个组相同权限时,设置使用数字权限非常方便.使用 表 2 作为一个方便的八进制权限参考.
表 2. 数字权限
符号 八进制
rwx 7
rw- 6
r-x 5
r-- 4
-wx 3
-w- 2
--x 1
--- 0
suid 和 sgid
Linux 权限模型有两个特殊的访问模式,名为 suid(设置用户

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号