디렉토리에 755 권한을 부여하고 싶으므로 다음을 사용합니다.
# chmod -R 755 /my/folder/
내 폴더 내의 모든 파일에 대해 작동하지만 문제는 이 폴더에 새 파일을 생성하는 스크립트를 사용하고 기본적으로 권한이 600이라는 것입니다.
이러한 '미래' 파일에 755 권한을 어떻게 부여할 수 있습니까?
--편집하다--
저는 캠퍼스의 네트워크 트래픽에 대한 정보를 제공하는 스크립트를 사용합니다. 다음과 같이 월 폴더에 있는 travel이라는 폴더에 10분마다 새 파일이 생성됩니다.
ls -lrt /home/netmet/secure/2017-04/2017-04-27/
total 118548
-rwxr-sr-x 1 root root 85922 avril 27 00:10 zzaccounting.dmp-00-00
-rwxr-sr-x 1 root root 54874 avril 27 00:20 zzaccounting.dmp-00-10
-rwxr-sr-x 1 root root 33534 avril 27 00:30 zzaccounting.dmp-00-20
-rwxr-sr-x 1 root root 48890 avril 27 00:40 zzaccounting.dmp-00-30
-rwxr-sr-x 1 root root 36878 avril 27 00:50 zzaccounting.dmp-00-40
-rwxr-sr-x 1 root root 37034 avril 27 01:00 zzaccounting.dmp-00-50
-rwxr-sr-x 1 root root 38154 avril 27 01:10 zzaccounting.dmp-01-00
-rwxr-sr-x 1 root root 38318 avril 27 01:20 zzaccounting.dmp-01-10
-rwxr-sr-x 1 root root 26978 avril 27 01:30 zzaccounting.dmp-01-20
-rwxr-sr-x 1 root root 31558 avril 27 01:40 zzaccounting.dmp-01-30
-rwxr-sr-x 1 root root 23662 avril 27 01:50 zzaccounting.dmp-01-40
-rwxr-sr-x 1 root root 32298 avril 27 02:00 zzaccounting.dmp-01-50
-rwxr-sr-x 1 root root 30282 avril 27 02:10 zzaccounting.dmp-02-00
-rwxr-sr-x 1 root root 31110 avril 27 02:20 zzaccounting.dmp-02-10
-rwxr-sr-x 1 root root 25718 avril 27 02:30 zzaccounting.dmp-02-20
-rwxr-sr-x 1 root root 26306 avril 27 02:40 zzaccounting.dmp-02-30
-rwxr-sr-x 1 root root 23690 avril 27 02:50 zzaccounting.dmp-02-40
-rwxr-sr-x 1 root root 23002 avril 27 03:00 zzaccounting.dmp-02-50
-rwxr-sr-x 1 root root 21854 avril 27 03:10 zzaccounting.dmp-03-00
여기에서는 권한을 직접 변경했지만 새 파일이 나타나면 다음과 같은 결과가 나타납니다.
-rw------- 1 root root 3479106 avril 27 15:50 zzaccounting.dmp-15-40
문제는 아래의 모든 폴더와 파일에 대해/홈/netmet/보안/기본적으로 755 권한을 원합니다.
나는 이미 이 작업을 수행했습니다.
chmod -R g+s /home/netmet/secure
setfacl -d -m g::rwx /home/netmet/secure
setfacl -d -m o::rx /home/netmet/secure
답변1
umask
폴더에서 실행해 보세요 . '0022' 이외의 항목을 반환하면 이것이 문제입니다. 귀하의 경우에는 처음에 '0177'을 출력해야 합니다. 디렉토리를 생성할 때 권한 시스템은 기본적으로 계산됩니다.
default - umask
0777은 디렉토리의 기본 모드이고 0666은 일반 파일이지만 이러한 사항을 올바르게 이해하면 다른 umask가 있습니다. 실행해 보세요 umask a=rx,uu+w
.
편집: umask를 사용하여 디렉토리에 실행 비트를 제공하여 CD로 들어갈 수 있지만 파일에는 사용할 수 없습니다. 보안 때문에 실행 비트를 수동으로 제공해야 합니다. chmod +x <file>
스크립트에 추가하기만 하면 됩니다 . 그리고 실행 파일 이외의 파일에 설정된 실행 플래그는 아무 효과가 없습니다.
답변2
나는 당신이 스크립트를 실행하고 있다고 추측합니다생성하다umask가 0077로 설정된 환경의 파일입니다. 이렇게 하면 생성 프로그램이 '그룹' 및 '기타' 권한 비트에 권한 비트를 설정하는 것을 방지할 수 있습니다.
umask는 모든 프로세스의 상속된 환경의 일부이며 일반적으로 로그인 시 기본 '프로필'에서 설정됩니다. 모든 프로세스(셸)는 'umask' 명령을 사용하여 자체 및 하위 하위(초기) umask를 수정할 수 있습니다.
현재 umask의 비트는 권한에 이러한 비트가 설정된 파일 생성을 방지합니다(따라서 결과 권한 비트를 마스크하는 "마스크").
답변3
메모: 이는 이상적이지 않으며 임시 해결 방법으로 고려해야 합니다.
5분마다 또는 원하는 대로 chmod 명령을 실행하는 크론 작업을 생성할 수 있습니다.
또한 있습니다inotify