青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 25, comments - 7, trackbacks - 0, articles - 0
一個進程的 real user ID 是指運行此進程的用戶角色的 ID。
一個進程的 effective user ID 是指此進程目前實際有效的用戶 ID(也就是權限的大小),effective user ID 主要用來校驗權限時使用,比如打開文件、創建文件、修改文件、kill 別的進程,等等。
如果一個進程是以 root 身份來運行的,那么上面這兩個 ID 可以用 setuid/seteuid 隨便修改,想怎么改就怎么改,改來改去都可以。
但是如果一個進程是以普通用戶身份來運行的,那么上面這兩個 ID 一般來說是相同的,并且也不能隨便修改。只有一種情況例外:此進程的可執行文件的權限標記中,設置了“設置用戶 ID”位!
在命令行中,設置一個可執行文件的“設置用戶 ID”位的最簡單的方法,就是用
chmod +s /path/to/file

這個命令。
一旦用了這個命令之后,再執行這個文件,
那么生成的進程的 effective user ID 就變成了這個可執行文件的 owner user ID(屬主用戶 ID),
而 real user ID 仍然是啟動這個程序時所用的用戶的 ID。
打個比方來說,如果有這樣的一個文件:
引用:-rw[color=red]s[/color]r-[color=red]s[/color]r-x 1 susesuse susesuse 7902 2006-08-31 13:22 tuid

注意這個文件已經用 chmod +s 命令設置過“設置用戶 ID”位了。
然后我用 flw 這個用戶來執行它,那么生成的進程它的 real user ID 就是 flw(因為我是用 flw 運行的),但是 effective user ID 就變成了 susesuse(因為這個可執行文件被設置了“設置用戶 ID”位,并且它的 owner user ID 是 susesuse)。
這時,這個進程實際上就有兩個用戶權限了。只不過目前生效的是 susesuse,因此它目前能夠且只能夠操作 susesuse 用戶的文件,如果現在我又想要操作 flw 用戶的文件怎么辦?
很簡單,只需要 seteuid( getuid() ) 就可以了。執行完這句之后,effective user ID 就變成和 real user ID 一樣了,都變成 flw 了。

可是如果過了一會兒我又想要變回來怎么辦?因為 effective user ID 和 real user ID 此時都變成了 flw 了,所以操作系統必須得有一個地方保存住原來的“設置用戶 ID”(也就是可執行文件的 owner user ID),不然等你再想要 seteuid 的時候,操作系統就不知道你有沒有那個權利了。(總不能再去訪問一次文件系統吧?那樣也太沒有效率了)

操作系統為了能夠在設置了 seteuid 之后,再次設置回來,所以特地將原來的“設置用戶 ID”保存下來了,這個保存下來的設置用戶 ID 自然就叫做“保存的設置用戶 ID”。

下面看一段寫的例子程序:
flw@Sleeper:~$ whoami

flw
flw@Sleeper:~$ cat tuid.c
# include <stdio.h>
# include <sys/types.h>
# include <pwd.h>

int main( void )
{
    struct passwd *pwd;

    pwd = getpwuid( geteuid() );
    printf( "effective UID: [%s]\n", pwd->pw_name );

    system( "touch /tmp/foo.txt; ls -l /tmp/foo.txt; rm -rf /tmp/foo.txt" );

    printf( "\nset EUID to `flw'..\n" );
    pwd = getpwnam( "flw" );
    seteuid(pwd->pw_uid);

    pwd = getpwuid( geteuid() );
    printf( "effective UID: [%s]\n", pwd->pw_name );

    system( "touch /tmp/foo.txt; ls -l /tmp/foo.txt; rm -rf /tmp/foo.txt" );

    printf( "\nset EUID to `root'..\n" );
    seteuid(0);

    pwd = getpwuid( geteuid() );
    printf( "effective UID: [%s]\n", pwd->pw_name );

    system( "touch /tmp/foo.txt; ls -l /tmp/foo.txt; rm -rf /tmp/foo.txt" );

    return 0;
}
flw@Sleeper:~$ su root -c "cc -o tuid tuid.c; chmod +s tuid; ls -al tuid"
Password:
-rwsr-sr-x 1 root root 7902 2006-08-31 13:55 tuid
flw@Sleeper:~$ ./tuid
effective UID: [root]
-rw-r--r-- 1 root root 0 2006-08-31 13:55 /tmp/foo.txt

