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

  免費(fèi)注冊 查看新帖 |

Chinaunix

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

[C] Linux中,進(jìn)程組ID和用戶組ID以及有效組ID是什么關(guān)系? [復(fù)制鏈接]

論壇徽章:
1
2015元宵節(jié)徽章
日期:2015-03-06 15:52:30
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-03-13 11:10 |只看該作者 |倒序?yàn)g覽
與進(jìn)程關(guān)聯(lián)的ID有6個(gè)以上:實(shí)際用戶ID。實(shí)際組ID。有效用戶ID。有效組ID。保存的設(shè)置用戶ID。保存的設(shè)置組ID。那進(jìn)程組ID對應(yīng)的是其中哪個(gè),還是說它是進(jìn)程的另一種ID?他們的區(qū)別和聯(lián)系是什么?看書自己住,琢磨不明白,求大神指導(dǎo)。

論壇徽章:
1
2015年迎新春徽章
日期:2015-03-04 10:16:53
2 [報(bào)告]
發(fā)表于 2015-03-16 13:11 |只看該作者
這幾個(gè)跟權(quán)限配置有關(guān),了解下chroot就知道了。

至于為什么搞那么多數(shù)字,跟unix的歷史有關(guān),linux是unix的一個(gè)分支的子孫,所有這就有點(diǎn)遠(yuǎn)了。

論壇徽章:
11
摩羯座
日期:2013-09-29 17:39:09白羊座
日期:2014-11-13 09:38:14技術(shù)圖書徽章
日期:2014-01-17 15:07:36獅子座
日期:2013-12-25 14:01:52技術(shù)圖書徽章
日期:2013-12-17 11:33:22技術(shù)圖書徽章
日期:2013-12-03 10:27:57天秤座
日期:2013-11-08 15:47:19申猴
日期:2013-10-29 13:16:32未羊
日期:2013-10-12 22:28:56辰龍
日期:2013-10-09 14:39:5515-16賽季CBA聯(lián)賽之山東
日期:2016-07-25 10:23:00
3 [報(bào)告]
發(fā)表于 2015-03-16 17:36 |只看該作者
回復(fù) 1# chen_bo0302
real user/group ID 標(biāo)識(shí)了進(jìn)程的執(zhí)行者/創(chuàng)建者,real ID 通常在用戶登錄系統(tǒng)時(shí),由login(1)進(jìn)程讀取系統(tǒng)passwd/group 文件來設(shè)置

effective user/group ID 與supplementary group ID 共同決定了授予進(jìn)程執(zhí)行系統(tǒng)調(diào)用時(shí)的權(quán)限,effective ID 通常與real ID 具有相同的值,但可以通過一些系
統(tǒng)調(diào)用或執(zhí)行set-user/group-ID 程序來更改

set-user/group-ID 是文件屬性,而不是進(jìn)程屬性;當(dāng)設(shè)置了set-user-ID 權(quán)限位的文件被執(zhí)行時(shí),內(nèi)核會(huì)將進(jìn)程的effective user ID 設(shè)置為可執(zhí)行文件的屬主(擁有了文件
屬主的權(quán)限)

saved set-user/group-ID 用于set-user/group-ID 程序,在進(jìn)程執(zhí)行時(shí)保存effective user-user/group ID 當(dāng)前值的副本,使得進(jìn)程的effective ID 值可以在
real ID 與saved set ID 之間切換,實(shí)現(xiàn)臨時(shí)提升與降低權(quán)限
   
file-system user/group ID 是Linux 進(jìn)程的特有屬性,當(dāng)執(zhí)行文件系統(tǒng)相關(guān)的操作時(shí),使用file-system ID 和supplementary group ID 來決定授予進(jìn)程的權(quán)限
file-system ID 通常與相應(yīng)的effective ID 具有相同的值,且隨effective ID 的變化而變化

supplementary group ID 是指進(jìn)程的real user ID 所屬的附加組的GID

程序驗(yàn)證:
root用戶(id == 0)編輯程序pids.c并編譯
  1. #define _GNU_SOURCE
  2. #include <stdio.h>
  3. #include <unistd.h>

  4. int main(void)
  5. {
  6.     uid_t ruid, rgid, euid, egid, suid, sgid;

  7.     ruid = getuid();
  8.     rgid = getgid();
  9.     euid = geteuid();
  10.     egid = getegid();
  11.    
  12.     getresuid(&ruid, &euid, &suid);
  13.     getresgid(&rgid, &egid, &sgid);

  14.     printf("Real User-ID: %d\n", ruid);
  15.     printf("Real Group-ID: %d\n", rgid);
  16.     printf("Effective User-ID: %d\n", euid);
  17.     printf("Effective Group-ID: %d\n", egid);
  18.     printf("Saved set-user-ID: %d\n", suid);
  19.     printf("Saved set-group-ID: %d\n", sgid);

  20.     return 0;
  21. }
復(fù)制代碼
  1. # gcc -m32 pids.c -o pids
復(fù)制代碼
新建普通用戶(id != 0)
  1. # useradd user0 -m -s /bin/bash
復(fù)制代碼
復(fù)制pids程序到普通用戶的宿主目錄,并添加set-user-ID權(quán)限位
  1. # cp pids /home/user0/
復(fù)制代碼
  1. # chmod u+s /home/user0/pids
復(fù)制代碼
切換到普通用戶
  1. # su user0
復(fù)制代碼
普通用戶運(yùn)行程序
  1. $ id
  2. uid=1000(user0) gid=1000(user0) groups=1000(user0)
  3. $ ./pids
  4. Real User-ID: 1000
  5. Real Group-ID: 1000
  6. Effective User-ID: 0
  7. Effective Group-ID: 1000
  8. Saved set-user-ID: 0
  9. Saved set-group-ID: 1000
復(fù)制代碼
希望可以為你提供一些思路

論壇徽章:
1
2015元宵節(jié)徽章
日期:2015-03-06 15:52:30
4 [報(bào)告]
發(fā)表于 2015-03-18 12:35 |只看該作者
回復(fù) 3# superwujc

感覺有點(diǎn)明白了,謝謝啊


   
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP