visudoを使ってユーザーにrootのような機能を提供する方法は? [コピー]

visudoを使ってユーザーにrootのような機能を提供する方法は? [コピー]

visudoyaelユーザーに完全な権限を付与するために、次の行を追加しました。

  yael ALL=(ALL) NOPASSWD: ALL

ただし、ファイルを更新しようとすると/etc/hosts権限が拒否されました。

 su – yael
 echo "10.10.10.10 yael_host">>/etc/hosts
 -bash: /etc/hosts: Permission denied


 sudo  echo "10.10.10.10 yael_host">>/etc/hosts
-bash: /etc/hosts: Permission denied


 ls -ltr /etc/hosts
 -rw-r--r--. 1 root root 185 Aug  7 09:29 /etc/hosts

ユーザーyaelにrootと同じ機能を提供するにはどうすればよいですか?

ベストアンサー1

問題の根本的な原因は、出力リダイレクトが.dllではなくシェル(ユーザーyael)によって実行されることですsudo echo

ユーザーの代わりにユーザーに書き込みを実行させるには、/etc/hosts次の形式を使用できます。rootyael

echo "10.10.10.10 yael_host" | sudo tee --append /etc/hosts

または

sudo sh -c "echo '10.10.10.10 yael_host'>>/etc/hosts"

おすすめ記事