手机版
你好,游客 登录 注册
背景:
阅读新闻

RedHat笔记:权限管理及如何使用隐藏属性

[日期:2011-08-10] 来源:Linux社区  作者:wei2856059 [字体: ]

文件权限管理的扩展:
文件管理权限的模型
文件:属主,属组
每一类用户都有权限。读写执行 rwx,组合起来就是9位
在这些权限中有一个比较特殊的权限
作为一个普通用户来讲,修改密码,则要修改/etc/shadow,但是shadow文件权限 400 ,属主属组都是root,他是如何实现保存密码的呢?

s:SUID: Set UID :如果一个文件具有s执行权限的话,当一个普通用户来执行这个文件的时候,不是以用户的身份来执行,而是按照文件的属主的身份来运行。临时切换,只有当运行那个命令才具有的效果。

SUID可以让某些用户在执行某个命令的时候具有管理员的权限。但这个功能是把双刃剑。
SGID:Set GID : 一个用户执行命令的时候,不是以用户本身的组的身份,而是以文件属组的身份来运行。

假设场景:公司里有一个开发团队。大家都属于一个组,要开发一个程序,程序都在/project/,当将其他人都加入那个组都能访问之后。如果其中一个用户在里面创建了一个文件,则这个新文件的属组是创建文件的那个用户,则其他人就都进不来这个文件了。为了解决这样的情况。

如果给一个目录设置了SGID位:通常意味着,如果一个用户所属目录所在的组的话,则在这个目录下,用户创立的文件的属组不在是基本组,而是目录所属的属组。

-----------------------------------------------------
如何能让文件具有s位呢?
chmod u+s /etc/aaa.sh
则可以将/etc/aaa.sh变为具有SUID属性的文件。
----------------------------
原有用户具有执行权限则是 S
原有用户没有执行权限则是 s
----------------------------
如何让目录具有s位呢?
chmod g+s /project/
则可以将/project/这个目录设置成具有SGID的权限。
----------------------------------------------------

STICKY:
t 位:sticky粘滞位。对于一个大家都可以写的公共场所,每一个用户都可以写,删除权限的前提下,我们限定,大家只能删除自己的。这样的功能,就是t位 。/tmp就是有特殊属性 t 的目录。
t位是放在 o 上的, 其他人上的。

chmod o+t /project/

-----------------------------------------------------
SUID , SGID , STICKY
他们也用3位2进制来表示
  4 2  1               

000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7


所以权限设置变成了4位:
chmod 7755 /a.txt
则第一位就表示 S 的各种设置
后三位表示 属主 属组 其他人
----------------------------------------------------
系统的安全机制:umask (过滤码)
使用 umask 命令可以查看当前用户的值
对于普通用户来讲  umask:0002
对于管理员来讲  umask : 0022

linux
相关资讯       Linux权限管理 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款