루트가 소유한 파일을 편집할 수 없는데 홈 디렉토리 어딘가에 다음과 같은 내용이 표시되는 이유는 무엇입니까?
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
(그리고 시스템의 모든 파일을 효과적으로 편집할 수 있습니다).