Ssh

遠端命令有不同的umask

  • December 2, 2020

ssh user@host "umask"給 0174

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

你能解釋一下它是怎麼發生的嗎?

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

從 bash 手冊頁:

當一個不是登錄 shell 的互動式 shell 啟動時,bash 讀取並執行來自 的命令~/.bashrc(如果該文件存在)。(…) 當作為互動式登錄 shell 或帶有選項的非互動式 shell 呼叫時--login,它首先嘗試按順序從/etc/profileand 讀取和執行命令~/.profile

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

引用自:https://serverfault.com/questions/1044568