setuid()与seteuid()的区别
来源:互联网 发布:java api chm 中文 编辑:程序博客网 时间:2024/05/17 04:23
头文件:#include <unistd.h>
定义函数:int setuid(uid_t uid);
函数说明:
setuid()用来重新设置执行目前进程的用户识别码. 不过, 要让此函数有作用, 其有效的用户识别码必须为0(root). 在Linux 下, 当root 使用setuid()来变换成其他用户识别码时, root 权限会被抛弃, 完全转换成该用户身份, 也就是说, 该进程往后将不再具有可setuid()的权利, 如果只是向暂时抛弃root 权限, 稍后想重新取回权限, 则必须使用seteuid().
返回值:执行成功则返回0, 失败则返回-1, 错误代码存于errno.
附加说明:一般在编写具 setuid root 的程序时, 为减少此类程序带来的系统安全风险, 在使用完root 权限后建议马上执行setuid(getuid());来抛弃root 权限. 此外, 进程uid 和euid 不一致时Linux 系统将不会产生core dump.
定义函数:int setuid(uid_t uid);
函数说明:
setuid()用来重新设置执行目前进程的用户识别码. 不过, 要让此函数有作用, 其有效的用户识别码必须为0(root). 在Linux 下, 当root 使用setuid()来变换成其他用户识别码时, root 权限会被抛弃, 完全转换成该用户身份, 也就是说, 该进程往后将不再具有可setuid()的权利, 如果只是向暂时抛弃root 权限, 稍后想重新取回权限, 则必须使用seteuid().
返回值:执行成功则返回0, 失败则返回-1, 错误代码存于errno.
附加说明:一般在编写具 setuid root 的程序时, 为减少此类程序带来的系统安全风险, 在使用完root 权限后建议马上执行setuid(getuid());来抛弃root 权限. 此外, 进程uid 和euid 不一致时Linux 系统将不会产生core dump.
0 0
- setuid()与seteuid()的区别
- setuid,seteuid,setreuid
- LINUX:setuid/seteuid/setreuid/setresuid
- linux/unix下setuid/seteuid/setreuid/setresuid
- setuid seteuid setreuid 三个函数讲解
- linux/unix下setuid/seteuid/setreuid/setresuid
- linux/unix下setuid/seteuid/setreuid/setresuid
- linux/unix下setuid/seteuid/setreuid/setresuid
- linux/unix下setuid/seteuid/setreuid/setresuid
- chmod u+s用法和setuid(),seteuid()
- setuid seteuid setreuid 三个函数讲解
- chmod u+s用法和setuid(),seteuid()
- setuid seteuid 在 HP-UX Linux 操作系统上测试
- seteuid
- seteuid
- linux下setuid,setgid ,setbit的区别
- SetUID与SetGID应用
- SetUID与SetGID应用
- Merge Two Sorted Lists
- 李鹏飞
- 关于两个变量不使用临时变量进行值交换
- Seam文件(图片)上传及相关学习记录
- spring MVC原理
- setuid()与seteuid()的区别
- WLAN一些术语和基本概念
- LeetCode 39 Path Sum II
- Delphi 比较第三方正则组件 PerlRegEx 和 官方的 RegularExpressions 速度测试
- 逗号表达式
- 2014.08.30 周六-第一个servlet程序
- 运行二级指针在单链表中进行删除操作
- Rotate List 右移字符串
- MooseFS源码分析----master服务器初始化过程