亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1994 | 回復(fù): 2
打印 上一主題 下一主題

[故障求助] 求助 AIX setreuid 出錯 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-05-12 20:49 |只看該作者 |倒序瀏覽
項目在做由hp-ux 到AIX的遷移, 有個文件opf_exe.c是用來改變用戶id的

首先文件權(quán)限在hp和aix上是相同的,執(zhí)行這個exe預(yù)期結(jié)果應(yīng)該是用戶id改變 組id改變
-rwsr-sr-x    1 asg_op   sms            9407 May 12 18:28 /uddereg1/startup/opf_exe

在HP-UX上是成功的
    shpu71 /home/md07718>id
      uid=1000107718(md0771 gid=165(rddegp)
     
      shpu71 /home/md07718>/uddereg1/startup/opf_exe /bin/ksh
      執(zhí)行了opf_exe后 用戶uid成功改變

      shpu71 /home/md07718>id
      uid=8702(asg_op) gid=8646(sms) groups=165(rddegp)


但是在AIX上
    當(dāng)前id
      saixu108 /tmp/DDE/compile/c>id
      uid=1000107718(md0771 gid=165(rddegp)

    執(zhí)行opf_exe 以后卻出現(xiàn)錯誤
    Error in setreuid


不清楚為什么會setreuid 失。 是AIX的安全設(shè)置嗎?哪位高手可以解釋下?


謝謝!



附opf_exe.c
#include <unistd.h>
#include <sys/wait.h>
#include <stdio.h>
#include <sys/id.h>

main(int argc, char *argv[])
{
        uid_t                   uid, euid ;
        gid_t                   gid, egid ;
        int                     i ;
        char                    buffer[1024] ;

        if (argc == 1)
        {
                printf ("No arguments passed to program !\n" ;
                exit(1) ;
        }
        gid = getgid() ;
        egid = getegid() ;

        printf("id is retrieved\n";
        printf("gid is %d\n",gid);
        printf("egid is %d\n",egid);
        if ( setregid(egid, egid) != 0 )
        {
                printf("Error in setresgid \n" ;
                exit(1) ;
        }

        uid = getuid() ;
        euid = geteuid() ;

        printf("uid is %d\n",uid);
        printf ("euid is %d\n",euid);

        if ( setreuid(euid, euid) == 0 )
        {
                /* successful */

                strcpy(buffer, argv[1]) ;

                for (i=2; i < argc ; i++)
                {
                        strcat(buffer, " '" ;
                        strcat(buffer, argv) ;
                        strcat(buffer, "' " ;
                }
                i = system(buffer) ;
        }
        else
        {
                printf("Error in setreuid \n" ;
                exit(1) ;
        }
        exit(0) ;
}

論壇徽章:
0
2 [報告]
發(fā)表于 2010-05-12 22:45 |只看該作者
沒人知道么

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
3 [報告]
發(fā)表于 2010-05-14 20:41 |只看該作者
你起碼可以strerror(errno)來看一下,
而不是只有一個“Error in setreuid”。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP