国产福利在线播放|久久精品福利网站免费|国产呻吟视频在线观看|日韩一区二区三区免费高清|久996视频精品免费观看|欧美日本在线一区二区三区|在线最新无码经典无码免費資訊|国产午夜亚洲精品国产成人最大

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

管理Linux文件權(quán)限和所有權(quán) (2)

發(fā)布時(shí)間:  2012/8/7 17:49:05

passwd 上的 suid 訪問模式
  [ian@echidna ~]$ ls -l /usr/bin/passwd
  -rwsr-xr-x. 1 root root 34368 Apr  6  2010 /usr/bin/passwd
  請注意,在用戶的權(quán)限三件套中 x 的位置上有一個(gè) s。這就表示,對這個(gè)特定的程序來說,suid 和可執(zhí)行位已經(jīng)被設(shè)置。所以,當(dāng) passwd 運(yùn)行時(shí),它就會(huì)像 root 用戶使用完全的 superuser 訪問一樣加載它運(yùn)行,而不是作為想運(yùn)行該程序的用戶。因?yàn)?passwd 和 root 訪問一起運(yùn)行,所以它可以修改 /etc/passwd。
  suid 和 sgid 位與長目錄清單中用戶和組的 x 占據(jù)相同的空間。如果文件是可執(zhí)行的,suid 或 sgid 位如果已設(shè)置,將會(huì)顯示為小寫的 s,否則就顯示為大寫的 S。
  雖然 suid 和 sgid 很便利,甚至在很多環(huán)境下是必需的,但是這些訪問模式不適當(dāng)?shù)氖褂脮?huì)造成系統(tǒng)安全上的漏洞。您要盡量少地使用 suid 程序。passwd 命令是少數(shù) 必須 為 suid 的命令之一。
  設(shè)置 suid 和 sgid
  suid 和 sgid 位使用字母 s 在符號上進(jìn)行設(shè)置和重設(shè);例如,u+s 設(shè)置 suid 訪問模式,g-s 刪除 sgid 模式。在八進(jìn)制格式中,suid 在第一位(高階)為值 4,而 sgid 是值 2。
  目錄和 sgid
  當(dāng)一個(gè)目錄使用 sgid 模式時(shí),在這個(gè)目錄中創(chuàng)建的任何文件和目錄將會(huì)繼承目錄的組 id。這個(gè)對那些被從事同一項(xiàng)目的一組人使用的目錄樹極為有用。 清單 9 顯示了用戶 greg 任何設(shè)置一個(gè) development 組所有用戶都能使用的目錄,以及一個(gè)示例,用戶 gretchen 如何在目錄上創(chuàng)建一個(gè)文件。正如所創(chuàng)建的,文件 gretchen.txt 允許組成員編輯文件,因此 gretchen 使用 chmod g-w 來取消組的寫功能。
  清單 9. sgid 訪問模式和目錄
  [greg@echidna ~]$ mkdir lpi101
  [greg@echidna ~]$ chmod g+ws lpi101
  [greg@echidna ~]$ ls -ld lpi101
  drwxrwsr-x. 2 greg development 4096 Nov 30 13:30 lpi101/
  [greg@echidna ~]$ su - gretchen
  Password:
  [gretchen@echidna ~]$ touch ~greg/lpi101/gretchen.txt
  [gretchen@echidna ~]$ ls -l ~greg/lpi101/gretchen.txt
  -rw-rw-r--. 1 gretchen development 0 Nov 30 14:12 /home/greg/lpi101/gretchen.txt
  [gretchen@echidna ~]$ chmod g-w ~greg/lpi101/gretchen.txt
  [gretchen@echidna ~]$ ls -l ~greg/lpi101/gretchen.txt
  -rw-r--r--. 1 gretchen development 0 Nov 30 14:12 /home/greg/lpi101/gretchen.txt
  development 組的任何成員現(xiàn)在都能夠在用戶 greg 的 lpi101 目錄上創(chuàng)建文件了。正如 清單 10 所示,組的其他用戶不能升級文件 gretchen.txt。但是,他們有對目錄的寫權(quán)限,因此可以刪除文件。
  清單 10. sgid 訪問模式和文件所有權(quán)
  [gretchen@echidna ~]$ su - tom
  Password:
  [tom@echidna ~]$ echo "something" >> ~greg/lpi101/gretchen.txt
  -bash: /home/greg/lpi101/gretchen.txt: Permission denied
  [tom@echidna ~]$ rm ~greg/lpi101/gretchen.txt
  rm: remove write-protected regular empty file `/home/greg/lpi101/gretchen.txt'? y
  [tom@echidna ~]$ ls -l ~greg/lpi101/
  total 0
  粘貼位
  您剛看到了任何有目錄寫權(quán)限的人如何刪除目錄中的文件。這對一個(gè)工作組項(xiàng)目是可接受的,但是對全球共享的文件空間,例如 /tmp 目錄,是不希望的。幸運(yùn)的是,有解決方案。
  剩下的訪問模式為就稱為粘貼 位。用符號表示就是 t,用數(shù)字表示就是八進(jìn)制位的高階為 1。它顯示在其他用戶的可執(zhí)行標(biāo)識(shí)中(最后的字符)的長目錄清單,而且 suid 和 sgid 的大小寫意義相同。如果設(shè)置一個(gè)目錄,它只允許有所有權(quán)的用戶或者 superuser(root)刪除或者解除文件鏈接。清單 11 顯示了用戶 greg 如何在他的 lpi101 目錄上設(shè)置粘貼位,還顯示了這個(gè)位設(shè)置用于 /tmp。
  清單 11. 粘貼目錄
  [greg@echidna ~]$ chmod +t lpi101
  [greg@echidna ~]$ ls -ld lpi101 /tmp
  drwxrwsr-t.  2 greg development  4096 Nov 30 14:16 lpi101
  drwxrwxrwt. 24 root root        12288 Nov 30 14:22 /tmp
  在以前,UNIX? 系統(tǒng)曾在文件上使用粘貼位在交換空間囤積可執(zhí)行文件,避免重新加載,F(xiàn)代 Linux 內(nèi)核忽略了粘貼位,如果它是設(shè)置給文件的。
  訪問模式的總結(jié)
  表 3 總結(jié)了這里討論的 3 種訪問模式的符號和八進(jìn)制表示。
  表 3. 訪問模式
  訪問模式 符號 八進(jìn)制
  suid s with u 4000
  sgid s with g 2000
  sticky t 1000
  將這些和早先的權(quán)限信息結(jié)合在一起,您可以看到對應(yīng) greg 的 lpi101 權(quán)限和 drwxrwsr-t 訪問模式的完整的八進(jìn)制表示是 3775。雖然 ls 命令不顯示八進(jìn)制權(quán)限,您可以使用 find 命令進(jìn)行顯示,如清單 12清單 12 所示。
  清單 12. 可打印的符號和八進(jìn)制權(quán)限
  [greg@echidna ~]$ find . -name lpi101  -printf "%M %m %f "
  drwxrwsr-t 3775 lpi101
  不可變文件
  訪問模式和權(quán)限提供了廣泛的控制,限制了誰可以在文件和目錄上做什么。但是,它們對有些事情也不能避免,如 root 用戶對文件的無心刪除。雖然這不在 LPI Topic 104.5 的范圍內(nèi),但是在提供額外功能的文件系統(tǒng)上還是有些可用的附加屬性。其中之一就是不可變 屬性。設(shè)置完成后,即使是 root 用戶也不能刪除文件,直到屬性解除。
  使用 lsattr 命令查看文件或者目錄是否設(shè)置了不可變標(biāo)識(shí)(或者任何其他屬性)。要將一個(gè)文件設(shè)置為不可變,使用 chattr 命令和 -i 標(biāo)識(shí)。
  清單 13清單 13 顯示了用戶 root 可以創(chuàng)建一個(gè)不可變文件,但是不能刪除它,直到不可變標(biāo)識(shí)被刪除。
  清單 13. 不可變文件
  [root@echidna ~]# touch keep.me
  [root@echidna ~]# chattr +i keep.me
  [root@echidna ~]# lsattr keep.me
  ----i--------e- keep.me
  [root@echidna ~]# rm -f keep.me
  rm: cannot remove `keep.me': Operation not permitted
  [root@echidna ~]# chattr -i keep.me
  [root@echidna ~]# rm -f keep.me
  變更不可變標(biāo)識(shí)需要 root 授權(quán),或者最少 CAP_LINUX_IMMUTABLE 功能。使文件不可變通常是安全或者入侵檢測工作的一部分。見功能使用頁面(man capabilities)了解更多信息。
  文件創(chuàng)建屏蔽
  創(chuàng)建一個(gè)新文件時(shí),創(chuàng)建進(jìn)程就會(huì)指明新文件的權(quán)限。通常,所需的模式是 0666,它使文件可由任何人讀和寫。目錄默認(rèn)為 0777。但是,這個(gè)寬松的創(chuàng)建會(huì)受到 umask 值的影響,這個(gè)值指明了用戶不想自動(dòng)授予新創(chuàng)建的文件或者目錄什么權(quán)限。系統(tǒng)使用 umask 值來減少原始請求的權(quán)限。您可以使用 umask 查看 umask 設(shè)置,如清單 14清單 14 所示。
  清單 14. 顯示八進(jìn)制 umask
  [ian@echidna ~]$ umask
  0002
  請記得,umask 指定了那個(gè)權(quán)限不被授予。在 Linux 系統(tǒng)上,用戶沒有專用組的的情況下,umask 通常默認(rèn)為 0022,它可以從新文件中刪除組和其他寫權(quán)限。用戶有專用組的情況下(例如這些例子中使用的在 Fedora 系統(tǒng)上),umask 通常默認(rèn)為 0002,它刪除了其他用戶的寫權(quán)限。使用 -S 選項(xiàng)來從符號上顯示 umask,以顯示哪個(gè)權(quán)限被允許的形式。
  使用 umask 命令設(shè)置一個(gè) unmask 并顯示。所以,如果您想要保持文件更專有,并且不允許所有組或者其他人訪問新創(chuàng)建的文件,就是可以使用 umask 值 0077。或者從符號上,使用 umask u=rwx,g=,o= 進(jìn)行設(shè)置,如清單 15清單 14 所示。
  清單 15. 設(shè)置 umask
  [ian@echidna ~]$ umask -S
  u=rwx,g=rwx,o=rx
  [ian@echidna ~]$ umask u=rwx,g=,o=
  [ian@echidna ~]$ umask
  0077
  [ian@echidna ~]$ touch newfile
  [ian@echidna ~]$ ls -l newfile
  -rw-------. 1 ian ian 0 Nov 30 15:40 newfile
  設(shè)置文件所有者和組
  文件組
  要變更文件的組,使用 chgrp 命令和組名,以及一個(gè)或者多個(gè)文件名。如果您喜歡,還可以使用組編號。普通用戶必須擁有文件,同時(shí)是文件要變更到的組的組員。root 用戶可以將文件變更到任意組。清單 16清單 16 顯示了一個(gè)例子。
  清單 16. 變更組的所有權(quán)
  [ian@echidna ~]$ touch file{1,2}
  [ian@echidna ~]$ ls -l file*
  -rw-rw-r--. 1 ian ian 0 Nov 30 15:54 file1
  -rw-rw-r--. 1 ian ian 0 Nov 30 15:54 file2
  [ian@echidna ~]$ chgrp development file1
  [ian@echidna ~]$ chgrp 505 file2
  [ian@echidna ~]$ ls -l file*
  -rw-rw-r--. 1 ian development 0 Nov 30 15:54 file1
  -rw-rw-r--. 1 ian development 0 Nov 30 15:54 file2
  正如該教程中的許多其他命令,chgrp 有一個(gè) -R 選項(xiàng),允許將變更遞歸應(yīng)用到所有所選的的文件和子目錄中。
  默認(rèn)組
  當(dāng)您學(xué)習(xí)之前的 訪問模式 時(shí),您就了解了在目錄上設(shè)置 sgid 模式如何導(dǎo)致創(chuàng)建在該目錄下的新文件屬于目錄的組,而不是屬于創(chuàng)建該文件的用戶所在的組。
  您還可以使用 newgrp 命令來暫時(shí)地將您的初級組變更到您所在的其他組。創(chuàng)建一個(gè)新的 shell,當(dāng)您退出 shell 時(shí),之前的組就能恢復(fù),如清單 17清單 17 所示。
  清單 17. 使用 newgrp 來暫時(shí)改變默認(rèn)組
  [ian@echidna ~]$ groups
  ian development editor
  [ian@echidna ~]$ newgrp development
  [ian@echidna ~]$ groups
  development ian editor
  [ian@echidna ~]$ touch file3
  [ian@echidna ~]$ ls -l file3
  -rw-r--r--. 1 ian development 0 Nov 30 16:00 file3
  [ian@echidna ~]$ exit
  [ian@echidna ~]$ groups
  ian development editor
  文件所有者
  root 用戶可以使用 chown 命令變更文件的所有權(quán)。在它最簡單的形式中,語法和 chgrp 命令類似,除了使用用戶名或者數(shù)字 id,而不是組名或者 id。文件的組也可能通過在用戶名或者 id 之后添加一個(gè)冒號和組名或者 id 來同時(shí)變更。如果只有給出冒號,那么就使用用戶的默認(rèn)組。一般來說,-R 選項(xiàng)會(huì)遞歸地應(yīng)用變更。清單 18清單 18 給出了一個(gè)例子。
  清單 18. 使用 chown 變更文件所有權(quán)
  [ian@echidna ~]$ touch file4
  [ian@echidna ~]$ su -
  Password:
  [root@echidna ~]# ls -l ~ian/file4
  -rw-rw-r--. 1 ian ian 0 Nov 30 16:04 /home/ian/file4
  [root@echidna ~]# chown greg ~ian/file4
  [root@echidna ~]# ls -l ~ian/file4
  -rw-rw-r--. 1 greg ian 0 Nov 30 16:04 /home/ian/file4
  [root@echidna ~]# chown tom:gretchen ~ian/file4
  [root@echidna ~]# ls -l ~ian/file4
  -rw-rw-r--. 1 tom gretchen 0 Nov 30 16:04 /home/ian/file4
  [root@echidna ~]# chown :tom ~ian/file4
  [root@echidna ~]# ls -l ~ian/file4
  -rw-rw-r--. 1 tom tom 0 Nov 30 16:04 /home/ian/file4
  指定用戶和組的較早版本使用點(diǎn),而不是冒號。因?yàn)楫?dāng)名稱中包含點(diǎn)時(shí),這個(gè)可能會(huì)造成誤解,所以已經(jīng)不再推薦。
  Linux 上的文件和目錄權(quán)限介紹就到此為止。

億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
   聯(lián)系:億恩小凡
   QQ:89317007
   電話:0371-63322206


本文出自:億恩科技【www.riomediacenter.com】

服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線