
ssh user@host "umask"
0174를 제공합니다
ssh user@host
서버 쉘의 umask는 0002를 제공합니다
어떻게 이런 일이 일어날 수 있는지 설명해 주시겠습니까?
UPD: 실제로는 umask를 재정의하는 /etc/passwd였습니다.
답변1
Bash 매뉴얼 페이지에서:
로그인 쉘이 아닌 대화형 쉘이 시작되면 bash는
~/.bashrc
해당 파일이 존재하는 경우 해당 명령을 읽고 실행합니다. (...) 대화형 로그인 셸 또는 옵션이 있는 비대화형 셸로 호출되면 먼저 및 에서 명령을 순서대로--login
읽고 실행하려고 시도합니다 ./etc/profile
~/.profile
첫 번째 명령( ssh user@host "umask"
)에서는 로그인 쉘이 아니지만 두 번째 명령에서는 로그인 쉘입니다. 따라서 ~/.bashrc
파일에서 umask 0002
명령을 확인하십시오.