2016-09-16 2 views
0

우분투 상자에서 스크립트를 실행하는 사용자 집합이 있습니다. 은 일부 출력을 덮어 쓸 수 있도록해야합니다.어떻게 내 bash 스크립트가 결과 파일에 그룹 읽기 권한을 부여 할 수 있습니까?

는 다음을 상상해 :

#!/bin/bash 

NAME=$1 
echo "Hello, $NAME" > output.txt 

ONE 사용자가이 실행, 우리는 output.txt에 다음과 같은 권한을 얻을 : -rw-r--r--. 그러나 다른 사용자가 실행하면 -rw-r--r--이됩니다.

내 앙상블 스크립트에는 BASH, Python 및 Scala가 포함됩니다. 새 파일이 기본적으로 -rw-rw-r--으로 생성되도록 디렉토리 또는 사용자 수준에서 설정할 수있는 항목이 있습니까?

+0

왜 그냥 올바른 권한으로 미리 파일을 생성하지 않는 다음과 같이

진수 및 표기법

입니다. 파일을 삭제하는 것이 없으면 권한은 그대로 유지됩니다. – Barmar

+0

오른쪽. 나는 그것을 할 수 있었지만, 나는 새로운 지식과 내가하고있는 일을 단순화시킬만한 것을 찾고 있었다. 제공된 대답은 상당히 도움이됩니다. – Larsenal

답변

2

umask 명령에 002 8 진수 마스크를 사용해야합니다.

실행 :

#!/bin/bash 

umask 002 
NAME="$1" 
echo "Hello, $NAME" > output.txt 

umask 002664775 및 기본 파일 권한에 기본 디렉토리 권한을 설정합니다 :로 스크립트를 만드는 스크립트의 시작

umask 002 

.

0 : read, write and execute 
1 : read and write 
2 : read and execute 
3 : read only 
4 : write and execute 
5 : write only 
6 : execute only 
7 : no permissions 
+0

** 스크립트에 **이 명령을 넣을 수 있습니다. – Barmar

+0

나는 그가 스크립트 안에서 생성 된 파일에 대한 사용 권한을 보장하기를 원한다고 생각했다. 스크립트를 실행하기 전에 사용자가 환경을 변경하도록 요구하는 것은 잘못된 것처럼 보입니다. – Barmar

+0

당신 말이 맞아요, 제 대답을 수정했습니다. – anubhava