您的位置:首页 > 编程语言 > Java开发

Java私塾跟我学系列――JAVA篇 第五章 Java高级类特性

2012-02-03 16:34 288 查看
什么是特殊权限

在Linux中,常用的权限有:读、写、执行;这3个权限可以在大多数情况下保证数据的安全并满足我们的使用,但是在某些特殊情况下,我们必须用到一些特殊权限来完成某些工作,例如常用的修改密码命令“passwd”;普通用户可以使用passwd命令来修改自己的密码,但是passwd程序并没有给other用户执行权限,为什么普通用户可以执行呢?这就是特殊权限的作用,只需要给passwd程序加上SUID权限,其他的用户就可以以程序的属主权限进行执行;也就是说一个普通用户以root管理员的身份执行了passwd命令;这就是特殊权限的意义。

殊权限有哪些:

1、SUID: 使某程序启动后其属主是程序自身的属主,而不是启动者
chmod u+s file
如果file本身有执行权限,则SUID显示为s,否则显示S
2、SGID: 使某程序启动后其属组是程序自身的属组,而不是启动者的属组
chmod g+s file
3、Sticky:在一个公共目录,每个用户都可以创建,删除自己的文件,但不可以删除别人的文件
chmod o+t DIR
chmod o-t DIR

扩展的访问列表:
访问列表是指某些文件除了本身的属主、属组、其他所指定的权限之外,特例给某些用户指定访问权限。

对文件或目录设置扩展的访问列表setfacl
-m
u:UNAME:perm 设置某用户权限 (前面加d:表示本目录下所有的文件都默认的添加该扩展列表)
g:GNAME:perm 设置某组权限 (前面加d....)
-x :取消权限
u:UNAMEG:UGRUPgetfacl 获取访问列表

本文出自 “Mr.Zhu -- 技术交流” 博客,请务必保留此出处http://bjishu.blog.51cto.com/7481301/1684921
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: