免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 884 | 回复: 0
打印 上一主题 下一主题

文件的访问权限 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-05 14:09 |只看该作者 |倒序浏览
   今天学习了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、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。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/16363/showart_95559.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP