덮어쓰기 폴더 내용 보호

덮어쓰기 폴더 내용 보호

폴더의 내용을 보호하는 방법(acl 사용)이 있습니까? 사용자는 폴더 내에 파일을 생성해야 하지만 해당 파일을 덮어쓰거나 편집하거나 삭제해서는 안 됩니다. 가능합니까?

답변1

이를 사용하여 inotifywait디렉토리를 모니터링하고 디렉토리에 복사된 각 새 파일의 소유권을 변경하는 등의 변경 작업을 수행할 수 있습니다. Debian 기반 배포판에서는 다음과 같이 소프트웨어를 설치합니다 apt-get install inotify-tools.

어쩌면 아래와 같은 스크립트를 만들 수도 있습니다 /usr/local/sbin/inbox.sh.

#!/usr/bin/env bash
inotifywait -m -e create "/path/to/directory" |
while read path event file; do
    if [ "$event" = "CREATE" ]; then
        chown root:root "$path$file"
    fi
done

스크립트( chmod 0700 /usr/local/sbin/inbox.sh)에 실행 권한을 부여합니다. 그런 다음 시작 시 (예를 들어) /etc/rc.local또는 적절한 RC 파일 에서 실행합니다 /usr/local/sbin/inbox.sh &.

~에 따르면수동, -m무기한 모니터링하고 -e특정 이벤트를 모니터링합니다. while루프 내에서 CREATE,ISDIR디렉토리 생성을 나타내는 와 같은 이벤트를 수신할 수 있습니다. 디렉토리는 질문의 대상이 아닙니다. 따라서 명령문에는 ifevents 로 표시되는 새 파일에만 응답하는 명령이 포함되어 있습니다 CREATE. pathfrom 변수 inotifywait에는 후행 슬래시 문자가 있으므로 둘 사이에 슬래시를 지정하지 않고도 $pathand 를 연결할 수 있습니다.$file

관련 정보