乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      CentOS6.5菜鳥之旅:文件權(quán)限詳解

       qweertt4747 2017-05-19

      一、前言                                

        Linux下所有資源、設(shè)備均被視作文件來操作,而文件權(quán)限則是決定用戶可各文件操作的范圍,無論是平時(shí)使用Linux,還是寫程序均涉及這方面。以下為個(gè)人學(xué)習(xí)的整理,供以后查閱。

       

      二、 三種權(quán)限                             

      1. 普通權(quán)限

      權(quán)限 文件 目錄
      r,讀權(quán)限 查看文件內(nèi)容 列出其子目錄結(jié)構(gòu)信息(就是可執(zhí)行 ls 目錄 )
      w,寫權(quán)限 配合r權(quán)限,則可對文件進(jìn)行修改和刪除 配合x權(quán)限就可以添加、刪除和移動(dòng)內(nèi)部文件,而刪除目錄和復(fù)制目錄內(nèi)文件則需要配合r和x權(quán)限。
      x,執(zhí)行權(quán)限 配合r權(quán)限,可執(zhí)行的權(quán)限 可以進(jìn)入該目錄和對其下文件作操作(就是可執(zhí)行 cd 目錄 )

      2. 特殊權(quán)限

          場景1:用戶A在調(diào)用程序B時(shí),且程序B需要修改文件C,而用戶A無權(quán)修改文件C,那么程序B同樣將被拒絕修改文件C。

          原因:程序?qū)⑹褂谜{(diào)用者(就是用戶A)的用戶標(biāo)識(shí)去對系統(tǒng)作操作,程序的權(quán)限與調(diào)用者的權(quán)限一致。

          需要:讓程序使用與調(diào)用者無關(guān)的用戶或用戶組標(biāo)識(shí),那么任何調(diào)用者執(zhí)行該程序時(shí)均無差異。

          解決辦法:使用特殊權(quán)限SUID和GUID。

      權(quán)限 文件 目錄
      SUID

      注意:僅對二進(jìn)制可執(zhí)行文件設(shè)置

      二進(jìn)制可執(zhí)行文件會(huì)以所有者和調(diào)用者的用戶標(biāo)識(shí)去執(zhí)行,也就是擁有兩者的權(quán)限。

      不對目錄設(shè)置
      GUID

      注意:僅對二進(jìn)制可執(zhí)行文件設(shè)置

      二進(jìn)制可執(zhí)行文件會(huì)以所屬組和調(diào)用者的標(biāo)識(shí)去執(zhí)行,也就是擁有兩者的權(quán)限。

      在目錄下創(chuàng)建文件、目錄等,其所屬組與該目錄的所屬組相同。而不是所有者的用戶組了。

         場景2:某用戶在執(zhí)行 rm -rf 目錄/* 時(shí),把所有者不是它的文件、目錄都誤刪除了。

         原因:默認(rèn)情況下,只要用戶擁有某目錄的wx權(quán)限,則可以刪除、剪切該目錄下的所有文件、目錄,即使該用戶對該目錄下的文件、目錄任何權(quán)限都沒有。

         需求:只刪除所有者為自己的文件、目錄。

         解決辦法:使用特殊權(quán)限SBIT。

      權(quán)限 文件 目錄
      SBIT(stick bit,粘滯位)  不對文件設(shè)置 配合wx權(quán)限,僅目錄的所有者、子目錄或文件的所有者和root用戶才能刪除、移動(dòng)該目錄下的子目錄和文件

       

      3. 隱藏權(quán)限

         共13種,僅在文件系統(tǒng)格式為Ext2+才有效。

       

      三、通過命令了解權(quán)限                            

       上一節(jié)我們從概念上了解了linux的文件權(quán)限的種類,下面通過命令來實(shí)干一番。

       1. 查看權(quán)限

       輸入 ls -l 就可以查看當(dāng)前目錄下所有文件和子目錄的權(quán)限信息了。

       假設(shè)回顯信息為  -rwsr-xr-x 1 root root 430540 Dec 20 18:27 /usr/sbin/passwd ,現(xiàn)在逐一分析其內(nèi)容。

         ①. 首字符-,表示該文件為普通文件。

               -,普通文件;

               d,目錄文件;

               l,符號鏈接;

               c,字符設(shè)備文件;

               b,字節(jié)設(shè)備文件;

               p,先進(jìn)先出文件;

               s,套接字文件。

        ②. 第2~4個(gè)字符,表示所有者(owner)的權(quán)限

        ③. 第5~7個(gè)字符,表示所屬組(group)的權(quán)限

        ④. 第8~10個(gè)字符,表示其他用戶(other)的權(quán)限

        ⑤. 第11個(gè)字符,表示硬鏈接數(shù)

        ⑥. 是文件所有者的用戶名稱(owner)

        ⑦. 是文件所屬組的用戶組名稱(group)

        ⑧. 是文件大小,以塊為單位,通過 ls -lh 則會(huì)以KB,MB作單位

        ⑨. 是最后修改日期

        ⑩. 是文件或目錄的絕對路徑

        從上述內(nèi)容我們可以得知Linux下的權(quán)限角色有三種,分別是所有者(owner)、所屬組(group)其他用戶(other)。

      2. 權(quán)限表示形式

        [a]. 符號表示法

        普通權(quán)限:

          r,讀權(quán)限; w,寫權(quán)限;x,可執(zhí)行權(quán)限。

        特殊權(quán)限:

         SUID權(quán)限只能設(shè)置在②中,s表示二進(jìn)制可執(zhí)行文件同時(shí)擁有SUID權(quán)限和x可執(zhí)行權(quán)限;S表示二進(jìn)制可執(zhí)行文件擁有SUID權(quán)限但沒有x可執(zhí)行權(quán)限。

         SGID權(quán)限只能設(shè)置在③中,s表示二進(jìn)制可執(zhí)行文件或目錄同時(shí)擁有SGID權(quán)限和x可執(zhí)行權(quán)限;S表示二進(jìn)制可執(zhí)行文件或目錄擁有SGID權(quán)限但沒有x可執(zhí)行權(quán)限。

         SBIT權(quán)限只能設(shè)置在④中,t表示目錄同時(shí)擁有SBIT權(quán)限和x可執(zhí)行權(quán)限;T表示目錄擁有SBIT權(quán)限但沒有x可執(zhí)行權(quán)限。

       

        [b]. 數(shù)字表示法

         數(shù)字表示法采用二進(jìn)制形式計(jì)算,八進(jìn)制形式設(shè)置的方式。

         二進(jìn)制形式計(jì)算,1代表有權(quán)限,0代表無權(quán)限:

            所有者 所屬組 其他用戶
      SUID SGID SBIT R W X R W X R W X
      1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0 1/0

         然后每三位為一組轉(zhuǎn)為八進(jìn)制,例如現(xiàn)在二進(jìn)制形式為100111101101,那么轉(zhuǎn)為八進(jìn)制則為4755。

         然后通過 chmod 4755 文件 就可以改變文件的權(quán)限, ls -l 回顯中權(quán)限部分則為rwsr-xr-x。

         注意:1. 若不設(shè)置特殊權(quán)限時(shí),我們可以直接省去八進(jìn)制的第一位數(shù),例如: chmod 755 文件 ;

                  2. 采用數(shù)字表示法設(shè)置特殊權(quán)限,僅能啟動(dòng)特殊權(quán)限,卻無法關(guān)閉。例如,文件A擁有特殊權(quán)限SUID和SGID,執(zhí)行 chmod 0755 文件A ,但通過 ls -l 查看權(quán)限依然為rwsr-sr-x。

       

      四、通過符號表示法設(shè)置權(quán)限                      

        通過數(shù)組表示法設(shè)置權(quán)限有時(shí)確實(shí)不夠方便,于是bash為我們提供了符號表示法來設(shè)置權(quán)限。

        設(shè)置普通權(quán)限

      復(fù)制代碼
      // 為所有者、所屬組和其他用戶添加執(zhí)行的權(quán)限
      chmod +x 文件路徑
      // 為所有者、所屬組和其他用戶刪除執(zhí)行的權(quán)限
      chmod -x 文件路徑
      
      // 為所有者添加執(zhí)行的權(quán)限
      chmod u+x 文件路徑
      // 為所屬組添加執(zhí)行的權(quán)限
      chmod g+x 文件路徑
      // 為其他用戶添加執(zhí)行的權(quán)限
      chmod o+x 文件路徑
      // 為所有者、所屬組添加執(zhí)行的權(quán)限
      chmod ug+x 文件路徑
      
      // 為所有者、所屬組和其他用戶添加寫、執(zhí)行的權(quán)限,取消讀權(quán)限
      chmod =wx 文件路徑
      // 為所有者、所屬組添加寫、執(zhí)行的權(quán)限,取消讀權(quán)限
      chmod ug=wx 文件路徑
      復(fù)制代碼

        設(shè)置特殊權(quán)限

      復(fù)制代碼
      // 開啟、關(guān)閉SUID
      chmod u+s 文件名
      chmod u-s 文件名
      
      // 開啟、關(guān)閉SGID
      chmod g+s 文件名
      chmod g-s 文件名
      
      // 開啟、關(guān)閉SBIT
      chmod o+t 文件名
      chmod o-t 文件名
      復(fù)制代碼

       

      五、改變所有者、所屬組                            

        1. 查看用戶信息

      復(fù)制代碼
      // 查看當(dāng)前用戶
      whoami
      
      // 查看當(dāng)前用戶所屬組
      groups
      
      // 查看其他用戶所屬組
      groups 用戶1 用戶2
      復(fù)制代碼

        2. 改變所有者、所屬組

       僅root用戶才有權(quán)限執(zhí)行下列命令。

      復(fù)制代碼
      // 改變所有者
      chown 用戶名 文件路徑
      
      // 改變所屬組
      chgrp 用戶組 文件路徑
      
      // 改變所有者和所屬組
      chown 用戶名.用戶組 文件路徑
      
      // 遞歸改變所有者和所屬組
      chown -R 用戶名.用戶組 目錄路徑
      復(fù)制代碼

       

      六、管理用戶                                    

       1. 添加用戶

           命令: useradd [-u uid] [-g group] [-d home] [-s shell] 用戶名 
               -u,用戶ID,用戶ID是給系統(tǒng)使用的,而用戶名是給用戶使用的,兩者是一一對應(yīng)的關(guān)系
               -g,用戶所屬的用戶組標(biāo)識(shí)
               -d,以已存在的目錄作為用戶的家目錄
               -s,定義shell

           示例:

      // 添加用戶標(biāo)識(shí) garfield
      # useradd garfield

           并通過查看/etc/passwd、/etc/shadow和/etc/group文件內(nèi)容,檢查用戶是否創(chuàng)建成功。具體內(nèi)容如下

           

           注意:在創(chuàng)建用戶時(shí),系統(tǒng)會(huì)根據(jù)/etc/login.defs和/etc/default/useradd文件的內(nèi)容對新用戶做基本設(shè)置。

           /etc/login.defs文件內(nèi)容:

           

           /etc/default/useradd

           

           SKEL選項(xiàng)是指定用戶家目錄內(nèi)容是從`/etc/skel`復(fù)制過來的。

       2. 設(shè)置密碼

         命令: passwd 用戶名 密碼 

       3. 啟用、禁用賬號

      // 禁用
      # usermod -L 用戶名
      // 啟用 
      # usermod -U 用戶名

      啟用禁用實(shí)質(zhì)就是在`/etc/shadow`文件中該用戶名對應(yīng)的記錄上,在用戶密碼前刪除、添加!(感嘆號)來實(shí)現(xiàn)。

       4. 其他

      復(fù)制代碼
      // 將用戶添加到用戶組
      usermod -G 用戶組名 用戶
      
      // 改變用戶的用戶組
      usermod -g 用戶組名 用戶
      
      // 修改用戶名
      usermod -l 新用戶名 舊用戶
      
      // 刪除用戶
      userdel 用戶名
      復(fù)制代碼

       

      六、管理用戶組                                

      復(fù)制代碼
      // 添加用戶組
      groupadd [-g gid [-o]] [-r] [-f] 用戶組名
      
      // 修改用戶組名稱
      groupmod -n 新用戶組名 舊用戶組名
      
      // 刪除用戶組
      groupdel 用戶組名
      復(fù)制代碼

       

      七、用戶、用戶組的配置文件                              

      1. /etc/passwd,任何用戶都可以讀取該文件的內(nèi)容。存放各個(gè)用戶的用戶名稱、加密后的密碼(若操作系統(tǒng)采用了shadow技術(shù),則用加密密碼在/etc/shadow文件中,這里用x或\*表示)、用戶ID(一個(gè)用戶ID可以對應(yīng)多個(gè)用戶名,每個(gè)用戶名擁有獨(dú)立的口令、家目錄和shell,但系統(tǒng)會(huì)認(rèn)為這些用戶名是同一個(gè)用戶。0是超級用戶,1~99系統(tǒng)保留,100開始是普通用戶,默認(rèn)從500建普通用戶。整體取值范圍是0~65535)、用戶組ID(對應(yīng)/etc/group中的一條記錄)、注釋性描述字符串、家目錄、shell程序路徑<br/>

      偽用戶(psuedousers):shell程序路徑為空或?yàn)?sbin/nologin,主要用于方便系統(tǒng)管理、滿足相應(yīng)系統(tǒng)進(jìn)程對文件屬性的要求。

      偽用戶如下:

        bin,擁有可執(zhí)行的用戶命令文件
        sys,擁有系統(tǒng)文件
        adm,擁有賬號文件
        uucp,UUCP使用
        lp,lp或lpd子系統(tǒng)使用
        nobody,NFS使用

      可通過設(shè)置"shell程序路徑"為某程序,限制某用戶進(jìn)入系統(tǒng)后僅能執(zhí)行該程序,程序執(zhí)行結(jié)束則退出系統(tǒng)。

      2. /etc/shadow,僅超級用戶可以查看和修改,由pwconv命令根據(jù)/etc/passwd中的數(shù)據(jù)自動(dòng)生成,記錄為一對一關(guān)系。記錄格式為:用戶名、加密后的密碼(固定長度為13個(gè)字符,空則表示沒有密碼,若含\./0-9A-Za-z的字符則無法登錄)、最后修改密碼的時(shí)間(以距離1970年1月1日的天數(shù)來計(jì)算)、最小時(shí)間間隔(修改密碼的最小天數(shù))、最大時(shí)間間隔(密碼有效天數(shù))、警告時(shí)間(從系統(tǒng)開始警告用戶修改密碼到無法登錄的天數(shù))、不活動(dòng)時(shí)間(用戶沒有登錄活動(dòng),但賬號仍保持有效的最大天數(shù))、失效時(shí)間(用戶名的有效天數(shù))

      3./etc/group,存放用戶組名稱、用戶組加密后的密碼(空、\*或x表示沒有密碼)、用戶組ID、成員用戶名稱(成員用戶名稱間用,隔開)

       

      八、總結(jié)                                        

        Linux的文件權(quán)限暫時(shí)了解到這里吧,以后繼續(xù)深入繼續(xù)補(bǔ)充!

        尊重原創(chuàng),轉(zhuǎn)載請注明來自:http://www.cnblogs.com/fsjohnhuang/p/3999224.html ^_^肥仔John

       

      九、參考                                        

      http://blog.csdn.net/fan_zhen_hua/article/details/2050009
      http://blog.csdn.net/xsz0606/article/details/5256719
      http://blog./uid-20671208-id-3488852.html
      http://www.cnblogs.com/huangzhen/archive/2011/08/22/2149300.html
      http://blog.csdn.net/liqfyiyi/article/details/7742775
      http://os.51cto.com/art/201003/187591.htm
      http://os.51cto.com/art/201003/187572.htm

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多