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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Linux文件系统的管理所有权和权限(2)的所有评论