파일을 편집하는 동안 Geany Editor가 파일 소유자를 변경하는 것을 방지하는 방법은 무엇입니까?

파일을 편집하는 동안 Geany Editor가 파일 소유자를 변경하는 것을 방지하는 방법은 무엇입니까?

저는 Geany를 사용하여 에 있는 모든 하위 디렉터리와 파일을 편집합니다 /var/www. /var/www모든 하위 디렉터리와 파일의 소유자와 그룹은 입니다 www-data:www-data. 내 사용자 계정은 그룹의 구성원이고 내 사용자로 파일을 편집합니다. 가끔 지니가 편집된 파일의 소유자와 그룹을 내 사용자와 내 그룹으로 변경하는 것 같습니다.

Geany를 사용하여 파일을 편집할 때 사용자:그룹이 변경되지 않도록 하려면 어떻게 해야 하나요?


나는 Geany 도움말에서 다음 단서를 찾았습니다.

원자 파일을 사용하여 저장

Geany가 파일을 디스크에 저장하는 모드를 정의합니다. 비활성화된 경우 Geany는 문서 내용을 디스크에 직접 씁니다. 디스크에 파일을 저장할 여유 공간이 더 이상 없으면 데이터가 손실될 수 있습니다. true로 설정하면 Geany는 먼저 내용을 임시 파일에 저장하고, 성공하면 임시 파일을 실제 파일로 이동하여 저장합니다. 이는 사용 가능한 디스크 공간이 더 이상 없는 상황에서 더 나은 오류 검사를 제공합니다. 그러나 원본 파일과 해당 권한에 대한 하드 링크도 끊어집니다(예: 실행 가능 플래그 재설정). 심각한 문제를 일으킬 수 있으므로 주의하세요. 더 나은 접근 방식은 디스크에 여유 공간이 부족하지 않도록 하는 것입니다.

현재로서는 비활성화되어 있습니다. 이는 파일이 직접 작성된다는 것을 의미하므로 내 문제가 발생하는 것을 방지한다고 생각합니다.

이 질문에는 몇 가지 관련 정보가 포함되어 있습니다. 파일을 편집하고 ACL/SELinux 보안 컨텍스트를 유지하는 방법은 무엇입니까?

답변1

보고 있다지니의 위키, 이 옵션을 비활성화해야 할 수도 있습니다:

use_gio_unsafe_file_saving

이는 기본적으로 켜져 있으며 GIO 라이브러리에서 제공됩니다.

이 옵션은 다른 방법과 관련된 문제를 최대한 많이 처리하려고 시도합니다.

  • 위에서 설명한 원자 이름 변경 저장 방법을 사용하려고 시도하지만 가능한 한 많은 문제를 해결하려고 시도합니다.
    • 임시 파일의 메타데이터를 확인하고 기존 파일에서 메타데이터 복사를 시도하며,
    • 메타데이터가 올바르면 임시 파일에 기록되고 위와 같이 이름이 변경됩니다.
    • 메타데이터가 잘못된 경우 비원자적이지만 안전한 방법을 사용합니다.
      • 기존 파일을 임시 파일로 복사
      • 기존 파일을 자르고 덮어쓰는데 실패하면 임시 파일을 다시 복사하거나 사용할 수 있어야 하지만 아래 단점을 참조하세요.
  • 기본 파일 시스템에서 이름 바꾸기가 가능한지 확인하고 이름 바꾸기가 실패할 경우 비원자적 방법을 사용합니다.

이점:

  • 가장 다양한 조건을 처리하므로 대부분의 파일 시스템에서 가장 정확하게 작동합니다. 이것이 기본값인 이유입니다.

결점:

  • 하나 있다오래 지속되는 버그또는 데이터 파일 쓰기에 실패할 경우 비원자 저장에서 임시 파일을 제거하는 GIO 라이브러리의 설계 버그입니다.이는 이전 데이터가 복구되지 않거나 사용자가 복구할 수 없기 때문에 단순 덮어쓰기 방법보다 더 안전하지 않음을 의미합니다.
  • 비원자적 방식은 네트워크 전체에서 복사본 데이터를 세 번 저장합니다(임시 파일을 만들기 위해 읽고 쓰기, 출력 파일에 쓰기). 이는 원격 네트워크에서 속도가 느려질 수 있습니다.
  • 디스크 공간을 두 배로 사용합니다.
  • 꽤 복잡합니다.
  • Geany가 동작을 수정할 수 없도록 라이브러리 코드를 사용합니다.

파일을 저장하는 정말 이상한 방법입니다. 옵션과 동일한 "원자적" 저장이 발생할 수 있는 것 같습니다 use_atomic_file_saving.

관련 정보