讨论unix进程的设置用户ID,有效用户ID,保存设置ID,文件的设置位
来源:互联网 发布:淘宝店家精选怎么上 编辑:程序博客网 时间:2024/05/16 11:11
目的:
讨论unix进程的设置用户ID,有效用户ID,保存设置ID,文件的设置位在进程权限上的问题。
基础知识:
进程关联ID:
每个进程运行时都附带有用户ID和组ID属性,当对一个文件或设备进行操作时,内核会用进程的有效或实际用户(或组)ID去测试这个文件的3组权限位(用户,组,其他),当为真时才执行,否则保存:
1.实际用户ID,组ID:执行这个程序的用户和其所在的组
2.有效用户ID,组ID:操作文件时,内核用于测试权限的用户和组。通常和实际用户ID和组ID一致,但可以通过stat.st_uid、stat.st_gid进行改变。
3.保存的设置用户ID,组ID:该进程调用exec()函数族传递给新进程的有效用户ID和组ID,是当前的有效用户ID和组ID的一个副本。
说明:
1.通常进程操作文件时,内核都用有效用户ID(或组ID)去测试文件的相应权限位。
2.对于access()调用,内核将使用实际用户ID(或组ID)去测试权限位。
**3.当可执行文件(程序)设置了设置位后,其保存设置用户ID和组ID将被设置成所有者用户ID和组ID,一旦被exec()函数调用,即执行,那进程的有效用户ID和组ID将被设置成保存设置用户ID和组ID,即可执行文件的用户ID和组ID,如果不是进程的实际用户不是ROOT用户,则权限可以被增加或减少(非常重要的运用)**
为了说明设置位,用passwd命令解释:
#ls /usr/bin/passwd /etc/passwd -l
-rw-r--r-- 1 root root 1008 2013-04-03 14:00 /etc/passwd
-rwsr-xr-x 1 root root 37140 2011-02-15 06:11 /usr/bin/passwd
众所周知,passwd命令是同伙改变/etc/passwd中相应用户的密码字段来实现。观察/etc/passwd可以知道,只有root用户才有写的权限。
那么其他普通用户为何也能改变其内容呢?通过/usr/bin/passwd的权限可以看出该文件被设置了设置用户ID位(设置位),那么在其他用
户调用passwd时,该进程在修改/etc/passwd的内容时,它的有效用户ID被设置成/etc/passwd的保存的设置用户ID(root),经过内核测试后,
确认可以写入内容,故该进程虽然有其他普通用户调用,但它可以改变了/etc/passwd的内容,从而改变它自己的密码。
以上解释对组ID也实用。
讨论unix进程的设置用户ID,有效用户ID,保存设置ID,文件的设置位在进程权限上的问题。
基础知识:
进程关联ID:
每个进程运行时都附带有用户ID和组ID属性,当对一个文件或设备进行操作时,内核会用进程的有效或实际用户(或组)ID去测试这个文件的3组权限位(用户,组,其他),当为真时才执行,否则保存:
1.实际用户ID,组ID:执行这个程序的用户和其所在的组
2.有效用户ID,组ID:操作文件时,内核用于测试权限的用户和组。通常和实际用户ID和组ID一致,但可以通过stat.st_uid、stat.st_gid进行改变。
3.保存的设置用户ID,组ID:该进程调用exec()函数族传递给新进程的有效用户ID和组ID,是当前的有效用户ID和组ID的一个副本。
说明:
1.通常进程操作文件时,内核都用有效用户ID(或组ID)去测试文件的相应权限位。
2.对于access()调用,内核将使用实际用户ID(或组ID)去测试权限位。
**3.当可执行文件(程序)设置了设置位后,其保存设置用户ID和组ID将被设置成所有者用户ID和组ID,一旦被exec()函数调用,即执行,那进程的有效用户ID和组ID将被设置成保存设置用户ID和组ID,即可执行文件的用户ID和组ID,如果不是进程的实际用户不是ROOT用户,则权限可以被增加或减少(非常重要的运用)**
为了说明设置位,用passwd命令解释:
#ls /usr/bin/passwd /etc/passwd -l
-rw-r--r-- 1 root root 1008 2013-04-03 14:00 /etc/passwd
-rwsr-xr-x 1 root root 37140 2011-02-15 06:11 /usr/bin/passwd
众所周知,passwd命令是同伙改变/etc/passwd中相应用户的密码字段来实现。观察/etc/passwd可以知道,只有root用户才有写的权限。
那么其他普通用户为何也能改变其内容呢?通过/usr/bin/passwd的权限可以看出该文件被设置了设置用户ID位(设置位),那么在其他用
户调用passwd时,该进程在修改/etc/passwd的内容时,它的有效用户ID被设置成/etc/passwd的保存的设置用户ID(root),经过内核测试后,
确认可以写入内容,故该进程虽然有其他普通用户调用,但它可以改变了/etc/passwd的内容,从而改变它自己的密码。
以上解释对组ID也实用。
- 讨论unix进程的设置用户ID,有效用户ID,保存设置ID,文件的设置位
- 讨论unix进程的设置用户ID,有效用户ID,保存设置ID,文件的设置位
- 实际用户ID,有效用户ID,保存-设置-用户ID,文件的所有者ID
- unix的实际用户id,有效用户id,及保存的设置用户id
- UNIX 实际用户id 有效用户id 保存设置id
- 【UNIX】实际用户ID,有效用户ID,保存的设置用户ID
- linux进程的用户ID,有效ID,保存的设置ID
- linux进程的用户ID,有效ID,保存的设置ID
- 关于unix下实际用户ID、有效用户ID、设置用户ID、文件所有者ID的一点理解
- 关于unix下实际用户ID、有效用户ID、设置用户ID、文件所有者ID的一点理解
- 关于unix下实际用户ID、有效用户ID、设置用户ID、文件所有者ID的一点理解
- 实际用户ID 有效用户ID 保存设置用户ID
- Linux进程相关ID---有效用户ID 实际用户ID 保存设置用户ID
- unix环境 实际用户ID 有效用户ID 设置用户ID 的问题。
- “实际用户ID”、“有效用户ID”和“保存的设置用户ID”的区别
- “实际用户ID”、“有效用户ID”和“保存的设置用户ID”三个术语的区别
- “实际用户ID”、“有效用户ID”和“保存的设置用户ID”三个术语的区别
- 掌握Linux之实际用户ID 有效的用户ID 保存的设置用户ID
- busybox制作根文件系统配置记录及注意点
- 使用MFC创建悬浮窗口
- Android抖动动画
- 最简单的二分查找法
- JSTL 函数
- 讨论unix进程的设置用户ID,有效用户ID,保存设置ID,文件的设置位
- 使用Apache CXF实现Web Service
- source insight 配置
- ios退出登录后下次登录时账号密码还在
- 让笔记本成为无线路由器!
- Ubuntu下实时查看网络流量
- hive查询异常:Cannot create directory /tmp/hive-root/。。。Name node is in safe mode.
- Flash OBJECT和EMBED标签详解
- 55. 略谈Lotus Notes的与众不同及系列文章至此的总结