Linux/Unix中的SUID和SGID檔案許可權和在CVS專案管理中的應用 (轉)
Linux/Unix中的SUID和SGID檔案許可權和在CVS專案管理中的應用 (轉)[@more@]當你使用passwd改變自己的口令時,你需要訪問/etc/shadow,但作為普通你並沒有這個。這時透過一種附加許可權來實現你對該檔案的訪問。
當你一個設定了suid位的時,你就繼承了該程式的屬主許可權,而沒有設定suid位的程式在執行時只擁有執行該程式的使用者的許可權。
下面列出 /usr/bin/passwd的檔案屬性
-r-s--x--x 1 root 15368 5ôâ 29 2002 /usr/bin/passwd
可以看到,所有者執行位設定為s
而設定了sgid位的程式將以程式屬主所在組的許可權來執行。
這裡,你執行passwd時,你是以root的許可權來執行的。
suid位和粘滯位給目錄一個額外的檔案移動許可權。使用者對目錄有寫許可權就可以使使用者增加和刪除該目錄下的任何檔案,如果該目錄的粘滯位被設定,則只有當你是如下使用者時檔案才能被刪除:設定粘滯位的目錄的屬主,要被刪除的檔案的屬主,root使用者。
目錄也可以設定sgid位,如果一個目錄設定了sgid位,任何加到該目錄下的新檔案都自動繼承該目錄的組,用來代替生成檔案的使用者的組。
-------------------------------------------------
sgid的應用
眾所周知的,本身對使用者和專案許可權的管理非常薄弱,這就需要我們使用系統對使用者的目錄的功能來扶助實現。
在建立新專案時首先建立用於開發該專案的組,如:dxc
將開發人員的使用者都加入到這個組中,如有:dxca,dxcb,dxcc
使用一個專案成員賬號在$cvsroot目錄下建立 一個該專案的同名目錄如dxc,並修該目錄的所屬組為dxc,使用
chmod g+s dxc
設定 sgid位
然後,import該專案。
這樣該組的每個成員就都可以正確的checkout和commit,即使add新的目錄和檔案也不會導致其他的使用者不能正確訪問而需要手工改變新子目錄的屬性。
當你一個設定了suid位的時,你就繼承了該程式的屬主許可權,而沒有設定suid位的程式在執行時只擁有執行該程式的使用者的許可權。
下面列出 /usr/bin/passwd的檔案屬性
-r-s--x--x 1 root 15368 5ôâ 29 2002 /usr/bin/passwd
可以看到,所有者執行位設定為s
而設定了sgid位的程式將以程式屬主所在組的許可權來執行。
這裡,你執行passwd時,你是以root的許可權來執行的。
suid位和粘滯位給目錄一個額外的檔案移動許可權。使用者對目錄有寫許可權就可以使使用者增加和刪除該目錄下的任何檔案,如果該目錄的粘滯位被設定,則只有當你是如下使用者時檔案才能被刪除:設定粘滯位的目錄的屬主,要被刪除的檔案的屬主,root使用者。
目錄也可以設定sgid位,如果一個目錄設定了sgid位,任何加到該目錄下的新檔案都自動繼承該目錄的組,用來代替生成檔案的使用者的組。
-------------------------------------------------
sgid的應用
眾所周知的,本身對使用者和專案許可權的管理非常薄弱,這就需要我們使用系統對使用者的目錄的功能來扶助實現。
在建立新專案時首先建立用於開發該專案的組,如:dxc
將開發人員的使用者都加入到這個組中,如有:dxca,dxcb,dxcc
使用一個專案成員賬號在$cvsroot目錄下建立 一個該專案的同名目錄如dxc,並修該目錄的所屬組為dxc,使用
chmod g+s dxc
設定 sgid位
然後,import該專案。
這樣該組的每個成員就都可以正確的checkout和commit,即使add新的目錄和檔案也不會導致其他的使用者不能正確訪問而需要手工改變新子目錄的屬性。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-982797/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- UNIX檔案的SUID/SGID(轉)UI
- Linux檔案特殊許可權 SUID/SGID/Sticky BitLinuxUI
- Linux檔案特殊許可權 SUID/SGID/Sticky Bit (zt)LinuxUI
- Linux特殊許可權之suid、sgid、sbit許可權LinuxUI
- Linux中的檔案許可權Linux
- Linux中檔案的許可權Linux
- Linux特殊許可權SUID、SGID、SBITLinuxUI
- Unix Linux檔案型別與許可權管理Linux型別
- Linux的檔案許可權管理Linux
- linux中許可權對檔案和目錄的作用Linux
- Linux 檔案許可權管理的方法Linux
- linux 檔案許可權管理Linux
- Linux的檔案存取許可權和0644許可權Linux
- Linux檔案許可權管理命令Linux
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- Linux 中的許可權管理Linux
- suid,sgid,sticky的三個許可權的詳細說明UI
- 我的Django專案中的許可權機制Django
- Linux檔案許可權Linux
- Linux 檔案許可權Linux
- Linux檔案許可權的檢查和修改Linux
- WindowsNT和Linux的檔案許可權一個區別(轉)WindowsLinux
- UNIX 中的檔案切割(轉)
- 專案管理中的授權技巧(轉)專案管理
- 『學了就忘』Linux許可權管理 — 55、檔案特殊許可權Linux
- Linux系統中怎麼修改檔案許可權?Linux
- 專案管理在HIS專案實施中的應用(轉)專案管理
- Mac 檔案許可權管理(桌面管理)Mac
- Linux檔案許可權對應數值Linux
- 風險管理在施工專案管理中的應用(轉)專案管理
- [svc]linux檔案許可權Linux
- Linux檔案基本許可權Linux
- 修改檔案的許可權
- 關於UNIX和Linux系統下SUID、SGID的解析LinuxUI
- 專案管理在出版活動中的應用(轉)專案管理
- 專案管理在企業中的應用(轉)專案管理
- Linux系統中檔案許可權ACL功能(上)。薦Linux
- Linux 特權 SUID/SGID 的詳解LinuxUI