ホスト名を検索しようとするsudoコマンド


15

最近、/ etc / hostnameを使用してsudoersファイルとホスト名を変更しました。このファイルを変更した後、私のsudoコマンドにかなりの時間がかかっています。また、sudoがホストkaagini(私のマシンのホスト名)を解決できないことを示しています。

なぜsudoは何かに許可を与えるためにホスト名を知らなければならないのですか?

私のsudoersファイルには、「Defaults env_reset」というコマンドがあります。似たような質問がいくつかありましたが、ここではリモートログインではありません。エラーはローカルホストで表示されています。

問題の最初のグーグルは、/ etc / hostsファイルが127.0.0.1の実際のホスト名を持つ必要があることを示しています。これで問題が解決しました。しかし、私の実際の質問は次のとおりです。なぜsudoにこれが必要なのですか?ログインの場所に関係なくsudoが機能するかどうか。



@OliverSalzburg質問を適切に言い換えました。何か問題がある場合はお知らせください
prathmesh.kallurkar

回答:


16

/etc/sudoersファイルを複数のサーバに分散することができるように設計されています。これを実現するために、ファイル内の各権限にはホスト部分があります。

これは通常、に設定されます。ALL=これは、権限がすべてのサーバーに対して有効であることを意味しますが、特定のホストに設定することもできます。

%sudo    kaagini=(ALL) ALL

このルールを適用する必要があるかどうかをsudoが知るためには、sudoが実行されているホストを検索する必要があります。/etc/hosts正しいことに依存する呼び出しを使用するため、正しくない場合は失敗します。

sudoホスト部分がALL=すべての権限に設定されている場合、名前の検索を行う必要がないと主張されるかもしれませんが、それは単にそのようには機能しません-ルールを処理する前に実行されている場所で機能するように見えます。

sudoが/ etc / sudoersを読み取るだけで、ユーザーが現在のマシンで何ができるかを確認するため、これは本当にメンテナンスを容易にするためです。しかし、100台のサーバーを持つ管理者として、これには100の異なる/ etc / sudoersファイルを維持する必要があるかもしれません。sudoersのアクセス許可にはホスト部分があるため、単一のsudoersファイルを維持してすべてのマシンに配布でき、しかもユーザーが各マシンで実行できることを細かく設定できます。


答えてくれてありがとう。配布されたsudoersファイルに再びアクセスできますか?参照してください、私はmachineAでオペレーティングシステムを実行しています。このオペレーティングシステムの権限ファイル(/ etc / sudoers)を他のマシンに保存する必要があります。または、あなたの答えは、sudoコマンドが、ユーザーJohnがmachineAからはsudoできるがmachineBからはsudoできないようなものを言うことができるということを意味しますか?
prathmesh.kallurkar

それは本当にメンテナンスを容易にするためです。sudoは/ etc / sudoersのみを読み取り、現在のマシンでユーザーが実行できることを確認します。しかし、100台のサーバーを持つ管理者として、これには100個の異なる/ etc / sudoersファイルを維持する必要があるかもしれません。sudoersのアクセス許可にはホスト部分があるため、単一のsudoersファイルを維持してすべてのマシンに配布できますが、各マシンでユーザーが実行できる対象を細かく設定できます。
ポール

もう1つの質問...サーバー管理者は、メインのsudoersファイルに変更があるたびに新しいsudoersファイルをscpする必要がありますか、それともsudoはネットワーク上でsudoersファイルを維持する方法を提供しますか?
prathmesh.kallurkar

@ prathmesh.kallurkarいいえ、組み込みの配布方法はありませんが、これはLinuxであるため、これは正常です。この部分を完了するには、rsyncまたはscpまたは別のツールを使用します。
ポール

1
私はそれをバグであると考え(すべてのルールしかない場合、sudoはホスト名を知る必要はありません)、bugzilla.sudo.ws
show_bug.cgi?id = 916


-3

Puppetは、Puppet Manifestsファイルを読み取ることでサーバー群を自動的に構成できる構成管理ソフトウェアです。このようなファイルには、/ etc / sudoersファイルの定義を含めることができます。これは、パペット「マスター」からすべてのパペット「エージェント」にプッシュできます。次に、すべてのホストが/ etc / sudoersファイルの同じコピーを取得します。これにはHOST定義を含めることができ(含める必要があります)、一部のユーザーに一部のホスト一部のホストではない)にいくつかのコマンドを付与できます。


3
操り人形とは何か、どこで見つけ、問題を解決するためにそれをどのように使用するかを説明するために、答えを広げることができますか? レビューキューから
fixer1234

2
ソフトウェアの推奨方法については、「ソフトウェアの推奨方法」を読んでください。少なくともリンク、ソフトウェア自体に関するいくつかの追加情報、およびそれを使用して問題の問題を解決する方法を提供する必要があります。
DavidPostill
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.