关于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. pureftp安装

    1.下载 #cd /usr/local/src #wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.t ...

  2. css重置的各种版本总结

    个人手机端常用到的: @charset "utf-8"; body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ...

  3. Quartz.NET | 佳佳的博客

    原文:Quartz.NET | 佳佳的博客 Quartz.NET 是一个定时计划任务的框架,支持 .NET Core. 本文示例代码大部分来自于官方教程:Quartz.NET - Quartz.NET ...

  4. 一、JsonTree

    一.JsonTree [ {"id":"4","pid":"1","name":"大家电& ...

  5. GUI学习之二十二——QRubberBand学习总结

    今天学习一种全新的输入控件——QRubberBand()控件(橡皮筋选中) 一.描述 QRubberBand()提供了一个矩形或西安来只是选择或边界的效果(就像在桌面上点击鼠标后拖拽拉出来的框一样), ...

  6. jupyter安装

    1. 安装ipython, jupyter pip install ipython pip install jupyter 2.查看是否有配置文件 jupyter notebook --generat ...

  7. 下载放在resource下面的excel文件

    1.将excel文件放项目resources目录下 2.打包的时候排除指定后缀文件,否则打包时会出现文件损坏的情况 <configuration> <encoding>UTF- ...

  8. 'No application found. Either work inside a view function or push'

    问题: 说是create_all()的地方有问题,莫名其妙. 后来经过查资料,找出解决方法.附上代码如下:

  9. 关于下拉框的onchange事件和onclick选择value值。

    下拉框的onchange事件和onclick,一般最好都选择onchange事件,onclick可能会不兼容有些浏览器. 下面是代码: <!DOCTYPE html><html la ...

  10. nodejs第一天

    按下node进入交互模式  ,按两次ctrl  + c  退出  或者输.exit退出