web-dev-qa-db-ja.com

「rootはSudoの実行を許可されていません」を回避するにはどうすればよいですか?

一部のコマンドはroot権限に依存しているため、rootとして、またはSudo経由で起動する必要があるサードパーティのインストーラースクリプト(ansible Tower setup.sh)を実行しようとしています。ただし、一部のスクリプト実行中のコマンドはSudoを試行します。理由を聞かないでください。セットアップスクリプトは、いくつかの矛盾を伴う共同作業だと思います...

そのため、スクリプトは失敗し、再現できます。ルートとしてSudoを発行しようとすると、この奇妙なエラーに直面します。

root@machine:/home/someuser: Sudo echo 1
root is not allowed to run Sudo on <FQDN here>.  This incident will be reported.

私はUbuntuでの以前の経験でそのようなことを見たことがありません(そして公平に、そして現在Googleでも)

すべての場所を検索し、スクリプトを変換してSudoを呼び出さないようにすることはできないため、rootユーザーがSudoを実行できるようにする方法を見つける必要があります。私が取り組んでいるUbuntu16.04サーバーは、ドメイン内の会社のプライベートクラウドプロバイダーによってエキゾチックな方法で構成されています(これが重要かどうかはIDK)。

私の/ etc/sudoersは次のようになります:

#
# This file MUST be edited with the 'visudo' command as root.
# more bla bla
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
+unixadmin,+unixadminext      ALL= NOPASSWD: ALL

# Allow members of group Sudo to execute any command
%Sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

須藤について:

root@machine:/home/someuser# which Sudo
/usr/bin/Sudo
root@machine:/home/someuser# ll /usr/bin/Sudo
-rwsr-xr-x 1 root root 140816 Jun  7  2017 /usr/bin/Sudo*    

何が足りないのですか?

RootユーザーをSudoグループに追加しましたが、問題は解決しませんでした。

1
kottalovag

ルートとして、groupsを実行します-ルートはSudoグループに含まれていません。なぜ必要になるのでしょうか?

修正方法については、Sudoグループにrootを追加するか、Sudoを実行するスクリプトにチェックを入れることができます(特定の問題の可能性として割り引いていますが、他の人にとっては解決策かもしれません) 。

ルートをSudoグループに追加するには:

(rootとして)usermod -a -G Sudo root