コマンドラインからADドメインユーザーをsudoersに追加する


10

データベースサーバーとして使用するUbuntu 11.04サーバーVMを設定しています。Windowsの資格情報を使用してログインし、他の場所にある現在のAD駆動のセキュリティでマシンを動作させることができれば、それはすべての人の生活を容易にします。

この最初のレッグは非常に簡単に達成できましたapt-get install likewise-open。私が抱えている問題は、私たちの管理者をsudoersグループに入れることです-何も取ることができないようです。私はもう試した:

a)usermod -aG sudoers [username]
b)sudoersファイルにいくつかの形式(ドメイン\ユーザー、ユーザー@ドメイン)でユーザー名を追加します。

どれもうまくいかなかったようですが、「DOMAIN \ userはsudoersファイルにありません。この問題は報告されます。」

では、ローカル以外のユーザーをsudoersに追加するにはどうすればよいですか?

回答:


6

私はこの問題に遭遇し、これが私の解決策です:

編集/etc/sudoers:次のエントリ

まず、コマンドIDを使用してaduserを確認します

#id <AD user>( #id domain\\aduser01 )

私の結果:

SMB\aduser01@linux01:~/Desktop$ id smb\\aduser02
uid=914883676(SMB\aduser02) gid=914883073(SMB\domain^users) groups=914883073(SMB\domain^users),1544(BUILTIN\Administrators),1545(BUILTIN\Users),914883072(SMB\domain^admins)

getent passwdgid NUMBERS私のために動作しません。DOMAIN\\domain^users私のために働く

%SMB\\domain^users ALL=(ALL) ALL

私たちは皆、個々のADユーザーも機能することを知っています

SMB\\<aduser01> ALL=(ALL) ALL

2

.localサフィックスが付いた長いドメイン名があり、

より狭い

%domainname\\group ALL=(ALL) ALL

また

%domainname.local\\group ALL=(ALL) ALL

働いた...

しかし、私がこのようなグループ名のみを使用する場合:

%Domain^Admins ALL=(ALL) ALL

できます。


これが最終的に機能したソリューションでした。%Domain^Admins ALL=(ALL) ALL
mjp

2

他の提案の問題は、

  • 企業LAN(またはVPN)にアクセスできる場合にのみ機能します
  • すべてのコンピュータで常にsudoersファイルを維持する必要があります
  • おまけとして、彼らは私にはうまくいきませんでした-まったく

代わりに、私は何かが欲しかった

  • 資格情報とsudoアクセスの両方をキャッシュします
  • 一元管理されている

実際の解決策は、SSSDを使用し、ADスキーマを拡張することです。このように、SSSDはADから定期的にsudo設定とユーザー資格情報をフェッチし、それらのローカルキャッシュを維持します。その後、sudoルールはADオブジェクトに保存され、ワー​​クステーションのsudoersファイルに触れることなく、コンピューター、ユーザー、コマンドにルールを制限できます。

正確なチュートリアルはここでは説明するには長すぎますが、自動化に役立つステップバイステップガイドといくつかのスクリプトがここにあります。

TL; DR:

広告

sudoの最新リリースを入手し、doc / schema.ActiveDirectoryファイルを取得してインポートします(ドメイン名に応じてドメインパスを変更してください)。

ldifde -i -f schema.ActiveDirectory -c "CN=Schema,CN=Configuration,DC=X" "CN=Schema,CN=Configuration,DC=ad,DC=foobar,DC=com" -j .

ADSI Editで確認します。スキーマの名前付けコンテキストを開き、sudoRoleクラスを探します。

次に、ドメインルートにsudoers OUを作成します。このOUは、すべてのLinuxワークステーションのすべてのsudo設定を保持します。このOUの下に、sudoRoleオブジェクトを作成します。sudoRoleオブジェクトを作成するには、ADSI Editを使用する必要がありますが、一度作成すると、Active Directoryユーザーとコンピューターを使用して変更できます。

レッツは、私は、コンピュータの名前があるとしfoo32linux、ユーザーと呼ばれるstewie.griffinをし、私は彼がそのコンプ上のsudoですべてのコマンドを実行するようにしたいです。この場合、sudoers OUの下にsudoRoleオブジェクトを作成します。sudoRoleには任意の名前を使用できます。コンピューターごとのルールを使用しているので、コンピューター名をそのまま使用します。次に、その属性を次のように設定します。

  • sudoHost:foo32linux
  • sudoCommand:ALL
  • sudoUser:stewie.griffin

コマンドの場合は、/ bin / lessなどの特定のエントリも使用できます。

SSSD

/etc/sssd/sssd.confに少なくとも追加します:

[sssd]
services = nss, pam, sudo

[domain/AD.FOOBAR.COM]
cache_credentials = True

SSSDは数時間ごとに更新されたルールでローカルキャッシュを更新しますが、テストする最も簡単な方法はコンピューターを再起動することです。次に、ADユーザーでログインして確認します。

sudo -l

そのユーザーとコンピューターに追加した関連するすべての項目がリストされます。かんたん!


1
長くなるかもしれませんが、リンクが無効になるので、参考のためにここに必須のパーツを含めておくのがルールです。
TheWanderer 2015年

実際、私は本質的な部分、つまりコンセプトを追加しました。他の部分をチェリーピックすることもできましたが、残りの部分や全体像を理解しないと役に立たないため、要点を理解できません。それは良いよりも害を及ぼすでしょう。
bviktor 2015年

AskUbuntuのルールであり、一緒に来る人はあなたの答えを見て、外部サイトに行くことなく問題を解決できる必要があります。
TheWanderer 2015年

1
より関連性の高い情報を追加しました。
bviktor 2015年

1

この件に関して私が見つけることができる最高の情報はここにあります:

http://www.mail-archive.com/likewise-open-discuss@lists.likewisesoftware.com/msg00572.html

基本的には/etc/sudoers、ADの管理者グループのユーザーがすべての特権にアクセスできるように、ファイルを正しい構成で変更するように求められます。

ユーザーごとに選択して制限する必要がある場合は、それも可能です。ただし、次のようにgetend passwdコマンドを使用して、Linuxシステムでのユーザー名を確認する必要があることを警告しています。


本当にどこを見ればいいのか分かりませんでした。記録としては、DOMIAN \\ usernameは個人向けです。
ワイアットバーネット

0

Centify directを使用して、ドメインユーザーを/ etc / sudoersファイルに追加しました。

(ドメインユーザー)ALL =(ALL)ALL


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