複数のsudoersファイルを更新する


8

Active Directoryドメインに対して認証を行う複数のLinuxサーバーがあります。ADのグループの場合、sudoを使用してrootとして実行できるコマンドのリストを追加します。私は明らかに各コンピュータにssh-inしてsudoersファイルを更新することができます-しかし、それはしばらく時間がかかります。また、rootログインは許可されていません。そのため、パスワードなしのログインは、非rootユーザーに対してのみ機能します。

各Linuxコンピューターのsudoersファイルを一度に更新する簡単な方法はありますか?ここでは、システム管理機能を備えたPerlまたはPythonスクリプトを考えています。

更新:veroteq7とShane Maddenに感謝します。ある時点でcfengineをデプロイすることを考えていましたが、現在は実行されていません。LDAPを使用するのが最善のソリューションであると判断しました。sudoのLDIFスキーマschema.ActiveDirectoryのインポート中にエラーが発生します。エラーは144行目の「パラメータが正しくありません」です。

これは144行目以降の内容です。

dn: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: top
objectClass: classSchema
cn: sudoRole
distinguishedName: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
instanceType: 4
possSuperiors: container
possSuperiors: top
subClassOf: top
governsID: 1.3.6.1.4.1.15953.9.2.1
mayContain: sudoCommand
mayContain: sudoHost
mayContain: sudoOption
mayContain: sudoRunAs
mayContain: sudoRunAsUser
mayContain: sudoRunAsGroup
mayContain: sudoUser
rDNAttID: cn
showInAdvancedViewOnly: FALSE
adminDisplayName: sudoRole
adminDescription: Sudoer Entries
objectClassCategory: 1
lDAPDisplayName: sudoRole
name: sudoRole
schemaIDGUID:: SQn432lnZ0+ukbdh3+gN3w==
systemOnly: FALSE
objectCategory: CN=Class-Schema,CN=Schema,CN=Configuration,DC=X
defaultObjectCategory: CN=sudoRole,CN=Schema,CN=Configuration,DC=X

私が使用したコマンドは次のとおりです。

ldifde -i -f schema.ActiveDirectory -c dc=X dc=DOMAINNAME,dc=LOCAL

Update2:新しい質問を作成しました。提案をありがとうございました。


おそらくADスキーマ変更ビットを別の質問として投稿する必要があります-LDAPスキーマを変更して新しいオブジェクトをインポートするために実行する必要のあるすべてのAD固有の事柄について、私は本当に理解していませんが、以下の下でそれを拾うだろうここでMS / ADの達人の多くのアクティブ・ディレクトリLDAPタグ
voretaq7

回答:


16

sudoersストアとして/etc/sudoersAD (LDAP)をスクラップして使用しないのはなぜですか?-詳細はこちら

あなたはすでにADに対して認証を行っているので、これは次の論理的なステップに過ぎず、認証承認を処理するための便利で集中化された場所を提供します。


覚えている限り、AD / Linux / winbind / PAMを実行し、ADグループを追加したsudoersだけです。これを見つけられなかった方法はわかりません。はるかに相応しい+1。
jscott

@jscott大きな欠点は、多くのsudoパッケージにLDAPがコンパイルされていないため、独自にロールする必要がある場合があることです。私はFreeBSDのポートからsudoをビルドし、すでにpam_ldapのLDAP依存関係があるので、私にとって余分な頭痛はありません:-)
voretaq7


3

sudoersでグループを定義して... Active Directoryのような中央の認証リポジトリからそれらのグループをプルすることができます。ドメイン管理者をsudoersファイルに入れるのが好きです。多くの頭痛を節約します。


2

sudoersファイルを変更するためのAPIを検索している場合は、SudoersレンズでAugeasを使用できます。Puppetとうまく統合できますが、自分のスクリプトで使用することもできます(多くのバインディングがあります)。

たとえば、この回答を参照してください。


0

うーん!!その痛み。一度に複数のウィンドウを開くことができるcsshコマンドで実行できるもう1つの方法。小さなウィンドウ(白い空白のウィンドウ)に何かを入力すると、タイピングがすべてのウィンドウを介して伝播していることに気付くでしょう。suodersファイルのバックアップを取り、visudoコマンドを使用してsudoersを更新することをお勧めします。sudoerファイルが気に入らない場合、visudoはファイルを修正するように指示します。

乾杯

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.