当前位置: 技术问答>linux和unix
程序运行过程中改变用户执行权限
来源: 互联网 发布时间:2015-12-13
本文导语: 各位,现在遇到了一个很头疼的问题: 我的代码中使用了一些特殊的socket(AF_NDRV, SOCK_RAW,0);可是总要在root权限下才能执行成功,请问如何才能在代码执行的过程中提高用户的执行权限那? 谢谢! | ...
各位,现在遇到了一个很头疼的问题:
我的代码中使用了一些特殊的socket(AF_NDRV, SOCK_RAW,0);可是总要在root权限下才能执行成功,请问如何才能在代码执行的过程中提高用户的执行权限那?
谢谢!
我的代码中使用了一些特殊的socket(AF_NDRV, SOCK_RAW,0);可是总要在root权限下才能执行成功,请问如何才能在代码执行的过程中提高用户的执行权限那?
谢谢!
|
在程序中调用setuid函数.
将可执行文件设置setuid位:
编译完的可执行文件test;
chown root:root test
chmod +s test
使用普通用户身份执行,执行过程中可以把权限设置为文件所有者权限,我们设置了文件所有者为root,所以他可以以root权限执行。
将可执行文件设置setuid位:
编译完的可执行文件test;
chown root:root test
chmod +s test
使用普通用户身份执行,执行过程中可以把权限设置为文件所有者权限,我们设置了文件所有者为root,所以他可以以root权限执行。