根據設定檔 mkdir 作為另一個用戶

根據設定檔 mkdir 作為另一個用戶

我們有一個共享的 Linux 環境,其中大多數檔案都安裝到 NFSv3 共用上的許多電腦上,這是我們無法控制的。由於我們只有基本的檔案系統權限(無 ACL),因此我們正在尋找一種方法,允許人們在共用磁碟中執行 mkdir,而無需授予整個群組對共用根目錄的寫入權限。

例如,設定了 setuid 位元的二進位檔案以及設定為共用擁有者的二進位檔案的擁有者可以讀取設定文件,該設定檔將定義允許哪些使用者或群組在所述共用目錄中建立目錄。然後它可以決定是否允許運行二進位檔案的使用者在共用中建立目錄。

頂級共享的權限為:

drwxr-x--- 1 owner group …

因此,我們的想法是,有一個 mkdir 的包裝器,然後以共享所有者身份運行,檢查配置文件,並在配置文件允許的情況下創建請求的目錄。這樣,使用者就不能只運行內建的 mkdir。

建立的目錄看起來像這樣:

drwx------ 1 normaluser group 4096 Nov 3 18:14 newdir

這是最好的方法嗎?或者我們正在重新發明輪子?

答案1

設定umask每個使用者登入時的:

umask 002

此後,該群組將具有與使用者相同的權限:

mkdir newdir
ls -ld newdir
drwxrwxr-x+ 1 roaima roaima 0 Nov  3 22:04 newdir

如果這不是您想要的,請為 mkdir 建立一個別名

alias md='mkdir -m 775'
md newdir

相關內容