关于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. [ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Cannot access nexus-aliyun (http://maven.aliyun.com/nexus/content/groups/public) in off

    这个错误是将work offline打勾引起的. 这个是离线工作模式,相当于断网,远程的jar会拉不下来.

  2. 初次尝试python爬虫,爬取小说网站的小说。

    本次是小阿鹏,第一次通过python爬虫去爬一个小说网站的小说. 下面直接上菜. 1.首先我需要导入相应的包,这里我采用了第三方模块的架包,requests.requests是python实现的简单易 ...

  3. SCUT - 486 - 无向图上的点 - Dijkstra

    好像原题是这个?https://www.cnblogs.com/kanchuang/p/11120052.html 这个有解释:https://blog.csdn.net/wddwjlss/artic ...

  4. P3158 [CQOI2011]放棋子(dp+组合数)

    P3158 [CQOI2011]放棋子 放棋子的顺序和方案数无关,所以可以从按颜色递推 设$f[u][p][k]$为放到第$u$种颜色,所剩空间$p*k$的方案数 $g[u][i][j]$表示第$u$ ...

  5. oracle数据库启动报错,不能启动ASM实例

    数据库rac启动时报错,日志例如以下,后来使用 Sat Jun  7 06:02:11 2014 GATHER_STATS_JOB encountered errors.  Check the tra ...

  6. 【转】Hadoop 1.x中fsimage和edits合并实现

    在NameNode运行期间,HDFS的所有更新操作都是直接写到edits中,久而久之edits文件将会变得很大:虽然这对NameNode运行时候是没有什么影响的,但是我们知道当NameNode重启的时 ...

  7. 14-jquery元素节点操作

    **创建节点** ```var Div = $('<div>');var Div2 = $('<div>这是一个div元素</div>');``` **插入节点** ...

  8. 基于Nginx+nginx-rtmp-module+ffmpeg搭建rtmp、hls流媒体服务器

    上篇文章是基于Red5与ffmpeg实现rtmp处理NVR或摄像头的监控视频处理方案,有兴趣的朋友可以查看. Nginx及nginx-rtmp-module安装 新建目录 mkdir /usr/loc ...

  9. egon说一切皆对象--------面向对象进阶紫禁之巅

    一.检查isinstance(obj,cls)和issubclass(sub,super) class Foo(object): pass obj = Foo() isinstance(obj, Fo ...

  10. bzoj4326: NOIP2015 运输计划(二分+LCA+树上差分)

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=4326 题目大意:有一颗含有n个顶点的树,每两个点之间有一个边权,现在有m个运输计划,每个 ...