Bagaimana admin mengelola akun pengguna di ratusan server linux?

37

Berurusan dengan ratusan server RHEL, bagaimana kita dapat mempertahankan akun root lokal dan akun pengguna jaringan? Apakah ada solusi tipe direktori aktif yang mengelola ini dari lokasi pusat?

Ronaldo Nascimento
sumber

Jawaban:

36

Salah satu komponen utama dari Active Directory adalah LDAP, yang tersedia di Linux dalam bentuk OpenLDAP dan 389DS (dan beberapa lainnya). Juga, komponen utama Kerberos lainnya tersedia dalam bentuk MIT Kerberos dan Heimdal . Akhirnya, Anda bahkan dapat menghubungkan mesin Anda ke AD.

Sven
sumber
2
Demi kelengkapan, agen di sisi klien, SSSD , harus disebutkan juga.
fuero
Bagaimana dengan akun root?
Daniel Serodio
1
@DanielSerodio: Ini tergantung pada organisasi dan bagaimana mereka menangani akses root. Untuk ratusan server, saya akan tetap menggunakan sesuatu seperti Wayang dan menggunakannya, baik untuk mengelola kata sandi seperti itu atau sudoersaturan (atau keduanya).
Sven
26

Anda dapat mencoba boneka untuk mengelola pengguna:

Mengapa Menggunakan Wayang untuk Mengelola Akun Pengguna? (dan bukan NIS, LDAP, dll)

Salah satu manfaat mengelola akun pengguna dalam wayang adalah kenyataan bahwa desentralisasi. Setiap akun pengguna hanyalah akun pengguna biasa di server yang dikelola. Tidak ada yang istimewa tentang akun pengguna yang diciptakan boneka selain fakta bahwa boneka itu diciptakan oleh boneka dan bukan oleh administrator manusia. Yang menyenangkan tentang ini adalah bahwa jika host utama mati, kami tidak kehilangan otentikasi. Yang berarti bahwa server puppetmaster kami (atau server NIS / LDAP) tidak perlu memiliki persyaratan waktu khusus. Jika keadaan darurat terjadi, kami dapat fokus untuk meningkatkan server produksi kami, dan fokus pada meningkatkan puppetmaster secara “sesuai kebutuhan”. Kelemahan dari hal ini adalah bahwa boneka tidak selalu benar-benar dirancang untuk mengelola akun pengguna login "normal" (sebagai lawan akun sistem). Cara terbesar ini muncul adalah bahwa, Meskipun Anda dapat mengatur kata sandi dalam boneka, boneka terus-menerus memonitor pengaturan sistem (baik) dan jika pemberitahuan bahwa kata sandi telah berubah, akan mengatur ulang. (buruk) Saya tidak ingin memonitor kata sandi pengguna di jaringan kami, jadi perlu ada cara untuk mengatur kata sandi dan meminta boneka berhenti memonitor kata sandi ini. Untungnya, setelah Anda mengetahui triknya, ini sebenarnya sangat mudah. Tapi pertama-tama, mari kita ambil beberapa definisi.

http://docs.puppetlabs.com/pe/2.5/console_auth.html

Suku
sumber
Ini adalah solusi yang valid ketika dikombinasikan dengan LDAP, IME.
Tom O'Connor
@ TomO'Connor Sangat valid untuk mempertahankan akun khusus lokal menurut saya.
gertvdijk
Ini adalah ide yang sangat buruk ... yang tidak memungkinkan manajemen pengguna yang serius, dengan kemampuan cepat untuk mengubah akses yang diberikan, maupun manajemen akses yang dibingkai waktu. Jelas tidak cocok untuk mengelola ribuan akun seperti di universitas misalnya.
jmary
4

Seperti yang disebutkan SvenW, ada 389DS dan Kerberos. Sejak RHEL 6.2, Red Hat telah memasukkan IPA dalam distribusi (dan karenanya juga dalam CentOS). Ini adalah rangkaian manajemen identitas lengkap yang menggabungkan 389DS dan Kerberos, dengan kontrol berbasis kebijakan atas otentikasi dan otorisasi, dan DNS opsional. Itu bahkan dapat dikonfigurasi untuk sinkronisasi satu arah atau dua arah dengan Active Directory.

IPA cukup banyak membutuhkan SSSD pada host RHEL tetapi berfungsi tanpa itu. Saya bahkan telah menguji menghubungkan Solaris 10 ke IPA (berfungsi, tetapi sedikit fiddly). IPA cukup mudah untuk setup untuk host RHEL.

Ini didasarkan pada proyek FreeIPA .

James O'Gorman
sumber
Untuk RHEL dan server Linux lainnya di sebagian besar lingkungan Linux, ini dengan mudah merupakan pilihan terbaik.
Michael Hampton
1

Untuk akun pengguna jaringan Anda, OpenLDAP seperti yang disebutkan SvW.

Anda juga harus melihat "Sistem Manajemen Konfigurasi" untuk mengelola akun lokal Anda dan segala sesuatu yang lain di server Anda. Lihatlah CFEngine, Bcfg2, Puppet, dan Chef. Jika Anda menggunakan AWS, mereka memiliki masalah Chefy dengan OpsWorks.

Jika Anda benar-benar perlu mengelola 100+ server, Anda memiliki 10 Sysadmin atau Anda menggunakan perangkat lunak Manajemen Konfigurasi.

Matías
sumber
1

Ini mungkin jawaban yang jelas, tetapi 'gunakan direktori aktif'. Anda perlu sedikit memodifikasi skema AD, untuk memasukkan bidang khusus unix, tetapi begitu Anda melakukannya, Anda memiliki direktori tunggal dari semua akun pengguna Anda yang bekerja lintas platform.

Mungkin kurang bermanfaat jika Anda hanya toko Unix - tetapi saya belum benar-benar melihat banyak dari itu. Tapi AD sebenarnya adalah penyambungan yang cukup baik dari elemen-elemen kunci LDAP dan Kerberos. Saya menemukan itu agak ironis sebenarnya.

Tetapi yang akan Anda dapatkan 'gratis' adalah akun lintas platform, dan integrasi Kerberos sehingga Anda dapat melakukan ekspor NFSv4 dengan menerapkan ACL yang diakui 'CIFS', dan krb5i / p NFS mounts, dengan otentikasi pengguna yang kuat (er).

Sobrique
sumber