Linux中的setuid ( uid_t uid) 函数的用法详解
1、函数原型:头文件:#include <unistd.h> 定义函数:int setuid(uid_t uid); 返回值:执行成功则返回0, 失败则返回-1, 错误代码存于errno.

3、查看a.txt文件和可执行文件的权限:在当前目录下使用ll命令来查看,结果如下:

5、分析:因为a3可执行文件有 s 权限,所以,其他用户可以使用文件拥有者 1002 的权限去执行程序,所以euid 和 suid的值为1002.此时在访问a.txt的时候是可以使用euid来进行a.txt的文件权限检查。因为a.txt的的所有者是1002,所以权限检查通过。当在文件a.txt中写入数据结束以后,调用setuid ( getuid() )将原来的权限设置回去了,所以此时输出euid的值为1000.这样就不出现安全问题。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:61
阅读量:51
阅读量:79
阅读量:44
阅读量:85