프로세스 재정의 액세스 제한

프로세스 재정의 액세스 제한

나는 단지새로 만들기대신 파일씌우다현재의.

그런 것이 존재하나요?

$ fsaccess --can read,write --not overwrite --command bash -c 'echo "stuff" > filetim; echo "Woohoo I did it"'

이제 filetim이 없으면 명령이 제대로 실행되지만 filetim이 있으면 fsaccess는 다음과 같은 메시지와 함께 종료됩니다.

Killed child! Command tried to overwrite a file. It does not have permission to do that!

답변1

프로세스가 새 파일을 생성할 수 있지만 기존 파일을 덮어쓰지 않도록 하려면 전용 사용자로 프로세스를 실행하고 처음에 비어 있는 일부 디렉터리를 제외하고 해당 사용자에게 쓰기 액세스 권한을 부여하지 마세요. 이렇게 하면 프로그램이 기존 파일을 덮어쓸 수 없습니다.

프로그램을 실행하고 파일을 덮어쓰는 척(그렇지 않은 경우)하려면 위의 개인 디렉터리에 대한 쓰기 액세스 권한을 부여하세요. 그렇지 않으면 다음을 사용할 수 있습니다.연합 파일 시스템예를 들어오브,기능,UnionFS 퓨즈,...,다른 계층 구조도 프로그램에 나타나도록 합니다.

프로세스에서 덮어쓴 모든 이전 버전의 파일을 유지하려면 프로세스를 다음으로 제한하세요.파일 복사모든 파일의 이전 버전을 모두 유지하는 파일 시스템입니다.

프로세스가 새 파일을 만들도록 허용해야 하지만 자체 파일을 덮어쓰지 않아야 하는 경우 기존 파일을 찾을 수 없을 것 같습니다. 너 스스로 쓸 수 있어퓨즈파일 시스템.

관련 정보