当前位置:  技术问答>linux和unix

(在线等)问个关于切换getid和getuid的问题

    来源: 互联网  发布时间:2016-10-20

    本文导语:  #include  #include  #include  #include  int main() {     uid_t uid ,euid;     uid = getuid() ; printf("%dn",uid);     euid = geteuid(); printf("%dn",euid);     //printf("my uid :%un",getuid());  //.........uid ......     //printf("my euid :%un",geteuid())...


#include 
#include 
#include 
#include 

int main()
{
    uid_t uid ,euid;

    uid = getuid() ;
printf("%dn",uid);
    euid = geteuid();
printf("%dn",euid);

    //printf("my uid :%un",getuid());  //.........uid ......
    //printf("my euid :%un",geteuid()); //.........euid
    if(setreuid(euid, uid))  //.....id
        perror("setreuid");
printf("after exchange..........n");
printf("%dn",uid);
printf("%dn",euid);
    //printf("after setreuid uid :%un",getuid());
    //printf("afer sertreuid euid :%un",geteuid());

    //system("/sbin/iptables -L"); //..iptables -L..
   system("/var/www/cgi-bin/test.sh"); //.....root.......
    return 0;
}


run_id的信息为:
-rwsr-xr-x    1 test     root        12204 Nov 25 21:11 run_id
我在root用户下编译这个程序生成run_id.然后执行 chown test run_id和chmod u+x run_id命令,之后切换到test用户执行,可是执行结果是

501
501
after exchange..........
501
501


我想问下为什么会这样的结果,哪里弄错了呢??

|
lz 你交换之后,显示的仍然是之前的那个变量,而不是重新获取的uid、euid 。。

|

我认为你是想测试saved-set-uid。但是LZ给出的信息不匹配。

这个操作:
在root用户下编译这个程序生成run_id.然后执行 chown test run_id和chmod u+x run_id命令
不能得出:
-rwsr-xr-x 1 test root

这里缺少了chmod u+s run_id

首先,可执行文件没有suid标志时,execXXX()后的进程,它的uid与euid是一致的。
如果,有suid标志时,execXXX()后的进程,uid保持不变,euid等于可执行文件的拥有者,之后saved-set-uid等于euid,也就是等于可执行文件的拥有者。

看LZ的案例,可执行文件的拥有者,经过chown命令后是test,又是用test帐号执行。显然是没效果了。

应该换个用户执行吧,与拥有者不同的。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 简单的输入输出问题 在线等待 在线给分
  • 在线等,在线给分!(简单问题,急)
  • 在线等几个简单问题解答,答出一个在线加50分。
  • linux问题 secureCRT连接的问题 在线等急!~~
  • 关于red hat 8.0的问题,不够再给,(在线等)
  • linux下的vi中的乱码问题(急急急,在线等待!!!!!!,解决问题给高分)
  • 急!Linux下编程的问题(在线等)
  • 请教linux共享上网的问题!!!在线等,问题解决马上结贴
  • 装linux遇到问题,有高手在线帮忙吗?请发信息给我
  • FreeBSD安装问题!(在线等待)
  • 安装问题 急!!!在线等待
  • HP-UX重启后,FTP出现问题,在线等。。。。
  • 有关liunx启动的问题?在线等待!!!
  • (在线等)问一个u8和u16的问题
  • 有关日期,简单的问题!在线等!
  • jsp小问题(在线等待)
  • 在线等待!cmp的问题
  • Linux9.0下安装MySQL的问题(在线等)急!
  • vsftpd配置的奇怪问题,大侠帮忙!在线等!
  • jre的配置问题!在线等!
  • 基于Html5的mockups在线工具简介
  • 装MYSQL后启动错误! mysqld ended --在线急等!在线急等!在线急等!在线急等!-----
  • MyEclipse SVN插件SubEclipse 在线离线等几种安装方式介绍
  • 智能在线表单设计器 FreeForm智能在线表单设计器
  • Linux使用群24032501,保持20人在线,目标50人在线
  • 怎么用能让asp实现统计在线人数的功能。在线等待!!!帮忙送分!
  • 在线求教, 为什么不能开始除root之外的用户登录??...很急, 在线等
  • sqlserver iis7站长之家
  • 在线等,在线给分!!!!!!!!!!
  • 在线求助!关于如何使用“信号”的方式来响应键盘按下的消息!在线急盼回复!
  • 如何判断在线用户,主要是如何判断用户关闭所有窗口(即他已经不在线了)?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3