小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

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

 qweertt4747 2017-05-19

一、前言                                

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

 

二、 三種權(quán)限                             

1. 普通權(quán)限

權(quán)限 文件 目錄
r,讀權(quán)限 查看文件內(nèi)容 列出其子目錄結(jié)構(gòu)信息(就是可執(zhí)行 ls 目錄 )
w,寫(xiě)權(quán)限 配合r權(quán)限,則可對(duì)文件進(jìn)行修改和刪除 配合x(chóng)權(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)入該目錄和對(duì)其下文件作操作(就是可執(zhí)行 cd 目錄 )

2. 特殊權(quán)限

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

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

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

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

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

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

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

不對(duì)目錄設(shè)置
GUID

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

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

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

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

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

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

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

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

 

3. 隱藏權(quán)限

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

 

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

 上一節(jié)我們從概念上了解了linux的文件權(quán)限的種類(lèi),下面通過(guò)命令來(lái)實(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,符號(hào)鏈接;

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

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

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

         s,套接字文件。

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

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

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

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

  ⑥. 是文件所有者的用戶(hù)名稱(chēng)(owner)

  ⑦. 是文件所屬組的用戶(hù)組名稱(chēng)(group)

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

  ⑨. 是最后修改日期

  ⑩. 是文件或目錄的絕對(duì)路徑

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

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

  [a]. 符號(hào)表示法

  普通權(quán)限:

    r,讀權(quán)限; w,寫(xiě)權(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)限但沒(méi)有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)限但沒(méi)有x可執(zhí)行權(quán)限。

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

 

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

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

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

      所有者 所屬組 其他用戶(hù)
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。

   然后通過(guò) 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)限,卻無(wú)法關(guān)閉。例如,文件A擁有特殊權(quán)限SUID和SGID,執(zhí)行 chmod 0755 文件A ,但通過(guò) ls -l 查看權(quán)限依然為rwsr-sr-x。

 

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

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

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

復(fù)制代碼
// 為所有者、所屬組和其他用戶(hù)添加執(zhí)行的權(quán)限
chmod +x 文件路徑
// 為所有者、所屬組和其他用戶(hù)刪除執(zhí)行的權(quán)限
chmod -x 文件路徑

// 為所有者添加執(zhí)行的權(quán)限
chmod u+x 文件路徑
// 為所屬組添加執(zhí)行的權(quán)限
chmod g+x 文件路徑
// 為其他用戶(hù)添加執(zhí)行的權(quán)限
chmod o+x 文件路徑
// 為所有者、所屬組添加執(zhí)行的權(quán)限
chmod ug+x 文件路徑

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

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

復(fù)制代碼
// 開(kāi)啟、關(guān)閉SUID
chmod u+s 文件名
chmod u-s 文件名

// 開(kāi)啟、關(guān)閉SGID
chmod g+s 文件名
chmod g-s 文件名

// 開(kāi)啟、關(guān)閉SBIT
chmod o+t 文件名
chmod o-t 文件名
復(fù)制代碼

 

五、改變所有者、所屬組                            

  1. 查看用戶(hù)信息

復(fù)制代碼
// 查看當(dāng)前用戶(hù)
whoami

// 查看當(dāng)前用戶(hù)所屬組
groups

// 查看其他用戶(hù)所屬組
groups 用戶(hù)1 用戶(hù)2
復(fù)制代碼

  2. 改變所有者、所屬組

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

復(fù)制代碼
// 改變所有者
chown 用戶(hù)名 文件路徑

// 改變所屬組
chgrp 用戶(hù)組 文件路徑

// 改變所有者和所屬組
chown 用戶(hù)名.用戶(hù)組 文件路徑

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

 

六、管理用戶(hù)                                    

 1. 添加用戶(hù)

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

     示例:

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

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

     

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

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

     

     /etc/default/useradd

     

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

 2. 設(shè)置密碼

   命令: passwd 用戶(hù)名 密碼 

 3. 啟用、禁用賬號(hào)

// 禁用
# usermod -L 用戶(hù)名
// 啟用 
# usermod -U 用戶(hù)名

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

 4. 其他

復(fù)制代碼
// 將用戶(hù)添加到用戶(hù)組
usermod -G 用戶(hù)組名 用戶(hù)

// 改變用戶(hù)的用戶(hù)組
usermod -g 用戶(hù)組名 用戶(hù)

// 修改用戶(hù)名
usermod -l 新用戶(hù)名 舊用戶(hù)

// 刪除用戶(hù)
userdel 用戶(hù)名
復(fù)制代碼

 

六、管理用戶(hù)組                                

復(fù)制代碼
// 添加用戶(hù)組
groupadd [-g gid [-o]] [-r] [-f] 用戶(hù)組名

// 修改用戶(hù)組名稱(chēng)
groupmod -n 新用戶(hù)組名 舊用戶(hù)組名

// 刪除用戶(hù)組
groupdel 用戶(hù)組名
復(fù)制代碼

 

七、用戶(hù)、用戶(hù)組的配置文件                              

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

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

偽用戶(hù)如下:

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

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

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

3./etc/group,存放用戶(hù)組名稱(chēng)、用戶(hù)組加密后的密碼(空、\*或x表示沒(méi)有密碼)、用戶(hù)組ID、成員用戶(hù)名稱(chēng)(成員用戶(hù)名稱(chēng)間用,隔開(kāi))

 

八、總結(jié)                                        

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

  尊重原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自: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)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多