簡體   English   中英

(FUSE)文件系統何時檢查訪問權限?

[英]When does a (FUSE) filesystem check acces rights?

“Unix world”文件系統(如ext4)存儲每個文件,inode中有3種類型的可用用戶所有者,組,其他的權限/訪問權限列表。 我想知道“認證”何時發生; 我的意思是:

假設我們有一個文件

file.txt     rwx     rw-     ---       st_uid=54    st_gid=99
             owner   group   others    

用戶tim具有uid=100gid=99

在終端中運行cat file.txt ,請求到達文件系統,該文件系統將tim與文件的permisions進行比較;

tim不是主人:他的uid=100與文件的uid=54不一樣;

但是他和文件( 99 )有同樣的gid,所以他得到的反應是rw-

cat實際上是一個讀取,因此用戶收到內容

執行此方案的系統功能是什么? 我可以通過實現自定義文件系統來修改它嗎?

更新:我的文件系統的唯一目的是更多地使用權限並且是概念證明(這是一個研究項目),因此任何有關我應該從哪里開始的想法都將受到高度贊賞。 提前致謝!!

對於FUSE文件系統,解決方案是直截了當的:FUSE實現為每個用戶對文件系統的請求提供上下文 ;

工作流程如下所示:

  1. 用戶發出與文件系統相關的請求(即ls
  2. 內核注意到使用FUSE掛載了特定的文件系統
  3. 請求將轉發到自定義文件系統(使用FUSE創建)。 在這里,您可以使用fuse_context訪問請求的元數據, fuse_context將返回uid,gid,pid。
  4. 球現在在你的球場上:你可以(幾乎)做任何你想要完全控制文件系統和用戶請求的東西

暫無
暫無

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

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