umask는 nohup과 함께 사용할 수 없습니다

umask는 nohup과 함께 사용할 수 없습니다

올바르게 작동하지 않는 umask것 같습니다 .nohup

나는 이걸했다:

$ umask 022
$ nohup java -jar blah.jar &
[1] 12345
nohup: ignoring input and appending output to `nohup.out'
$ ls -l nohup.out
-rw-------. 1 juser juser 41242 Jun 27 11:07 nohup.out

이유를 아시나요? nohup강제 600 무시 설정인가요 umask? nohup.out600개의 생성 권한 대신 644개의 권한을 얻으려면 어떻게 해야 합니까 ? 좋아, 하나 만들 수는 있지만 chmod 644 nohup.out"깨끗한" 접근 방식을 선호합니다.

내 쉘은 bash이고 운영 체제는 CentOS 7입니다.

답변1

GNU 구현nohup 소홀히 하다umask:

nohup.out현재 설정에 관계없이 사용자가 $HOME/nohup.out만든 모든 파일은 nohup사용자만 읽고 쓸 수 있습니다 umask.

이는 nohup파일 자체를 생성할 때만 작동하므로 nohup.out실행하기 전에 적절한 권한으로 파일을 생성 nohup하고 nohup권한을 변경하지 않고 해당 파일에 추가할 수 있습니다.

umask 022
touch nohup.out
nohup java -jar blah.jar &

또는 리디렉션을 사용하여 쉘이 파일을 생성하도록 할 수도 있습니다.

umask 022
> nohup.out nohup java -jar blah.jar &

관련 정보