第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法通過調(diào)用 JNI 在 Java 中設(shè)置 seteuid

無法通過調(diào)用 JNI 在 Java 中設(shè)置 seteuid

慕田峪9158850 2021-06-30 13:23:52
我的應(yīng)用程序需要以非 root 用戶身份運(yùn)行,但需要切換到其他用戶來執(zhí)行一些命令。我嘗試過了:寫一個 JNI,JNIEXPORT void JNICALL Java_SetUIDJNI_setuid(JNIEnv *env, jobject thisObj,jstring uname) {    const char *name = jstringTostring(env,uname);    int pid;    struct passwd *p;    show_ids();    if ((p = getpwnam(name)) == NULL) {        perror(name);        exit(EXIT_FAILURE);    }    pid = (int) p->pw_uid;    printf("pid=%d\n",pid);    if (seteuid (pid) < 0) {        perror ("setuid");        exit (EXIT_FAILURE);    }    show_ids();}以root和chmod u+s構(gòu)建它-rwsr-xr-x 1 root root  76155 Aug  7 16:56 libsetuid.so*在java中調(diào)用它api = new SetUIDJNI();  // invoke the native methodapi.setuid("slurm");但是如果以非root身份運(yùn)行它,它就不起作用/opt/jdk1.8/jre/bin/java -Djava.library.path=../jni HelloJNI The real user ID is: 1000 The effective user ID is :1000   <= which expected is 0 setuid: Operation not permitted但如果 runner 是 root 則它有效The real user ID is: 0The effective user ID is :0pid=1002The real user ID is: 0The effective user ID is :1002這里有什么問題嗎?
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 228 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號