データベースサーバーとして使用するためにUbuntu 11.04サーバーVMをセットアップしています。 Windowsの資格情報を使用してユーザーにログインさせ、おそらく他の場所にある現在のAD駆動型のセキュリティでマシンを動作させることができれば、全員の生活が楽になります。
これの最初の部分は本当に簡単に達成できました-apt-get install likewise-open
で、私はほとんどビジネスをしていました。私が抱えている問題は、管理者をsudoersグループに入れることです-何も手に入れることができないようです。私はもう試した:
a)usermod -aG sudoers [username]
b)ユーザー名をいくつかの形式(DOMAIN\user、user @ domain)でsudoersファイルに追加します。
どれも取るように見えませんでしたが、「DOMAIN\user is not in sudoers file。このインシデントは報告されます。」と言われます。
では、非ローカルユーザーをsudoersに追加するにはどうすればよいですか?
私はこの問題に遭遇し、これが私の解決策です:
/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 passwd
およびgid NUMBERS
は機能しません。 DOMAIN\\domain^users
は私のために働く
%SMB\\domain^users ALL=(ALL) ALL
私たちは皆、個々のADユーザーも働くことを知っているので
SMB\\<aduser01> ALL=(ALL) ALL
.localサフィックスが付いた長いドメイン名があります。
太く
%domainname\\group ALL=(ALL) ALL
また
%domainname.local\\group ALL=(ALL) ALL
働いた...
しかし、次のようなグループ名のみを使用する場合:
%Domain^Admins ALL=(ALL) ALL
できます。
他の提案の問題は
代わりに、私は
実際のソリューションは、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で確認します。Schemaネーミングコンテキストを開き、sudoRoleクラスを探します。
ドメインルートにsudoersOUを作成します。このOUは、すべてのLinuxワークステーションのすべてのSudo設定を保持します。このOUの下で、sudoRoleオブジェクトを作成します。 sudoRoleオブジェクトを作成するには、ADSI Editを使用する必要がありますが、作成したら、Active Directoryユーザーとコンピューターを使用して変更できます。
foo32linuxという名前のコンピューターがあり、stewie.griffinと呼ばれるユーザーがいて、すべてのコマンドをSudoで実行できるようにしたいとします。そのコンプで。この場合、sudoersOUの下にsudoRoleオブジェクトを作成します。 sudoRoleには、任意の名前を使用できます。コンピューターごとのルールを使用しているため、コンピューター名を使用します。次に、その属性を次のように設定します。
コマンドには、/ bin/lessなどの特定のエントリも使用できます。
少なくとも/ etc/sssd/sssd.confに追加します。
[sssd]
services = nss, pam, Sudo
[domain/AD.FOOBAR.COM]
cache_credentials = True
SSSDは数時間ごとに更新されたルールでローカルキャッシュを更新しますが、テストする最も簡単な方法はコンピューターを再起動することです。次に、ADユーザーでログインし、以下を確認します。
Sudo -l
そのユーザーとコンピューターに追加したすべての関連する全体をリストする必要があります。かんたん!
この件に関して見つけられる最高の情報はこちらです:
http://www.mail-archive.com/[email protected]/msg00572.html
基本的に、ADの管理者グループのユーザーがすべての特権にアクセスできるように、正しい構成で/etc/sudoers
ファイルを変更するように求められます。
ユーザーによる選択と制限が必要な場合は、それも行うことができます。しかし、示されているようにgetend passwd
コマンドを使用して、Linuxシステム上のユーザー名が何であるかを確認する必要があることを警告しています。
一般的なコマンドを使用します
Sudo usermod -a -G Sudo DOMAIN\username
DOMAIN\user
をDOMAIN\\\username
に置き換えます。
Centify directを使用して、ドメインユーザーを/ etc/sudoersファイルに追加しました。
(ドメインユーザー)ALL =(ALL)ALL