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