원격 명령의 umask가 다릅니다.

원격 명령의 umask가 다릅니다.

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명령을 확인하십시오.

관련 정보