set EUID to `flw'..
effective UID: [flw]
-rw-r--r-- 1 flw root 0 2006-08-31 13:55 /tmp/foo.txt

set EUID to `root'..
effective UID: [root]
-rw-r--r-- 1 root root 0 2006-08-31 13:55 /tmp/foo.txt
flw@Sleeper:~$

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99精品国产在热久久婷婷| 久久精品国产视频| 久久综合狠狠综合久久综青草| 午夜精品区一区二区三| 久久久欧美精品sm网站| 亚洲黄色成人| 亚洲国产裸拍裸体视频在线观看乱了 | 日韩小视频在线观看| 久久久精品日韩欧美| 校园春色综合网| 国产日韩欧美在线播放| 久久福利视频导航| 久久久久久色| 亚洲狼人综合| 亚洲在线网站| 狠狠色丁香婷婷综合| 欧美激情小视频| 欧美日韩精品欧美日韩精品一 | 久久手机精品视频| 亚洲欧美日本国产有色| 亚洲伊人观看| 欧美精品免费在线| 免费一级欧美片在线播放| 亚洲日韩视频| 久久动漫亚洲| 欧美福利视频一区| 一区二区视频免费完整版观看| 狠狠狠色丁香婷婷综合久久五月| 国产一区久久| 在线性视频日韩欧美| 欧美影院午夜播放| 亚洲福利视频一区| 欧美在线观看www| 欧美精品激情blacked18| 国产欧美一区二区三区久久人妖| 亚洲级视频在线观看免费1级| 亚洲网站在线观看| 亚洲国产精品久久91精品| 欧美一区免费视频| 国产精品国产三级国产a| 亚洲国产精品久久久久| 久久九九热免费视频| 这里只有精品丝袜| 欧美日韩国产首页在线观看| 亚洲大胆女人| 久久九九国产精品| 亚洲男人影院| 国产精品午夜在线观看| 亚洲一区在线免费| av成人天堂| 欧美日韩精品一本二本三本| 91久久在线观看| 美女主播视频一区| 久久久久99| 伊人久久av导航| 蜜臀久久99精品久久久久久9| 性色av一区二区三区在线观看| 国产精品久久九九| 亚洲欧美综合国产精品一区| 亚洲精品乱码久久久久久黑人 | 午夜精品福利视频| 欧美系列亚洲系列| 亚洲宅男天堂在线观看无病毒| 99re66热这里只有精品4| 欧美日韩一区免费| 亚洲专区一区| 久久久久网址| 欧美激情成人在线视频| 国产欧美不卡| 久久狠狠婷婷| 久久精品在这里| 亚洲高清影视| 亚洲人体影院| 欧美性猛交99久久久久99按摩| 亚洲一区欧美激情| 亚洲欧美在线另类| 精品1区2区3区4区| 欧美激情一区二区三区全黄 | 亚洲电影免费观看高清完整版在线观看| 久久一区视频| 欧美精品一区视频| 午夜精品区一区二区三| 欧美在线观看网站| 亚洲三级电影在线观看| 日韩午夜av电影| 国产区精品视频| 亚洲国产精品福利| 国产人成一区二区三区影院| 老司机一区二区| 欧美日韩一区免费| 久久亚洲精品一区二区| 欧美国产日韩在线| 久久九九久久九九| 欧美日韩1区| 老司机午夜精品| 国产精品国产三级国产aⅴ入口| 久久九九国产精品怡红院| 欧美激情视频一区二区三区在线播放 | 欧美日韩视频| 久久精品一区中文字幕| 欧美国产日韩精品| 久久国产高清| 欧美日韩中文| 欧美大尺度在线| 国产情人节一区| 99re热这里只有精品视频 | 欧美在线一二三四区| 鲁大师成人一区二区三区| 香蕉久久国产| 欧美视频在线播放| 亚洲国产福利在线| 狠狠色综合色区| 亚洲无限av看| 亚洲图片在线| 欧美日韩精品一区二区| 欧美成人一区二免费视频软件| 国产精品一区二区在线观看| 亚洲日本无吗高清不卡| 亚洲高清资源| 久久看片网站| 国产精品毛片| 在线视频欧美一区| 免费久久精品视频| 久久综合九色| 国产一区二区三区四区hd| 中文在线资源观看网站视频免费不卡 | 亚洲精品久久久久久久久久久久久 | 亚洲精品一区中文| 鲁大师影院一区二区三区| 蜜臀av性久久久久蜜臀aⅴ| 国内偷自视频区视频综合| 亚洲欧美视频一区| 午夜在线观看欧美| 国产欧美日韩视频| 午夜精品久久久久久久久| 先锋影音国产精品| 国产日韩欧美自拍| 欧美在线观看视频| 免费不卡中文字幕视频| 1000部国产精品成人观看| 久久久久久久综合日本| 免费看亚洲片| 日韩亚洲在线| 国产精品九色蝌蚪自拍| 亚洲自拍偷拍色片视频| 欧美自拍偷拍午夜视频| 国精品一区二区| 久久人人爽国产| 亚洲精品一区在线| 亚洲欧美日韩在线不卡| 国产一区二区日韩精品欧美精品| 欧美一区视频在线| 免费久久99精品国产自| 亚洲精品视频免费| 国产精品福利在线| 欧美在线地址| 亚洲日本成人女熟在线观看| 亚洲一区二区欧美日韩| 欧美日韩免费观看一区| 午夜精品成人在线| 欧美国产丝袜视频| 亚洲免费在线看| 黄色小说综合网站| 欧美精品二区| 亚洲欧美一区二区原创| 老司机精品导航| 中文精品99久久国产香蕉| 国产精品尤物| 欧美超级免费视 在线| 这里只有精品电影| 欧美国产亚洲精品久久久8v| 亚洲欧美成人精品| 在线精品观看| 国产伦精品一区二区三| 欧美成人免费在线| 欧美一区二区成人| 久久久精品欧美丰满| 欧美黄免费看| 欧美在线免费看| 亚洲日本va午夜在线电影| 国产精品盗摄久久久| 久久久久久久97| 亚洲天堂免费观看| 亚洲福利一区| 麻豆freexxxx性91精品| 亚洲免费视频中文字幕| 亚洲成人在线观看视频| 国产精品一区二区久久久久| 免费亚洲电影| 久久久久国产精品午夜一区| 亚洲香蕉成视频在线观看 | 欧美一级在线视频| 亚洲日韩成人| 在线免费高清一区二区三区| 国产精品日韩欧美| 国产精品白丝av嫩草影院| 欧美黄色精品| 免费久久99精品国产自在现线| 欧美在线视频a| 亚洲欧美日韩系列|