关于euid suid guid,参考这篇很好的文章

uid auid euid的区别?

initially: 最初地, 一开始地

jackson had initially bloodied his nose.

Initially, all went well.

uid: 你最开始登陆的那个用户的id.

euid: 是指当你使用 su命令, 切换了用户, 或者 run a setuid program时,的 uid

查看:

uid: 使用who am i命令

euid: 使用: whoami

linux下的两种syntax stlye:

一是, 标准的linux风格: standard linux sytax style: 在options的前面加上 短横线 -options

另一种是, 使用bsd风格: using BSD style : 选项前不加短横线 ps aux

----------------------------- ==

setuid,setguid??

  • 主要是这两个命令setuid, & setguid

  • 主要是对 系统下的可执行文件, 如: /bin/vi, /bin/touch, /bin/passwd等, 其他非可执行文件, 是没有意义的!

  • setuid, setgid的意思是: 当某个用户执行设置setuid的命令时, 这个用户就相当于灵魂附体, 就变成该命令的所有者在执行这个命令了, 一旦命令执行完毕,就马上恢复原来的用户身份.

  • 因此, 如果假设vi 的属性设置成 setuid, 那么就很危险了: 任何人执行vi, 都可以转变成root的身份, 都可以对/etc/passwd, /etc/shadow等文件进行操作,

    都可以删除所有用户的密码。。。。

  • 设置setuid的方法: chmod u+s /bin/vi, chmod g+s /bin/vi

    清除setuid的方法: chmod u-s /bin/vi, chmod g-s /bin/vi

    或者, 使用数字的方法, 要设置setuid要用4位数字, 将 u+s= 4, g+s=2 放置在原来的权限数字的前面:

    如: chmod 4755 /bin/vi,

    chmod 6755 /bin/vi

    当然, 如果要删除setuid的命令, 使用 : chmod 0755 /bin/vi

  • 举例:

    chmod u+s /bin/touch
[foo@localhost ~]$ touch bar
[foo@localhost ~]$ ll bar:
注意: 默认的文件的所有者 就是文件的创建者
这时候, 可以看到, bar的所有者是root! 而组是foo: 因为touch 具有setuid权限, 所以,当foo执行touch命令的时候, 就是用touch命令的所有者-- root
来执行的, 所有bar文件的所有者是root, 而组是foo, 没有变!
  • 当设置setuid权限后, 将会在 命令的 “x”权限位显示成 “s”

---------------------------- ==

文件的权限和命令的权限?

其实命令的权限 跟 普通文件的权限 是一样的, 其中rwx一样的是对该命令文件 本身的操作。

比如: ll /bin/vi

-rwxr--r-- root root ...

那么对于root用户,对这个vi文件本身, 他有读取、写(修改)、执行的权限, 所以, root可以移动、改名、甚至可以修改vi这个可执行文件本身内部的内容,

以至于你不能使用这个命令vi了

---------------------------- ==

注意, setuid是设置文件的 “setuid”权限, 对该命令文件本身的rwx 权限没有 半毛钱的关系!它表示的完全就是另外一个事情! 它 只是表示 这个命令如touch, passwd,vi等 在被其他非所有者 用户执行时, 将会“变身”为 命令文件所有者的身份(即: root用户)!

