快速业务通道

Linux家庭作业-文件权限篇

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-01
一道家庭作业题,需求如下: 建立两个普通用户a、b,要求在a用户的家目录下制作一个小脚本,内容为 shutdown -h 10,并且让b用户可以执行它 考察内容主要是文件权限相关,如ACL、SUID和环境变量的知识 ,我们用root账户建立两个新的用户,起名分别为Odin和Heinessen,查看/home,可以看到它们各自的主目录 切换到Odin,在其主目录下建立一个脚本文件a.sh,编辑内容为10分钟后关机 此时的a.sh权限为 -rw-rw-r-- 1 Odin Odin 28 Aug 7 11:28 a.sh 我们使用chmod u x a.sh 使用户Odin对其拥有执行权限 回到上一级/home 查看Odin目录的权限 我们对Odin目录设置ACL权限,使Heinessen成为目录所有者之一 进入Odin目录,对a.sh的权限进行设置,使Heinessen成为文件所有者之一 切换到Heinessen,进入Odin主目录,运行a.sh,出现错误信息 command not found 这是shutdown属于系统命令,它的位置位于/sbin/下,这个目录不在普通用户的环境变量里,解决方法有两个: 1.我们把/sbin添加进Heinessen的环境变量中 2.我们把a.sh中的shutdown添加完整的绝对路径 这里我们使用第一种方法 这里一定要注意:修改Heinessen的环境变量,要用" "表示追加,如果用'' ''表示赋值,将会删除掉以前的一切环境变量设置,只保留输入的:/sbin(血的教训~~) 此时执行a.sh,又报错......这是什么意思呢? 我们知道Linux系统中的有些命令所有用户都可以使用,而有些系统命令如reboot、shutdown、ifconfig只有root可以使用,我们在此要以root身份修改shutdown的权限,给它添加一个SUID权限,使Heinessen可以以root身份执行此命令 回到Heinessen,再次执行a.sh 成功!作业完成 注意:SUID和SGID是比较可怕的权限,可以使普通用户拥有root的命令执行权,作业完成后,要把shutdown的权限恢复默认

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号