vim이 새 파일을 생성할 수 있는 전체 권한 설정이 있습니까? 이는 umask에 의해 제한되며 vim으로 생성된 파일에서만 작동합니다. 이미 존재하는 파일의 일부를 수정해서는 안 됩니다. /bin/에 있는 파일에 대해 x 비트를 설정하거나 #!으로 시작하는 솔루션을 본 적이 있지만 vim이 umask만 따르고 umask만 따르기를 원합니다.
답변1
이 질문은 이전에도 여러 곳에서 제기된 적이 있습니다. 간단히 말해서 vim은 umask
(다른 응용 프로그램과 마찬가지로) 닫기 권한만 사용하지만 스크립트를 사용하여 파일 권한을 수정할 수 있습니다.
대부분의 응용 프로그램(예: 텍스트 편집기)은 출력을 다음과 같이 처리합니다.데이터, 언제열리는0666, 0644, 0600 등의 데이터 스타일 권한을 사용하여 파일을 생성합니다. 마찬가지로 대부분의 프로그램은 umask 자체를 설정하지 않고 기존 설정에 의존하여줄이다특정 사용자에게 제공할 수 있는 권한입니다.
열어기존의문서화는 또 다른 문제입니다. 많은 편집자는 동일한 방법을 사용하여 파일을 다시 생성하거나 이름을 바꾸지 않고 업데이트된 파일을 작성합니다.인덱스 노드. 이는 파일의 권한(및 소유권)을 보존하기 위해 발생합니다. 일부(예: vim 및 vile)에는 "읽기 전용" 파일에 쓰기 위해 파일 권한을 일시적으로 변경하는 조항이 있습니다. 이렇게 하려면 원래 권한이 무엇인지 알아야 하지만 이는 umask
결과 파일 권한과 아무 관련이 없습니다.
추가 읽기를 위해
- Vim이 파일을 생성합니다존재하다뿌리파일 시작 부분에 "#!"이 있는지 확인하고 파일이 "/bin/"이 있는 디렉터리에 기록되었는지 여부를 확인하는 예제 스크립트를 보여줍니다.
- vim: +x 비트로 파일 생성이것을 반복하고 다른 예를 추가하십시오.
- addexecmod.vim: 파일을 저장할 때 실행 권한을 자동으로 추가합니다.단순히 "#!"만 체크하는 플러그인입니다.