遠端命令有不同的 umask

遠端命令有不同的 umask

ssh user@host "umask"給出0174

ssh user@host伺服器 shell 的 umask 給出 0002

您能解釋一下這是怎麼發生的嗎?

UPD:實際上,是 /etc/passwd 覆蓋了 umask。

答案1

從 bash 手冊頁:

當啟動非登入 shell 的互動式 shell 時,bash 會讀取並執行來自 的命令(~/.bashrc如果該檔案存在)。 (...) 當作為互動式登入 shell 或帶有該選項的非互動式 shell 呼叫時--login,它首先嘗試按順序讀取並執行來自/etc/profile和 的 命令。~/.profile

在第一個命令 ( ssh user@host "umask") 中,它不是登入 shell,在第二種情況下,它是。因此,請檢查您的~/.bashrc文件中是否有umask 0002命令。

相關內容