開源鏡像管理項目Harbor部署時組件啓動報permission denied錯誤的解決方法

在部署harbor時,有時候會出現如下錯誤:

[ERROR] [base.go:248] failed to load app config: open /etc/core/app.conf: permision denied

錯誤很明顯就是對文件沒有讀取權限,那麼爲什麼會出現這種情況呢?

看過harbor組件運行的進程的話,就知道harbor程序啓動是一個10000的用戶,如果文件權限屬性對其他用戶沒有讀權限,那麼10000這個用戶當然就無法讀取配置文件了。

定位過程:

方式一:首先創建一個新文件,然後查看文件的默認讀寫權限,如果750,那麼說明操作系統的默認文件權限就是750,因此在harbor程序部署時,自動生成的配置文件權限都是750,10000這個用戶當然就沒有讀取配置文件的權限了

方式二:查看umask值,umask是linux系統內置的默認文件權限查看命令,也可以通過此命令修改默認文件權限,如果umask的值是027,則表明操作系統默認文件權限是750,umask命令的實現就是對文件權限做減法,全部權限是777,則umask的027就表示750,那麼harbor程序部署時,自動生成的配置文件的權限都是750了,10000這個用戶就無法讀取配置文件了

瞭解了問題的根本原因,就好解決了,執行umask 0022,將文件默認權限改爲755,這樣harbor程序部署時,自動生成的配置文件就會變成755,10000這個用戶就可以讀取配置文件了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章