簡體   English   中英

Linux功能會划分可能的特權操作嗎?

[英]Do Linux capabilities partition the possible privileged operations?

更准確地說,是否有任何一項操作可以使用一種以上的能力來授予流程必要的權限?

簡短的答案是肯定的。

我要說的總體模型是,每個操作都由一個功能來保護。 但是,當然也有例外。 瀏覽完kernel /目錄后,我迅速找到了一個示例。 usermodehelper sysctl處理程序需要CAP_SETPCAP和CAP_SYS_MODULE功能才能更新其設置。

要考慮的另一個因素:功能檢查遍布整個內核代碼,包括眾多驅動程序。 驅動程序編寫者可以選擇以自己認為最佳的方式檢查功能,因此很可能需要調用者保留多個功能。

最后,在許多其他情況下,即使一個操作從根本上只需要一個功能,它可能會使用多個功能。 例如,考慮一個系統調用,該調用需要以功能為基礎,但也需要對某些操作使用pathname參數。 我找到了一個例子:帶有選項PR_SET_MM和子選項PR_SET_MM_EXE_FILE pr_ctl系統調用。 此調用基本需要CAP_SYS_RESOURCE 但是,它也需要對文件的某些權限。 但是,如果主叫用戶沒有訪問該文件的正確憑據,則在主叫方具有CAP_DAC_OVERRIDE功能的情況下,該權限可以被覆蓋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM