快速业务通道

Shell演义之前世今生篇

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-14
  不管是Linux新手还是高手,在使用它的时候不可避免都会遇到Linux权限问题.而这些问题也是初学者问得最多的问题,很多的脚本不能执行的原因就是没有设定正确的权限所致.这里我们来看看Linux下的根限到底是怎么一回事.   当你新建一个文件时,它的最初的权限取决于你的umask值(将在后面说明).权限可以使用chmod命令或是chmod()系统调用来修改一个文件的权限模式.只有在文件所有者才能修改文件的权限模式.唯一例外的就是超级用户:超级用户可以修改任何文件的权限.下面是chmod命令的格式: chmod [-Rfh] [agou] [ -=] [rwxXstugol] filelist 要修改哪些用户的特权:
字符 含义
a 修改所有用户的特权
g 修改组用户的特权
o 修改其它用户的特权
u 修改所有者的权限
执行什么操作:
字符 含义
- 删除当前的权限
= 替换当前的权限
增加当前的权限
要修改哪一项权限:
字符 含义
r 读访问
w 写访问
x 执行访问
s SUID或是SGID
t 粘附位
  其中X是表示由BSD衍生出来的UNIX系统特有的选项,它的意思是:如果文件是一个目录,或有一些其它执行位已设置,那么就将文件设置为只可执行.而l则是由System V衍生出来的UNX系统特有的选项,它的意思是:允许对文件进行强制加锁. -R选项表示chmod命令会递归执行.如果指定了一个目录filelist,那么目录的权限改变了,目录下所有文件的权限也都改变了.如果该目录包含子目录,那么这一地程会一直向下重复. -f选项表示强制执行,chmod命令不会报告错误.通常在shell中比较有用.   在某些系统中使用-h选项来改变chmod对符号链接的工作方式.如果指定了-h选项,而其中一个参数据为符号链接的话,那么chmod不会改变符号链接所指向的那个文件或目录的权限. 下图说明了命令的使用方法: 计算机八进制的文件权限:   chmod允许用户使用一个四位八进制数字来指定文件权限模式.用户可以通过将权限相加的方式来计算这一数值.下表说明了每个文件权限对应的八进制数.
八进制数 权限
4000 SUID
2000 SGID
1000 粘附位
0400 所有者可读
0200 所有者可写
0100 所有者可执行
0040 组成员可读
0020 组成员可写
0010 组成员可执行
0004 其它用户可读
0002 其它用户可写
001 其它用户可执行
  因此,一个文件权限如果为“-rwxr-x---”,那么其文件模式为0750,计算过程为:0400 0200 0100 0040 0010=0750.例如常见的/tmp目录的权限就为1777,表示任何用户都可以在该目录下创建文件,但是用户不能删除其它用户的文件. umask   umask是“用户文件创建模式掩码”的缩写,是一个四位的八进制数值.用来确定一个新创建文件的权限.每个进程都从父进程那里继承了自己的umask.一般该命令会在.bashrc,.profile,.cshrc或是/etc/profile及/etc/bashrc中.   最常见的umask值是022,027以及077.022让文件所有者拥有对新建文件的读写权限,但是其它人对此只读.例如:0666(默认的文件建立模式) 0022(umask)=0644.计算umask值最简单的方法是记住:umask值中的2屏蔽了写权限,而7屏蔽了读,写及执行权限. 常用的umask设置:
umask 用户访问 组访问 其它
0000 所有 所有 所有
0002 所有 所有 读,执行
0007 所有 所有
0022 所有 读,执行 读,执行
0027 所有 读,执行
0077 所有
下面的图片是显示新建文件后的权限,大家可以想想看它对应的mask应是多少. 粘附位:   具有八进制值1000的位叫粘附位,是unix已经发展得不再需要的事物而又不能摆脱其追随的例子.像unix在其上度过它的孩童期的PDP-11/70这样的小内

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