电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 2475 人浏览分享

linux强制位与冒险位

[复制链接]
2475 0
Linuxext3文件系统支持强制位(setuid 和setgid)与冒险位(sticky)的特别权限。针对u,g,o,分别有set uid,set gid,及sticky。
% L  J$ g, B5 f, F" ]5 B9 y6 o) o
  强制位与冒险位添加在执行权限的位置上:如果该位置上原已有执行权限,则强制位与冒险位以小写字母的方式表示;否则,以大写字母表示。set uid与set gid在u和g的x位置上各采用一个s,sticky使用一个t。9 I0 v0 p+ E4 L) n
, X$ b  k5 \. U
  当一个文件具有setuid时,同时others群组具有可执行权限,那么当 others群组执行程序时,others将拥有该文件的owner权限。
- n, u" R/ f: m4 l+ j' {
  默认情况下,用户建立的文件属于用户当前所 在的组。目录上设置了setgid,表示在此目录中,任何人建立的文件,都会属于目录所属的组。
+ R# v# T( b7 H  Z. C3 |; g
  默认情况下,如果一个目录上有w和x权限, 则任何人可以在此目录中建立与删除文件。一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、及root 才可以删除文件。

  在可执行文件上,用户可以添加set uid和set gid。默认情况下,用户执行一个 可执行文件,会以该用户的身份来运行进程。在可执行性文 件上添加强制位后,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行进程。

  用户可以用chmod指令来为文件设置强制 位与冒险位。% X% R# o1 y# b+ `

  set uid:chmod u+s 文件名# W  Q2 i! L9 U4 I+ I( m+ I4 L: ?
4 g* r! j4 P9 _& x
  set gid:chmod g+s 文件名
" b8 ], Q0 B" M; b5 i& z
  sticky:chmod o+t 文件名/ i! J# t8 _) N# k
# R8 h1 K5 u' g4 Y3 R
  强制位与冒险位也可以通过一个数字加和,放 在读写执行的三位数字前来指定。% E$ k! F" Y) w- A' }1 X
/ G" C9 U3 Z- b7 f& n/ T
  4(set uid)+ M9 ]4 p; ]3 t4 f
1 z' x4 b4 F( Y; J3 }. r
  2(set gid)/ d8 V6 a' S: V* u8 ?
6 U. ^0 [1 _( K$ p4 U0 k+ ^
  1(sticky)

  强制位对文件的作用8 b( f6 W: K# ]! s: U) D8 x

  在可执行文件上,用户可以添加set uid和set gid。默认情况下,用户执行一个指令,会以该用户的身份来运行进程。指令文件上的强制位,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行 进程。这里有一个很好的例子。你管理着几个大型的数据库系统,而对它们进行备份需要有系统管理权限。你写了几个脚本,并设置了它们的setuid,这样你指定 的一些用户只要执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份登录,以免不小心破坏了数据库服务器。通过执行这些脚本,他们可以完成数据 库备份及其他管理任务,而且在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限。另一个例子是/bin /passwd ,要读写/etc/passwd文件需要超级用户权限,但一般用户也需要随时可以改变自己的密码,所以/bin/passwd就设置了setuid,当用户改 自己密码的时侯就拥有了超级用户权限.2 d; ^3 k. k! A) r

  强制位对目录的作用

  默认情况下,用户建立的文件属于用户当前 所在的组。目录上设置了setgid,表示在此目录中,任何人建立的文件,都会属于目录所属的组。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

关注

0

粉丝

261

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.