로 명령을 실행하는 것은 sudo
루트 사용자로 로그인하여 명령을 실행하는 것과 동일하다고 생각했습니다. 그러나 에서는 작동하지 않지만 sudo
에서는 작동하는 몇 가지 명령을 발견했습니다 su
.
예를 들어,
sudo > mail.log
bash: mail.log: Permission denied
그러나 실제로는 su
동일한 명령을 입력하고 실행하면 작동합니다.
왜 이런거야?
답변1
이 명령으로 무엇을 하는지 보세요.
sudo > mail.log
>
리디렉션 stdout 전에 명령줄에서 mail.log
파일 자르기를 시도합니다. 이 작업은 일반 사용자가 수행합니다( sudo
인수 없이 시작하기 전). 아마도 일반 사용자에게는 mail.log
파일 에 대한 쓰기 권한이 없을 것입니다 .
모든 것이 정상적으로 작동합니다.
명령을 실행하고 파일 형식에 쓰기 위해 sudo가 필요한 경우 다음 명령을 사용하십시오.
sudo "some_command with operands > mail.log"