【生意多】-免费发布分类信息
当前位置: 首页 » 新闻 » 教程 » 正文

linux的SUID GUID

放大字体  缩小字体 发布日期:2020-06-18 21:22:48    浏览次数:11
导读

  第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于上面的三组rwx位。  由于SUID和SGID位是在执行程序时起作用(程序的可执行位被设置),而可执行位只对普通文件和目录文件有意义,所以设置其他种类文件的SUID和SGID没有意义。  如果普通文件myfile是属于foo用户的,是可执行的,现在没有设置SUID位

  第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于上面的三组rwx位。

  由于SUID和SGID位是在执行程序时起作用(程序的可执行位被设置),而可执行位只对普通文件和目录文件有意义,所以设置其他种类文件的SUID和SGID没有意义。

  如果普通文件myfile是属于foo用户的,是可执行的,现在没有设置SUID位,ls -al命令显示如下:-rwxr-xr-x 1 foo staff 7734 Apr 05 17:07 myfile。任何用户都可以执行这个程序myfile,UNIX内核是根据什么来确定一个进程对资源的访问权限的呢?是这个进程的运行用户的有效ID,即euid、egid。

  对一个进程来说,有运行这个进程的user id和group id,用户可以用id命令来查看自己的或其他用户的user id和group id。除了user id和group id外,还有两个称之为effective id(有效id),上面四个id表示为:uid、gid、euid、egid。内核是根据euid和egid来确定进程对资源的访问权限。

  一个程序如果设置了SUID,则euid和egid变成运行的程序的所有者的uid和gid,例如kevin用户运行myfile,

  SUID的作用就是这样,让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源,passwd就是一个鲜明的例子。

  /etc/passwd 文件中存放各个用户的账户相关信息,/usr/bin/passwd 是执行修改和查看此文件的程序。

  如上,从权限上看,/etc/passwd文件仅有root用户才有写(w)权限,可是为什么每个用户都可以直接调用/usr/bin/passwd来写/etc/passwd从而修改自己的密码呢?

  普通文件的sticky位会被linux内核忽略,目录的sticky位表示这个目录里的文件只能被owner和root删除。

  如果用户对目录有wx权限,则可以删除其中的文件和子目录,即时该用户不是这些文件的所有者,而且也没有读或写

  粘着位出现在执行许可的位置上,用t表示,设置了该位后,其他用户就不可用删除不属于他的文件和目录。

  所以说,想删除一个目录里面的文件,需要获得目录的wx权限,没有r权限只是不能查看,进入目录删除还是可以的。

  含义:文件的该位被设 置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超级用户 的特权了,这是该位将变成一个安全漏洞,因此不要轻易设置该位。SGID含义:运行者将具有文件所有组的权限。STICKY粘合位: 要求操作系统既是在可执行程序退出后,仍要在内存中保留该...

  安全上下文前提:进程有属主和属组,文件有属主和属组任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限启动为进程之后,其进程的属主为发起者:进程的属组为发起者所属的组 进程访问文件时的权限,取决于进程的发起者进程的发起者,同文件属主,则应用文件属主权限进程的发起者,属于文件的属组,则应用文件属组......

  在unix环境高级编程中,获取进程的用户id有两种方法:uid_t getuid(void) //调用进程的实际用户iduid_t geteuid(void) //调用进程的有效用户id什么是有效用户id跟实际用户id,这里可能有点迷惑,在普通情况下,实际用户id就是有效用户id,其实简单来说就是有效用户id就是该程序的所有者,而实际用户id就是该程序执行时候的用户,比如某些时候需要......

  2)以用户zhangsan登入,做下列测试:在其家目录下分别使用mkdir、mymd1命令尝试创建snew01、snew023)查看snew01、snew02权限及归属关系

  特殊权限的一种,能够用来传递可执行程序所有者的身份及具备所有者的权限。注意事项:只针对可执行程序文件、可执行程序所有者必须......

  )在时间和空间都是唯一的。为保证空间的唯一性,每个UUID使用了一个48位的值来记录,一般是计算机的网卡地址。为保证时间上的唯一性,每个UUID具有一个60位的时间戳(timestamp)。这个时间戳表示自公元1582年(绝对不是1852,这是《COM技术内幕》,1999年3月第1版第89页中的一个错误)1......

  : 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者; chmod u+s FILE chmod u-s FILE 如果FILE本身原来就有执行权限,则

  显示为s;否则显示S;SGID: 运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组; chmod g+s FI......

  为什么要使用这种类型的脚本?这里有一个很好的例子。我管理着几个大型的数据库系统,而对它们进行备份需要有系统管理权限。我写了几个脚本,并设置了它们的g u i d,这样我指定的一些用户只要执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份登录,以免不小心破坏了数据库服务器。通过执行这些脚本,他们可以完成数据库备份及其他管理任务,但是在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限。有相当一些U N I X命令...

  注:黑色部分为书本的摘抄(个人认为书本解释的很好,所以就直接引用了),其它部分为个人的理解。

  意味着如果A用户对属于他自己的shell脚本文件设置了这种权限,那么其他用户在执行这个脚本的时候就拥有了A用户的权限。    所以,如果 root用户对某一脚本设置了这一权限的话则其他用户执行该脚本的时候则拥有了...

 
关键词: linuux
(文/小编)
打赏
免责声明
• 
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://www.31duo.com/news/show-286833.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 

(c)2016-2019 31DUO.COM All Rights Reserved浙ICP备19001410号-4

浙ICP备19001410号-4