UTL_FILE을 사용하여 Oracle 작업용 UMASK를 결정하는 방법은 무엇입니까?

UTL_FILE을 사용하여 Oracle 작업용 UMASK를 결정하는 방법은 무엇입니까?

PL/SQL 작업foobar622UNIX/LINUX 서버에 파일을 쓰려면 다음 Oracle 파일 I/O 명령을 사용하십시오.

UTL_FILE.FILE_OPEN

UTL_FILE.PUT_LINE

UTL_FILE.FILE_CLOSE

과거에는 이러한 파일에 다음과 같은 권한이 있었습니다.

  -rw-r--r-- 1 User_foobar_101 UnixGroup_101 563343 Apr 25 00:22 foobar622_fz.sql
  -rw-r--r-- 1 User_foobar_101 UnixGroup_101 563343 Apr 25 00:22 foobar622_fa.sql
  -rw-r--r-- 1 User_foobar_101 UnixGroup_101 563343 Apr 25 00:22 foobar622_fb.sql
  -rw-r--r-- 1 User_foobar_101 UnixGroup_101 563343 Apr 25 00:22 foobar622_fc.sql
  -rw-r--r-- 1 User_foobar_101 UnixGroup_101 563343 Apr 25 00:22 foobar622_fd.sql

지금foobar622permission denied다음 권한으로 쓰기: 편집기에서 파일을 열려고 하면 오류가 발생합니다.

  -rw-r----- 1 Unknown+User Unknown+Group  563343 May 22 00:22 foobar622_fa.sql
  -rw-r----- 1 Unknown+User Unknown+Group  563347 May 25 00:22 foobar622_fb.sql
  -rw-r----- 1 Unknown+User Unknown+Group  563333 May 25 00:22 foobar622_fc.sql
  -rw-r----- 1 Unknown+User Unknown+Group  563923 May 25 00:22 foobar622_fd.sql

첫 번째 기본 권한을 복원하는 방법은 무엇입니까? 이것이 Oracle 설정입니까, 아니면 UMASK 설정입니까, 아니면 무엇입니까?

답변1

당신에게는 이러한 선택이 있습니다.

  • oracle 사용자를 세 번째 "공유" 운영 체제 그룹에 추가하고 데이터베이스를 다시 시작한 다음 디렉터리에 s 비트를 추가합니다. chgrp shared /path/utl_directory; chmod g+s /path/utl_directory;. 따라서 해당 디렉터리의 파일은 상위 디렉터리의 gid를 상속받으며 사용자는 해당 파일을 읽을 수 있습니다.

  • 디렉터리에서 ACL을 사용하면 사용자는 표준 Posix posix 설정에 관계없이 파일을 읽을 수 있습니다.

  • Oracle 프로세스 내에서 umask를 변경할 수 있는 Oracle 매개변수 _trace_files_public을 사용하십시오. 처음에 이 매개변수는 로그 파일에 사용됩니다.

관련 정보