• <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>

            T9的空間

            You will never walk alone!

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              69 隨筆 :: 0 文章 :: 28 評論 :: 0 Trackbacks

            這里要稍微寫一些linux下復(fù)雜的權(quán)限管理,應(yīng)該只是一小部分知識(shí),還有一些關(guān)于cap的東西以后再看。

            與process關(guān)聯(lián)的ID
            誰execute這個(gè)process的人稱為real user id,應(yīng)該就是登陸時(shí)使用的user
            real group id也一樣.
            一般在一個(gè)登陸Session中,這兩個(gè)值都不會(huì)改變,但是超級(jí)用戶進(jìn)程可以改變
            像Android中每個(gè)APK有獨(dú)自的User id,然后類似rild之類的native deamon process就會(huì)嘗試改變自己的user id為類似radio之類的東西。

            在運(yùn)行中檢查權(quán)限所使用的id稱為有效用戶id,effective user id
            然后還有有效組ID
            附加組ID

            一般有效用戶ID == 真實(shí)用戶ID, 有效組ID == 真實(shí)組ID
            但是如果在可執(zhí)行文件的st_mode中有設(shè)置 set-user-ID/set-group-ID
            那在執(zhí)行這個(gè)文件的時(shí)候 有效用戶ID和有效組ID會(huì)變成文件的owner

            一般有設(shè)置set-user-ID/set-group-ID的程序都會(huì)獲得額外的權(quán)限

            關(guān)于文件權(quán)限,有一些容易引起誤解的,也還有一些我自己也沒有理解清楚的

            文件權(quán)限比較好理解,O_TRUNC需要文件具有寫權(quán)限。

            文件夾的寫權(quán)限,應(yīng)該就是類似能不能在其中create/update/delete文件和文件夾
            文件夾的讀權(quán)限,應(yīng)該就是讀文件夾里面的文件/文件夾列表,通常我們 ls 當(dāng)前文件夾就必須具有讀權(quán)限
            文件夾的執(zhí)行權(quán)限,這個(gè)東西聽說又叫搜索位,通常我們cd XXX,就必須在當(dāng)前文件夾下搜索XXX是否存在,然后就是當(dāng)我們訪問類似這種很長路徑的文件/aaa/bbb/ccc/dd.txt
            對aaa,bbb,ccc必須具有執(zhí)行權(quán)限,就是搜索

            一般如果具有讀權(quán)限就應(yīng)該就可以搜索,如果這之前有區(qū)別,就是應(yīng)該是搜索的范圍大于能讀到的內(nèi)容。
            也就是之后需要知道一個(gè)Folder本身里面有寫什么內(nèi)容,我目前知道的是一定有當(dāng)前的文件列表--> TODO: 看情景分析 or 去看下 ls 的實(shí)現(xiàn),ls里面有比較多參數(shù)有些是需要x的有些是需要r的,例如 ls -l如果沒有執(zhí)行權(quán)限就只能拿到 name ,能知道是folder還是file,除此之外其他的東西都拿不到,文件本身的權(quán)限,user,group

            -->linux目錄中記錄的應(yīng)該是只有兩個(gè)東西 inode & name.這與文件系統(tǒng)的實(shí)現(xiàn)有關(guān)。

            另外增刪文件都需要WX權(quán)限

            另外內(nèi)核對文件操作權(quán)限的判斷順序...如果是owner就會(huì)看owner權(quán)限,group權(quán)限就不會(huì)看了,如果在group中則others也就不看了,這個(gè)邏輯上正常,而且可以想一下kernel的實(shí)現(xiàn),一定是if-else的判斷出結(jié)果后直接返回。


            這里就要提如果新建文件/文件夾的時(shí)候文件夾的owner user id和group id是誰
            user id會(huì)是process 有效用戶ID
            group id可以有兩種選擇父folder的group id;or process有效組ID
            linux中根據(jù)文件系統(tǒng)的不同有的可以在mount fs的時(shí)候選擇

            文件長度: st_size
            lseek到文件末尾之后的空間,會(huì)照成文件空洞
            文件長度會(huì)+空洞的大小,但是這些空洞未必會(huì)占用磁盤空間。
            du 命令可以看磁盤空間大小

            符號(hào)鏈接和所謂的硬鏈接完全是兩回事,建議細(xì)讀4.14,不要去上網(wǎng)search類似我這種自己記錄給自己看的blog...:(

            這章內(nèi)容比較多而且雜,主要是stat中的每個(gè)參數(shù)的意義,需要思考想清楚的東西也比較多,有比較多關(guān)于文件操作的System Call

            作業(yè)開始:
            之后只寫有點(diǎn)意義的題目,無意義的也沒什么可以寫的pass
            4.1 stat和lstat的區(qū)別,stat基本不會(huì)關(guān)心是否是S_IFLNK(符號(hào)鏈接),應(yīng)該是看到S_IFLNK會(huì)往下去找真正的File,然后拿到屬性值
            而lstat旁道S_IFLNK則會(huì)直接返回。第一次看到這樣的函數(shù)設(shè)計(jì)怪怪的,我的初始感覺是反的。我覺得stat是一個(gè)common的設(shè)計(jì),不會(huì)針對不同的File類型來做一些區(qū)別。Orz...最后不是。

            4.2 umask 777意味著rwxrwxrwx全部變沒掉,但是這也沒關(guān)系,不知道出題人的意思

            4.5 目錄和符號(hào)鏈接的長度不可能為0,目錄創(chuàng)建出來就會(huì)包含. 和 ..而且 . 的inode指向自己本身會(huì)占磁盤空間,符號(hào)鏈接肯定也是不能為0的,其中有存指向的鏈接path

            4.6 這個(gè)有點(diǎn)意思,后面貼代碼

            4.7 這個(gè)看了下答案,沒看懂>為什么kernel默認(rèn)的創(chuàng)建文件賦予的權(quán)限“可能會(huì),也可能不會(huì)”受unmask的值的影響?

            4.8 du df的區(qū)別...

            4.9 ~ 后面的題大概看了下,不想寫了,好多細(xì)節(jié)...

             


             

            posted on 2013-05-27 16:42 Torres 閱讀(264) 評論(0)  編輯 收藏 引用 所屬分類: APUE
            中文字幕亚洲综合久久菠萝蜜| 亚洲一区精品伊人久久伊人| 久久www免费人成看片| 久久无码精品一区二区三区| 精品久久久久久综合日本| 国产精品99久久99久久久| 99精品久久精品| 久久久国产精品网站| 国产福利电影一区二区三区久久久久成人精品综合 | 久久综合香蕉国产蜜臀AV| 久久WWW免费人成一看片| 午夜天堂av天堂久久久| 久久精品国产亚洲AV无码麻豆| 性做久久久久久久| 国产一级持黄大片99久久| 91久久福利国产成人精品| 国产精品99久久久久久猫咪| 久久久久香蕉视频| 日韩欧美亚洲综合久久| 蜜臀久久99精品久久久久久小说| 久久久久久久久无码精品亚洲日韩| 国内精品久久久久久野外| 国产 亚洲 欧美 另类 久久| 欧美日韩精品久久久免费观看| 久久中文字幕精品| 成人久久综合网| 久久久久亚洲AV成人网人人网站 | 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区| 亚洲嫩草影院久久精品| 婷婷久久综合九色综合绿巨人| 亚洲色大成网站www久久九 | 丁香五月综合久久激情| 免费无码国产欧美久久18| 91精品国产乱码久久久久久| 久久久久亚洲AV成人网人人网站| 亚洲香蕉网久久综合影视| 久久99国产精品成人欧美| 色婷婷综合久久久中文字幕| 久久国产成人午夜AV影院| 久久精品亚洲日本波多野结衣| 国内精品伊人久久久久影院对白|