文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>文件的访问权限

文件的访问权限

时间:2006-04-05  来源:charlie36

   今天学习了Linux下的文件安全一节.    对于Linux系统,主要提供3种保护用户文件的机制,即基于密码的保护、基于文件加密的保护以及基于访问权限的文件保护。现在谈谈基于访问权限的文件保护这一机制。    Linux系统中文件有3种访问权限(许可权),即读(r):允许读某个文件;、写(w):允许修改或删除某个文件;执行(x):允许执行某个文件,其中x只对可执行文件起作用,如二进制文件和脚本文件,对其它格式的文件不起任何作用。而对目录来说,r表明有权读出这个目录的内容,换句话说可以用ls命令来查看该目录下的内容;w表明可以在这个目录下建立或者删除一个目录项;x表明可以搜索这个目录,但是既不能读也不能写,因此没有该权限的话,就不能使用ls来列出此目录下的内容或者用cd命令来把该目录变成当前目录。    对应Linux下三种用户,Linux文件就有9种不同的访问权限组合,如下表所示:     

用户类型

访问权限类型

读(r)

写(w)

执行(x)

User(u)

X

X

X

Group(g)

X

X

X

Others(o)

X

X

X

 

   X的值为1就表示允许,为0则禁止,所以rwx三位连在一起可以表示8种可能的权限,故除了用rwx表示外还可用八进制0~7表示。
   Linux文件中文件类型位和访问特权位的位置可用下表表示: 位:15         12  11        10                                 0
         SUID  GUID  Sticky  r  w  x  r  w x  r  w  x
 文件类型位   特别访问位                user特权位 group     others 我们可以用命令chmod对0~12位进行修改。chmod的语法:chmod [options] octal-mode file-list    chmod [options] symbolic-mode file-list 常用的参数是-R和-f。-R:递归修改或设置文件、目录及其子目录的访问特权;-f:强调改变文件访问特权(如果是文件的拥有者,刚不会得到任何错误信息)。    symbolic-mode格式为<who><opterator><privilege>,其中who、oprator、privilege的可能取值如下表:
 Who     Operator  Privilege
 u User  +增加特权   r 读
 g Group  -删除特权  w 写
 o Others  =设置特权  x 执行/搜索
 a All    u 用户当前的特权
 ugo All    g 组当前的特权
     o 其他用户当前访问特权
     l 锁定特权位
     s 设定用户或组的ID位
     t 粘带位

    octal-mode就是八进制数0~7。

默认的文件访问特权:对可执行文件来说默认的是777,而对一个文本文件来说是666。可以用umask命令来设定或查看掩码。新建文件的访问权限是根据公式:文件访问权限=默认的访问权限-掩码 计算得到的。如使用命令$umask

022 则$ mkdir new $ ls -l ,可以看到new 的权限为drwxr-xr-x,即755,d表示的new是一个目录。  如果将掩码设成077,然后创建文件file,

$ umask 077

$ touch file

$ ls -l file

-rw------- 1 clifford clifford 0 Apr 5 13:02 bar

$

因为666-077,6-7=-1,但-1被当成0处理。

   特殊访问位:set-user-ID(SUID)

这是用来允许用户能够执行像passwd这类命令而设的。passwd通过修改/etc/passwd来达到修改密码,但是该文件只有root才能更改,为了让用户也能自己修改,便设了SUID位。它使得没有写/etc/passwd文件权限的用户也可以运行passwd命令来进行写入。语法:chmod 4xxx file-list

chmod u+s file-list  八进制数4表示二进制数100,说明SUID位已经被置1,可参见本文表二。而SGID和SUID工作方式相似,只是语法为chmod 2xxx file-list   chmod g+s file-list。现在新的Linuxt系统中sticky位 用来确保目录下的文件不被除目录拥有者外的其他用户移动或删除,即使那些用户对目录有写的特权,但仍可以在该目录下进行创建文件或子目录。语法:chmod 1xxx file-list   chmod +t file-list。

相关阅读 更多 +
排行榜 更多 +
像素世界乐园

像素世界乐园

策略塔防 下载
荒岛狩猎人神枪手

荒岛狩猎人神枪手

飞行射击 下载
斗弓箭手

斗弓箭手

飞行射击 下载