uid auid euid的区别的更多相关文章

  1. linux UID,GID,EUID,EGID,SUID,SGID

    SUID, SGID, sticky位可以参考: http://onlyzq.blog.51cto.com/1228/527247/ SUID属性只能运用在可执行文件上,当用户执行该执行文件时,会临时 ...

  2. Android 中pid与uid的作用与区别

    PID:为Process Identifier, PID就是各进程的身份标识. 程序一运行系统就会自动分配给进程一个独一无二的PID.进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在 ...

  3. 服务器编程入门(5)Linux服务器程序规范

    问题聚焦:     除了网络通信外,服务器程序通常还必须考虑许多其他细节问题,这些细节问题涉及面逛且零碎,而且基本上是模板式的,所以称之为服务器程序规范.     工欲善其事,必先利其器,这篇主要来探 ...

  4. Linux 高性能服务器编程——Linux服务器程序规范

    问题聚焦:     除了网络通信外,服务器程序通常还必须考虑许多其他细节问题,这些细节问题涉及面逛且零碎,而且基本上是模板式的,所以称之为服务器程序规范.     工欲善其事,必先利其器,这篇主要来探 ...

  5. UID中RUID、EUID和SUID的区别

    看UNIX相关的书时经常能遇到这几个概念,但一直没有好好去理清这几个概念,以致对这几个概念一直一知半解.今天好好区分了一下这几个概念并总结如下.说白了这几个UID引出都是为了系统的权限管理. 下面分别 ...

  6. Linux: uid/euid/suid的关系

    三种进程用户的简单解释:三种用户/组ID:uid/gid: 实际用户/组IDeuid/egid: 有效用户/组ID, 进程执行某个应用的用户/组ID.suid/sgid: 设置用户/组ID, 应用所属 ...

  7. Linux内核学习笔记: uid之ruid,euid,suid

    转自: http://www.linuxidc.com/Linux/2011-09/43194.htm 看UNIX相关的书时经常能遇到这几个概念,但一直没有好好去理清这几个概念,以致对这几个概念一直一 ...

  8. UID, EUID, SUID, FSUID

    摘自:https://blog.csdn.net/wh8_2011/article/details/50825340 UID, EUID, SUID, FSUID 2016年03月08日 10:40: ...

  9. 整理下本周工作中遇到的疑问;uid/euid/suid;docker镜像管理

    1.系统中的父子进程关系,以及docker是如何处理的这种父子进程关系,线上问题发现,子进程长时间得不到退出. 2.调用system系统调用发生了啥事情,发现大量的页表拷贝. 3.通过shell命令通 ...

随机推荐

  1. ASP.NET中数据库数据导入Excel并打印(2)

    大家可能觉得上面的代码比较复杂,因为上面对于对打印要求比较高的应用,是十分有效的.如果只是单单对数据进行导出,还可以使用简单的格式,比如使用以下的代码:      Private Sub Page_L ...

  2. asp.net table表格表头及列固定实现

    http://blog.csdn.net/zdw_wym/article/details/48630337 在开发中常会遇到table表格中列特别多,下拉后,表头就看不见了,水平滚动后,第1.2列就看 ...

  3. 网络爬虫之JSOUP

    JSOUP中文文档:http://www.open-open.com/jsoup/推荐博客:http://www.cnblogs.com/jycboy/p/jsoupdoc.html 从一个URL加载 ...

  4. wordpress添加自定义菜单栏

    1. 以下代码是wordpress的wp_nav_menu(); <?php $defaults = array( 'container'=>false, //父级div为空 'link_ ...

  5. Spring基础06——依赖注入的一些细节

    1.字面值 可用字符串表示的值,可以通过<value>元素标签或value属性进行注入.基本数据类型及其封装类,String类等类型都可以采取字面值注入的方式.若字面值包含特殊字符,可以使 ...

  6. tortoise svn回滚常用命令

    一.revert to this version 和 revert changes from this version的区别 假设SVN已有版本4814-4854:1.基于4837版本执行[rever ...

  7. 自定义str_repr_format

    class Foo: def __init__(self,name,age): self.name = name self.age = age def __str__(self): #自定义类的实例对 ...

  8. redux中间件来执行异步操作

    在redux中我们都是执行同步操作,如果我们想要执行异步操作,那么我们就需要依赖到中间件,具体的中间件的概念我就不描述了相信官方文档更详尽.现在就描述下具体的用法,就已我们项目中用到的最多的数据请求为 ...

  9. hdu 3530 单调队列最值

    /** HDU 3530 单调队列的应用 题意: 给定一段序列,求出最长的一段子序列使得该子序列中最大最小只差x满足m<=x<=k. 解题思路: 建立两个单调队列分别递增和递减维护(头尾删 ...

  10. 【GDOI2014模拟】雨天的尾巴

    题目 深绘里一直很讨厌雨天. 灼热的天气穿透了前半个夏天,后来一场大雨和随之而来的洪水,浇灭了一切. 虽然深绘里家乡的小村落对洪水有着顽固的抵抗力,但也倒了几座老房子,几棵老树被连 根拔起,以及田地里 ...