執行個體的非/tmp目錄無法寫入,一般是由於執行個體使用了非Root使用者啟動。本文介紹執行個體使用非Root使用者啟動的可能原因以及解決方案。
原因一:函數的建立時間早於2022年08月
在Function Compute中,如果是2022年08月以前建立的函數,函數的執行使用者預設為使用者ID大於等於10000的非Root使用者,詳情請參見2022年08月發布記錄。
解決方案
建立新函數,並將2022年08月之前建立的目標函數的代碼及配置等遷移到新建立的函數。建立函數預設使用Root使用者執行,且支援寫檔案至所有目錄。
原因二:為函數配置了NAS檔案系統,而使用者ID和使用者組ID配置為非Root
為函數配置NAS檔案系統時,使用者ID和使用者組ID設定為非Root時,執行個體會使用非Root使用者啟動,非/tmp目錄不可寫。
解決方案
將NAS檔案系統配置中的使用者ID和使用者組ID改為Root,即UID=0,GID=0。具體操作,請參見配置NAS檔案系統。