Saya sedang menyiapkan server Ubuntu 11.04 VM untuk digunakan sebagai server basis data. Itu akan membuat hidup semua orang lebih mudah jika kita bisa membuat orang masuk menggunakan kredensial windows dan bahkan mungkin membuat mesin bekerja dengan keamanan berbasis AD saat ini yang kita punya di tempat lain.
Kaki pertama ini sangat mudah untuk dicapai - apt-get install likewise-open
dan saya cukup banyak dalam bisnis. Masalah yang saya alami adalah memasukkan admin kami ke dalam kelompok sudoers - sepertinya saya tidak bisa mendapatkan apa pun untuk diambil. Saya sudah mencoba:
a) usermod -aG sudoers [username]
b) menambahkan nama pengguna dalam beberapa format (DOMAIN \ pengguna, pengguna @ domain) ke file sudoers.
Sepertinya tidak ada yang mengambil, saya masih diberi tahu "pengguna DOMAIN \ tidak ada dalam file sudoers. Kejadian ini akan dilaporkan."
Jadi, bagaimana cara menambahkan pengguna non-lokal ke sudoers?
sumber
%Domain^Admins ALL=(ALL) ALL
Masalah dengan saran lainnya adalah itu
Sebaliknya, saya menginginkan sesuatu yang
Solusi aktual menggunakan SSSD dan memperluas skema AD. Dengan cara ini SSSD mengambil pengaturan sudo dan kredensial pengguna secara berkala dari AD dan menyimpan cache lokal. Aturan sudo kemudian disimpan dalam objek AD, di mana Anda dapat membatasi aturan untuk komputer, pengguna dan perintah, bahkan - semua itu tanpa pernah menyentuh file sudoers di workstation.
Tutorial yang tepat terlalu panjang untuk dijelaskan di sini, tetapi Anda dapat menemukan panduan langkah demi langkah dan beberapa skrip untuk membantu otomatisasi di sini:
TL; DR:
IKLAN
Ambil rilis sudo terbaru , dapatkan file doc / schema.ActiveDirectory , lalu impor (pastikan untuk memodifikasi jalur domain sesuai dengan nama domain Anda):
Verifikasi dengan ADSI Edit: buka konteks penamaan Skema dan cari kelas sudoRole .
Sekarang buat sudoers OU pada root domain Anda, OU ini akan menampung semua pengaturan sudo untuk semua workstation Linux Anda. Di bawah OU ini, buat objek sudoRole. Untuk membuat objek sudoRole Anda harus menggunakan ADSI Edit, tetapi begitu dibuat, Anda dapat menggunakan Pengguna dan Komputer Direktori Aktif untuk memodifikasinya.
Mari kita asumsikan saya memiliki komputer bernama foo32linux , seorang pengguna bernama stewie.griffin dan saya ingin membiarkan dia menjalankan semua perintah dengan sudo di komputer itu. Dalam hal ini, saya membuat objek sudoRole di bawah sudoers OU. Untuk sudoRole Anda dapat menggunakan nama yang Anda inginkan - saya tetap menggunakan nama komputer karena saya menggunakan aturan per-komputer. Sekarang atur atributnya sebagai berikut:
Untuk perintah, Anda dapat menggunakan entri tertentu juga, seperti / bin / kurang atau apa pun.
SSSD
Tambahkan ke /etc/sssd/sssd.conf Anda , setidaknya:
SSSD menyegarkan cache lokal dengan aturan yang diperbarui setiap beberapa jam, tetapi cara paling sederhana untuk mengujinya adalah dengan hanya me-reboot komputer. Kemudian masuk dengan pengguna AD dan periksa:
Seharusnya daftar semua entires terkait yang Anda tambahkan ke pengguna dan komputer itu. Mudah sekali!
sumber
Informasi terbaik yang dapat saya temukan mengenai masalah ini ada di sini:
http://www.mail-archive.com/[email protected]/msg00572.html
Itu pada dasarnya meminta Anda untuk memodifikasi
/etc/sudoers
file Anda dengan konfigurasi yang benar untuk memungkinkan orang-orang dalam grup administrator Anda pada AD untuk memiliki akses ke semua hak istimewa.Jika Anda harus selektif dan dibatasi oleh pengguna, Anda juga bisa melakukannya. Tetapi itu memperingatkan bahwa Anda harus memastikan untuk mengetahui apa nama pengguna pada sistem linux dengan menggunakan
getend passwd
perintah seperti yang ditunjukkan.sumber
Menggunakan Centify direct, saya telah menambahkan pengguna domain ke file / etc / sudoers.
(Pengguna Domain) ALL = (ALL) ALL
sumber
Saya menggunakan perintah umum
dan ganti
DOMAIN\user
denganDOMAIN\\\username
.sumber