`sudo less ...`가 `~/.lesshst`의 소유권을 변경해야 합니까?

`sudo less ...`가 `~/.lesshst`의 소유권을 변경해야 합니까?

실행됨

sudo less ...

...제한된 로그 파일을 조사하고 일부 검색을 수행한 결과 ~/.lesshst파일의 소유권과 그룹이 다음으로 변경되었음을 발견했습니다 root:root. 이는 ~명령을 호출하는 사용자의 홈 디렉터리 sudo가 아니라 명령을 호출하는 사용자의 홈 디렉터리를 나타냅니다. root물론 명령입니다).

Ubuntu 18.04를 새로 설치할 때 이런 일이 발생했습니다 less --version.

less 487 (GNU regular expressions)
Copyright (C) 1984-2016  Mark Nudelman

이 행동을 어디에서나 설명하는 것은 말할 것도 없고 관찰하는 사람에 대한 언급을 찾을 수 없습니다. 그래서 여기에서 그 이유를 찾고 있습니다.또는이것이 단지 오류의 신호인지 확인하십시오.

답변1

이것은 정상입니다.

sudo less ...

less홈 디렉터리를 변경하지 않고 루트로 실행합니다 . 검색을 실행하면 에서 검색 기록이 업데이트되어 ~/.lesshst파일의 소유권이 현재 사용자 루트로 변경됩니다. 업데이트가 안전하게 완료될 수 있도록 less기록이 새 임시 파일에 기록된 다음 이름이 변경됩니다. 소유권에 대한 원본 파일은 손실됩니다).

이를 방지하려면 less설정 변수가 루트의 홈 디렉터리를 가리키도록 지정하여 루트의 기록을 사용할 수 있습니다.sudoHOME

sudo -H less ...

또 다른 옵션은 검색 기록을 일시적으로 비활성화하는 것입니다.

sudo LESSHISTFILE=- less ...

그러나 이는 저장된 검색 기록( 검색 문자열을 지정하지 않아도 뒤에 ) 을 /사용할 수 없음을 의미합니다 .n

관련 정보