![루트가 아닌 디렉터리의 루트 소유 파일을 sudoedit로 편집](https://linux55.com/image/109011/%EB%A3%A8%ED%8A%B8%EA%B0%80%20%EC%95%84%EB%8B%8C%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%9D%98%20%EB%A3%A8%ED%8A%B8%20%EC%86%8C%EC%9C%A0%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20sudoedit%EB%A1%9C%20%ED%8E%B8%EC%A7%91.png)
루트가 소유한 파일을 편집할 수 없는데 홈 디렉토리 어딘가에 다음과 같은 내용이 표시되는 이유는 무엇입니까?
sudoedit: existingFile: editing files in a writable directory is not permitted
다음 함수를 정의했지만:
function sunano {
export SUDO_EDITOR='/usr/local/bin/nano'
sudoedit "$@"
}
나는 다음과 같이 편집합니다.
sunano existingFile
파일은 실제로 루트가 소유합니다.
ls -l existingFile
입증하다:
-rwxr-xr-x 1 root root 40 Jun 15 2015 existingFile
답변1
이것맨페이지설명하다
호출 사용자가 쓸 수 있는 디렉터리에 있는 파일은 해당 사용자가 루트(버전 1.8.16 이상)가 아니면 편집할 수 없습니다.
파일이 포함된 디렉토리에 쓸 수 있으면 실제로 편집할 수 있습니다 sudoedit
(현재 내용을 읽을 수는 없더라도). 해당 파일을 다른 곳으로 옮기고 같은 이름의 새 파일을 만들 수 있습니다. . 특별한 경우에는 파일을 읽을 수 있으며 최소한 일부 편집자는 편집을 허용합니다(적어도 임시 파일을 작성하고 이름을 바꿔 파일을 저장하는 편집자).
이 기능의 이유는 다음과 같습니다sudo
오류 707:기본적으로 사용자가 쓰기 가능한 디렉터리에서 파일을 편집할 수 있도록 허용하면 sudoedit
구성에 설정된 제한 사항을 우회할 수 있습니다 sudoedit
(그리고 시스템의 모든 파일을 효과적으로 편집할 수 있습니다).