<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 6.8 本章習題: ( 要看答案請將鼠標移動到“答:”下面的空白處,按下左鍵圈選空白處即可察看 ) * * * 情境仿真題一:假設系統中有兩個帳號,分別是 alex 與 arod ,這兩個人除了自己群組之外還共同支持一個名為 project 的群組。假設這兩個用戶需要共同擁有 /srv/ahome/ 目錄的開發權,且該目錄不許其他人進入查閱。 請問該目錄的權限設置應為何?請先以傳統權限說明,再以 SGID 的功能解析。 * 目標:了解到為何專案開發時,目錄最好需要設置 SGID 的權限! * 前提:多個帳號支持同一群組,且共同擁有目錄的使用權! * 需求:需要使用 root 的身份來進行 chmod, chgrp 等幫用戶設置好他們的開發環境才行! 這也是管理員的重要任務之一! 首先我們得要先制作出這兩個帳號的相關數據,帳號/群組的管理在后續我們會介紹, 您這里先照著下面的指令來制作即可: ``` [root@study ~]# groupadd project &lt;==增加新的群組 [root@study ~]# useradd -G project alex &lt;==創建 alex 帳號,且支持 project [root@study ~]# useradd -G project arod &lt;==創建 arod 帳號,且支持 project [root@study ~]# id alex &lt;==查閱 alex 帳號的屬性 uid=1001(alex) gid=1002(alex) groups=1002(alex),1001(project) &lt;==確實有支持! [root@study ~]# id arod uid=1002(arod) gid=1003(arod) groups=1003(arod),1001(project) &lt;==確實有支持! ``` 然后開始來解決我們所需要的環境吧! 1. 首先創建所需要開發的專案目錄: ``` [root@study ~]# mkdir /srv/ahome [root@study ~]# ll -d /srv/ahome drwxr-xr-x. 2 root root 6 Jun 17 00:22 /srv/ahome ``` 2. 從上面的輸出結果可發現 alex 與 arod 都不能在該目錄內創建文件,因此需要進行權限與屬性的修改。 由于其他人均不可進入此目錄,因此該目錄的群組應為project,權限應為770才合理。 ``` [root@study ~]# chgrp project /srv/ahome [root@study ~]# chmod 770 /srv/ahome [root@study ~]# ll -d /srv/ahome drwxrwx---. 2 root project 6 Jun 17 00:22 /srv/ahome # 從上面的權限結果來看,由于 alex/arod 均支持 project,因此似乎沒問題了! ``` 3. 實際分別以兩個使用者來測試看看,情況會是如何?先用 alex 創建文件,然后用 arod 去處理看看。 ``` [root@study ~]# su - alex &lt;==先切換身份成為 alex 來處理 [alex@www ~]$ cd /srv/ahome &lt;==切換到群組的工作目錄去 [alex@www ahome]$ touch abcd &lt;==創建一個空的文件出來! [alex@www ahome]$ exit &lt;==離開 alex 的身份 [root@study ~]# su - arod [arod@www ~]$ cd /srv/ahome [arod@www ahome]$ ll abcd -rw-rw-r--. 1 alex alex 0 Jun 17 00:23 abcd # 仔細看一下上面的文件,由于群組是 alex ,arod并不支持! # 因此對于 abcd 這個文件來說, arod 應該只是其他人,只有 r 的權限而已啊! [arod@www ahome]$ exit ``` 由上面的結果我們可以知道,若單純使用傳統的 rwx 而已,則對剛剛 alex 創建的 abcd 這個文件來說, arod 可以刪除他,但是卻不能編輯他!這不是我們要的樣子啊!趕緊來重新規劃一下。 4. 加入 SGID 的權限在里面,并進行測試看看: ``` [root@study ~]# chmod 2770 /srv/ahome [root@study ~]# ll -d /srv/ahome drwxrws---. 2 root project 17 Jun 17 00:23 /srv/ahome 測試:使用 alex 去創建一個文件,并且查閱文件權限看看: [root@study ~]# su - alex [alex@www ~]$ cd /srv/ahome [alex@www ahome]$ touch 1234 [alex@www ahome]$ ll 1234 -rw-rw-r--. 1 alex project 0 Jun 17 00:25 1234 # 沒錯!這才是我們要的樣子!現在 alex, arod 創建的新文件所屬群組都是 project, # 由于兩人均屬于此群組,加上 umask 都是 002,這樣兩人才可以互相修改對方的文件! ``` 所以最終的結果顯示,此目錄的權限最好是“2770”,所屬文件擁有者屬于root即可,至于群組必須要為兩人共同支持的project 這個群組才行! * * * 簡答題部分: * 什么是絕對路徑與相對路徑絕對路徑的寫法為由 / 開始寫,至于相對路徑則不由 / 開始寫!此外,相對路徑為相對于目前工作目錄的路徑! * 如何更改一個目錄的名稱?例如由 /home/test 變為 /home/test2mv /home/test /home/test2 * PATH 這個環境變量的意義?這個是用來指定可執行文件執行的時候,指令搜尋的目錄路徑。 * umask 有什么用處與優點?umask 可以拿掉一些權限,因此,適當的定義 umask 有助于系統的安全, 因為他可以用來創建默認的目錄或文件的權限。 * 當一個使用者的 umask 分別為 033 與 044 他所創建的文件與目錄的權限為何?在 umask 為 033 時,則默認是拿掉 group 與 other 的 w(2)x(1) 權限,因此權限就成為“文件 -rw-r--r-- , 目錄 drwxr--r-- ”而當 umask 044 時,則拿掉 r 的屬性,因此就成為“文件 -rw--w--w-,目錄 drwx-wx-wx” * 什么是 SUID ?當一個指令具有 SUID 的功能時,則: * SUID 權限僅對二進制程序(binary program)有效; * 執行者對于該程序需要具有 x 的可執行權限; * 本權限僅在執行該程序的過程中有效 (run-time); * 執行者將具有該程序擁有者 (owner) 的權限。 * 當我要查詢 /usr/bin/passwd 這個文件的一些屬性時(1)傳統權限;(2)文件類型與(3)文件的隱藏屬性,可以使用什么指令來查詢?ls -al file lsattr * 嘗試用 find 找出目前 linux 系統中,所有具有 SUID 的文件有哪些?find / -perm +4000 -print * 找出 /etc 下面,文件大小介于 50K 到 60K 之間的文件,并且將權限完整的列出 (ls -l):find /etc -size +50k -a -size -60k -exec ls -l {} \; 注意到 -a ,那個 -a 是 and 的意思,為符合兩者才算成功 * 找出 /etc 下面,文件大小大于 50K 且文件所屬人不是 root 的文件名,且將權限完整的列出 (ls -l);find /etc -size +50k -a ! -user root -exec ls -ld {} \; find /etc -size +50k -a ! -user root -type f -exec ls -l {} \; 上面兩式均可!注意到 ! ,那個 ! 代表的是反向選擇,亦即“不是后面的項目”之意! * 找出 /etc 下面,容量大于 1500K 以及容量等于 0 的文件:find /etc -size +1500k -o -size 0 相對于 -a ,那個 -o 就是或 (or) 的意思啰!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看