我想遞歸地創建一個目錄併爲創建的文件夾及其父項分配一個所有者和組。遞歸地創建一個具有特定所有者和組的目錄
例如,假設/var
存在,我想創建/var/test1/test2/test3
。
我能夠使用os.MkdirAll("/var/test1/test2/test3", 0600)
來做到這一點。
不過,我也想設置test1
,test2
和test3
的uid
到user1
和gid
到user1
。
使用os.Chown
可以這樣做,但這需要大量的手動工作。我需要在創建文件夾鏈之前構建不存在的文件夾及其父項的樹,然後在創建後在每個文件夾上使用os.Chown
。
有沒有更簡單的方法?
我不認爲有這樣的事情可用。你可能最好複製'MkdirAll'源文件並添加一個合適的'Chown'調用來做你想做的事(IIRC沒有辦法自動創建一個非默認所有者的目錄)。 –
我認爲這是目前最好的選擇,儘管它感覺像是一種代碼味道。 – F21