sudoers 그룹에 속한 사용자의 경우 일반적으로 다음을 수행하여 모든 명령을 실행할 수 있습니다.sudo <command>
그러나 다음 명령은 실패하고 "권한이 거부되었습니다"라는 메시지가 표시됩니다.
sudo echo "myhostname" > /etc/hostname
심지어 내 비밀번호를 묻지도 않습니다. 호스트 이름을 변경하는 방법은 무엇입니까?
답변1
귀하의 경우 올바른 명령은 echo "newhostname" | sudo tee /etc/hostname
nssnd 설명이 sudo
단일 명령에 대해서만 작동하고 리디렉션의 우선 순위가 nssnd 보다 낮기 때문입니다 sudo
. 또 다른 옵션은 bash
다음 명령을 사용하는 것입니다 .
sudo bash -c "echo newhostname > /etc/hostname"
답변2
sudo
첫 번째 명령에만 작동하므로 ">" 작업은 사용자가 수행합니다.
명령을 실행하려면 다음을 수행하십시오.
- 다음을 실행하여 루트 쉘을 얻으십시오.
sudo -i
- 명령을 실행하십시오.
echo "myhostname" > /etc/hostname
- 루트 쉘 종료
exit