sudo 권한이 있어도 파일을 지울 수 없습니다.

sudo 권한이 있어도 파일을 지울 수 없습니다.

사용자가 소유하고 작성한 파일이 있습니다 root.

다른 사용자에게 전화를 걸어 systemuser모든 작업에 대해 sudo 권한을 부여했다고 말했습니다.

systemuser나는 사용자 에게 하듯 root모든 작업을 수행 할 수 있습니다 .

하지만 루트가 소유하고 작성한 파일을 지우려고 했더니 권한 거부 오류가 발생했습니다.

 >api-server-out-0.log
-bash: api-server-out-0.log: Permission denied
$ sudo >api-server-out-0.log
-bash: api-server-out-0.log: Permission denied

참고: 사용자와 함께 실행 중인 프로세스가 root현재 이 로그 파일에 쓰고 있습니다.

`systemuser'를 사용하는 방법을 제안해 주실 수 있나요?

답변1

sudo > api-server-out-0.log

불가능한. 실제로 수행하는 작업은 sudo인수 없이 시작하여 출력을 리디렉션하는 것입니다.귀하의 사용자 계정에서파일이 루트 소유이기 때문에 물론 작동하지 않습니다.

당신이 정말로 하고 싶은 일은

sudo dd if=/dev/null of=api-server-out-0.log
# or
sudo truncate -s 0 api-server-out-0.log
# or
sudo sh -c 'echo -n "" > api-server-out-0.log'
# or
sudo sh -c ': > api-server-out-0.log'

답변2

아르툠 S.타슈키노프"이유"를 설명하고 다양한 옵션 중 일부를 제공합니다. 또 다른 접근 방식은 다음과 같습니다.

sudo tee api-server-out-0.log </dev/null

관련 정보