linux用戶的問題

最近在開發的時候遇到一個問題:python

我在某個項目下的某個文件夾內寫了一個能夠單獨run的A.py文件,這個文件裏面的代碼能夠調用kubernetes的python接口來請求kubernetes上的信息(好比pod信息)。問題發生在,這個文件所在的項目的運行是先後端之間要聯通的,當我在其餘的後端文件調用A.py的方法就會報錯,看日誌是加載kubernetes的配置文件出錯了。但是爲啥我單獨運行A.py來測試run就沒問題呢 ?linux

因而乎,請教了linux比較瞭解的人,找到了問題所在。
首先,單獨run A.py的代碼時候,打印一下system(「whoami」),在控制檯看到的輸出是root。這沒毛病,由於我把kubernetes的配置文件放在了/root/.kube/config這個路徑下,config就是那個配置文件。後端

但是當把整個項目run起來的時候這個文件就找不到了,就會報錯,配置文件找不到,根本無法訪問kubernetes。爲啥呢,檢查了環境變量和路徑以及路徑對應的文件。在這些沒有錯誤的前提下,最後得出的問題是linux用戶的問題。程序運行時是不一樣的用戶,致使文件系統的隔離,/root下面的文件其餘用戶是沒有辦法訪問的,是不可見的,即便給文件設置了777文件權限也沒有用,/root的目錄依舊是不可見的。測試

因此,最後的解決辦法是,將kubernetes的配置文件轉移到/目錄下,在加載kubernetes配置文件的方法那裏指定文件路徑問題解決了。理論上應該找出項目運行時的用戶,將對應的配置文件放在用戶能夠訪問的目錄下,這樣應該是比較好的方案,但因爲項目的問題,用戶沒肯定出來,因此採用了上面的方法,但問題是解決了。日誌

關於linux帳戶與用戶組

可見:鳥哥的linux私房菜, P418code

這裏咱們討論一下用戶帳戶:這裏有兩個命令 cat /etc/passwdcat /etc/shadow.都是以文件的形式進行的記錄,能夠進行vi編輯修改,但不要亂修改,不知道的不要修改!還有一個cat /etc/group這個能夠先忽略。/etc/passwd是管理用戶UID與GID的重要參數,/etc/shadow是專門管理密碼相關數據的,這兩個文件的數據值得研究,若是要備份linux用戶信息,記得這兩個文件都要備份!接口

相關文章
相關標籤/搜索