linux 实际用户ID、有效用户ID以及保存的设置用户ID
2015-08-03 20:44
561 查看
以下是网络上查询到的解释,个人比较喜欢:
实际用户ID是比较明显的,就是用户的登录ID,比如我们登录的是普通用户cheney,这个就是在整个会话周期内的实际用户ID。
有效用户ID是说当cheney这个用户在执行某个进程的时候它的身份,那为什么这两个会不一样呢,我们看下系统的passwd程序,它的权限是这样的
-rwsr-xr-x
1 root root 37100
2010-09-03
18:28
/usr/bin/passwd
我们发现这是一个root拥有的文件,但是是不是意味这cheney这个用户就不能执行呢?不是,正是因为这里的第三位置为s,表示这是一个setuid的程序,所有执行passwd的用户实际上都是以root权限在运行的,这时root就是有效用户。
那好了,保存用户ID也不难理解了,当我们运行一个setuid的程序后,我们要回到原来的用户身份去,这时候就需要获取我们原来的身份是什么,而这个信息是存在保存的set uid中的。
备注:ping 命令也是同样的道理,因为ping需要创建row socket,需要root权限
-rwsr-xr-x. 1 root root 40760 Jul 19 2011 /bin/ping
FROM: http://blog.chinaunix.net/uid-18905703-id-3843177.html
实际用户ID是比较明显的,就是用户的登录ID,比如我们登录的是普通用户cheney,这个就是在整个会话周期内的实际用户ID。
有效用户ID是说当cheney这个用户在执行某个进程的时候它的身份,那为什么这两个会不一样呢,我们看下系统的passwd程序,它的权限是这样的
-rwsr-xr-x
1 root root 37100
2010-09-03
18:28
/usr/bin/passwd
我们发现这是一个root拥有的文件,但是是不是意味这cheney这个用户就不能执行呢?不是,正是因为这里的第三位置为s,表示这是一个setuid的程序,所有执行passwd的用户实际上都是以root权限在运行的,这时root就是有效用户。
那好了,保存用户ID也不难理解了,当我们运行一个setuid的程序后,我们要回到原来的用户身份去,这时候就需要获取我们原来的身份是什么,而这个信息是存在保存的set uid中的。
备注:ping 命令也是同样的道理,因为ping需要创建row socket,需要root权限
-rwsr-xr-x. 1 root root 40760 Jul 19 2011 /bin/ping
FROM: http://blog.chinaunix.net/uid-18905703-id-3843177.html
相关文章推荐
- Linux下使用curl
- linux查看系统状态命令
- Linux id 命令 - 显示用户id和组id信息
- 管理Linux文件权限和所有权
- 关于Linux文件访问权限与设置用户id位
- 理清Linux中的各种用户ID关系
- Linux 无法开机
- Linux 无法开机 显示 an error occurred during the file&nb
- 如何理解挂载点
- linux将程序放到后台执行
- linux的mount(挂载)命令详解
- linux开机启动十步骤
- linux_c 开发(5-5)进程间通讯_消息队列
- 鸟哥的Linux私房菜 基础学习篇(第三版)
- Linux 所学命令
- Linux 虚拟机 快捷键
- RedHat 7.0 Linux 下划分区,分区加密,配额,逻辑卷管理
- Linux中替换文本中的字符串
- Makefile经典教程(掌握这些足够)
- 初窥Linux 之 我最常用的20条命令