Mengelola akses ke beberapa sistem linux

15

A mencari jawaban tetapi tidak menemukan apa pun di sini ...

Singkat cerita: organisasi nirlaba sangat membutuhkan modernisasi infrastrukturnya. Hal pertama adalah menemukan alternatif untuk mengelola akun pengguna di sejumlah host Linux.

Kami memiliki 12 server (baik fisik dan virtual) dan sekitar 50 workstation. Kami memiliki 500 pengguna potensial untuk sistem ini. Individu yang membangun dan memelihara sistem selama bertahun-tahun telah pensiun. Dia menulis skripnya sendiri untuk mengatur semuanya. Itu masih berfungsi. Tidak ada keluhan di sana. Namun, banyak hal yang sangat manual dan rawan kesalahan. Kode berantakan dan setelah pembaruan sering kali perlu di-tweak. Bagian terburuk adalah ada sedikit atau tidak ada dokumen tertulis. Hanya ada beberapa catatan ReadMe dan acak yang mungkin atau mungkin tidak relevan lagi. Jadi pemeliharaan menjadi tugas yang sulit.

Saat ini akun dikelola melalui / etc / passwd di setiap sistem. Pembaruan didistribusikan melalui skrip cron ke sistem yang benar karena akun ditambahkan pada server "utama". Beberapa pengguna harus memiliki akses ke semua sistem (seperti akun sysadmin), yang lain memerlukan akses ke server bersama, sementara yang lain mungkin memerlukan akses ke workstation atau hanya sebagian dari itu.

Apakah ada alat yang dapat membantu kami mengelola akun yang memenuhi persyaratan berikut?

  • Sumber terbuka yang disukai (yaitu gratis karena anggaran SANGAT terbatas)
  • arus utama (yaitu dipertahankan)
  • lebih disukai memiliki integrasi LDAP atau dapat dibuat antarmuka dengan layanan LDAP atau AD untuk otentikasi pengguna (akan diperlukan dalam waktu dekat untuk mengintegrasikan akun dengan kantor lain)
  • manajemen pengguna (menambah, kedaluwarsa, menghapus, mengunci, dll)
  • memungkinkan untuk mengelola sistem apa (atau kelompok sistem) yang dapat diakses oleh setiap pengguna - tidak semua pengguna diizinkan di semua sistem
  • dukungan untuk akun pengguna yang dapat memiliki homedir dan mount yang berbeda tersedia tergantung pada sistem apa mereka login . Sebagai contoh
    • sysadmin masuk ke server "main" memiliki main: // home / sysadmin / sebagai homedir dan memiliki semua tunggangan
    • sysadmin login ke workstation staf akan memiliki nas: // user / s / sysadmin sebagai homedir (berbeda dari atas) dan set gunung yang berpotensi terbatas,
    • klien yang login akan memiliki homedirnya di lokasi yang berbeda dan tidak ada mount bersama.
  • Jika ada antarmuka manajemen yang mudah, itu akan luar biasa.
  • Dan jika alat ini adalah lintas platform (Linux / MacOS / * nix), itu akan menjadi keajaiban!

Saya telah mencari di web dan tidak menemukan yang cocok. Kami terbuka untuk saran apa pun. Terima kasih.

EDIT: Pertanyaan ini salah ditandai sebagai duplikat. Tertaut untuk menjawab hanya berbicara tentang memiliki homedir yang sama di semua sistem, sedangkan kita perlu memiliki homedir yang berbeda berdasarkan pada apa yang saat ini pengguna sistem login (MEDIPULAN homedirs). Juga akses perlu diberikan hanya untuk beberapa mesin tidak semuanya. Mod, harap pahami sepenuhnya masalah alih-alih hanya menandainya sebagai duplikat untuk poin ...

Swartz
sumber
'Poin' tidak diberikan untuk menandai duplikat. Pertanyaan Anda tidak cukup jelas sehingga 5 orang menganggapnya rangkap.
user9517
Tidak tahu Ok terima kasih. Namun, itu ditandai duplikat dengan tergesa-gesa. Silakan baca persyaratan bentuk poin yang dengan jelas menyatakan apa yang dibutuhkan. Ini bukan duplikat. Tautan yang disediakan ke "solusi" memungkinkan akses tanpa pandang bulu ke semua sistem (kita perlu membatasi siapa yang memiliki akses dan ke sistem atau kelompok sistem apa). Lokasi homedir aktual tergantung pada sistem apa yang sedang diakses. Pengguna yang sama mungkin memiliki homedir yang berbeda DAN pemasangan tergantung pada sistem apa yang dia gunakan.
Swartz
Hanya untuk memperjelas: pada contoh sysadmin yang disebutkan di atas, main dan nas adalah server yang berbeda? Jadi, pengguna yang sama akan memiliki akses ke homedir yang berbeda tergantung pada homedir yang dia masuki?
Marco Bizzarri
@ MarscoBizzarri: tidak yakin saya mengerti. Sistem dimana pengguna masuk menentukan homedir. SysA dan SysB mungkin memiliki / home / bob di / etc / passwd, sedangkan homdir untuk Bob di SysC mungkin / someplace / else / bob. Kedua lokasi akan berisi data yang berbeda. Pengguna sistem login ke menentukan mount apa yang tersedia. Ini akan memungkinkan hanya sistem staf untuk mengakses tunggangan staf bersama. Di mana sebagai "publik" sistem yang tersedia akan terbatas pada tunggangan lainnya. Dengan demikian, seorang staf harus menggunakan komputer yang ditunjuk staf untuk mengakses tunggangan staf. Sedikit kompartementalisasi ...
Swartz
Ok, jadi ada dua titik berbeda di sini: homedir sudah diperbaiki, dan dapat berada di suatu tempat (baik di server yang sama atau yang lain) tetapi selalu begitu. Maksudku, SysA selalu homedir-nya di serverX, tidak peduli apa. Setelah itu, ada direktori yang dibagikan di antara staf, sebut saja staff_dir, yang harus tersedia ketika staf orang masuk ke staff_workstation, tetapi tidak ketika Anda masuk ke normal_workstation; Apakah itu benar?
Marco Bizzarri

Jawaban:

17

FreeIPA mungkin adalah yang Anda cari. Ini untuk Linux apa Active Directory adalah untuk Windows. (Ini juga dapat berbicara dengan AD jika Anda memiliki lingkungan yang heterogen, tetapi tidak boleh digunakan untuk mengelola mesin Windows secara langsung. Gunakan AD untuk itu.)

Dokumentasi Red Hat (mereka menyebutnya Manajemen Identitas) sangat menyeluruh dan mudah diikuti, dan sebagian besar harus dapat diterapkan bahkan jika Anda tidak menggunakan sistem yang diturunkan dari Red Hat.

Michael Hampton
sumber
+1 freeipa mengagumkan.
Sirex
Saya akan melihat FreeIPA. Terima kasih atas tipnya. Pertanyaan: apakah FreeIPA mendukung memiliki homedir yang berbeda pada sistem yang berbeda? Contoh: pengguna Bob memiliki homedir (diekspor-NFS) di / shared / home / xyz ketika masuk ke SystemA dan SystemB, tetapi ketika di SystemC / apa pun / khusus adalah homedir Bob.
Swartz
Apakah Anda melihat automount ? Ini akan membuat Anda sekitar 90% dari perjalanan ke sana, dengan 10% sisanya merupakan perubahan kecil pada lingkungan Anda saat ini.
Michael Hampton
Ya, sistem yang ada memang menggunakan automounting. Ini dikonfigurasikan secara manual untuk setiap jenis sistem. Sayangnya lingkungan kita saat ini terlalu rumit untuk dijaga. Terutama setelah pembaruan atau saat membuat gambar sistem baru. Meskipun intinya bekerja, selalu ada sesuatu yang perlu diubah untuk membuatnya berfungsi.
Swartz
Baiklah kalau begitu. Sekarang Anda memiliki peluang bagus untuk mulai membersihkan barang-barang.
Michael Hampton
6

Saya akan menyarankan konsultan lokal yang baik untuk menilai rincian situasi Anda ...

Betulkah.

Mungkin ada persyaratan atau nuansa bisnis lain yang mungkin tidak diakui atau diinvestasikan oleh orang-orang di forum ini. Sumber daya yang berdedikasi adalah taruhan terbaik Anda ... Jika tidak, kami hanya memberikan rekomendasi produk kepada Anda untuk sesuatu yang mudah di luar ruang lingkup untuk Tanya Jawab sederhana.


Meskipun demikian, pendekatan saya adalah memanfaatkan Microsoft Active Directory dan mengikat sistem Linux dalam menggunakan SSSD atau LDAP. FreeIPA baik-baik saja di rumah semua-Linux, tetapi meskipun Anda mengatakan "nirlaba", itu tidak selalu mengecualikan Windows. Anda akan menemukan Active Directory di suatu tempat di sepanjang jalan. Anda mungkin ingin menambah ini dengan direktori home yang diotomatiskan, tetapi spesifik tentang siapa yang akan dipasang ketika atau di mana tidak jelas.

Bahkan di lingkungan Linux-cloud 99% yang saya bangun sekarang, saya masih mengandalkan Active Directory untuk kemudahan manajemen dan otentikasi terpusat. Grup dan izin akses mudah, kebijakan kata sandi, dan penuaan akun sangat mudah. Segala keprihatinan tentang rawatan, mindshare, dan kompatibilitas dicakup oleh solusi Microsoft. Replikasi bawaan, didokumentasikan dengan baik, dan ada sedikit pembuktian di masa depan yang melekat pada teknologi.

Ada beberapa detail yang hilang dari pertanyaan awal Anda, namun ...

  • Apa distribusi Linux tertentu yang ada di lingkungan? Apakah versinya konsisten?
  • Apakah Anda memerlukan tingkat pengelolaan yang sama untuk sistem Macintosh Anda (sebagian besar organisasi tidak berupaya untuk sepenuhnya mengelola komputer Apple)?
  • Apakah ada pengguna jarak jauh?
  • Anda menyebutkan "* nix" - Apa jenis * nix yang ada?
putih
sumber
2
tidak ada gunanya bahwa freeipa dapat melakukan semua hal itu untuk mesin linux (replikasi, kebijakan kata sandi, grup, dll) dan sangat mudah untuk diatur (sungguh!). Ini juga melakukan replikasi dua arah terhadap direktori aktif (cukup yakin pengguna baru adalah satu arah karena AD memiliki bidang tambahan), tetapi jika Anda memiliki mesin windows Anda akan selalu ingin AD terlepas dari begitu itu sangat sentral untuk cara windows kehidupan. Juga, dokumentasi dalam freeipa sedikit kurang masih imho.
Sirex
Sayangnya tidak ada anggaran untuk konsultan. Tidak ada mesin Windows (hanya jika staf membawa sendiri). Semua sistem adalah CentOS (beberapa 5.x lainnya 6.x). Organisasi ini sedang dalam proses mendapatkan iMac yang lebih tua (2007-ish), maka alangkah baiknya memiliki alat yang berfungsi pada OSX dan Linux. Satu hal yang menyenangkan: tidak perlu khawatir tentang Windows.
Swartz
Setuju dengan saran Active Directory - jika biaya lisensi merupakan masalah, Samba4 adalah alternatif gratis, dan menggunakan alat / infrastruktur manajemen yang sama dengan AD Windows-hosetd asli. Hampir hal lain dapat dikonfigurasi untuk mengautentikasi terhadap AD melalui PAM, winbind, LDAP, dll. Untuk manajemen konfigurasi untuk seluruh infrastruktur, periksa Salt ( saltstack.com/community.html blog.smartbear.com/devops/… )
nedm
3

Sistem saat ini berfungsi tetapi sulit untuk dikelola. Saya menduga ada masalah lain juga untuk mengelola server-server itu jika semuanya dilakukan secara manual. Saya akan mengambil pendekatan yang berbeda dengan tidak mengganti sesuatu yang berfungsi (manajemen pengguna) dan menyelesaikan masalah administrasi server.

Saya sarankan menggunakan sesuatu seperti cfengine http://cfengine.com/community (edisi gratis di sana) untuk "memodernisasi" administrasi sistem Anda, bukan hanya manajemen pengguna. Ini adalah kesempatan yang baik untuk mencobanya karena sistem Anda saat ini berfungsi seperti menggunakan cfengine untuk mendistribusikan konfigurasi ke server, dalam kasus Anda / etc / passwd. Jadi alih-alih mengganti, migrasikan skrip tersebut ke cfengine. Semoga dampaknya akan sangat minimal karena Anda masih menggunakan / etc / passwd yang sama.

Setelah Anda merasa nyaman dengan cfengine, Anda dapat membuat lebih banyak resep untuk menyelesaikan lebih banyak masalah seperti memiliki sistem manajemen pengguna yang sama sekali baru dan Anda memiliki alat untuk mengelola konfigurasi di server.

Untuk membantu Anda memulai, saya menemukan tautan ini http://explosive.net/opensource/cfpasswd/doc/cfengine.html yang menunjukkan cara mendistribusikan / etc / passwd dan file terkait.

Bahkan jika Anda ingin mengganti sistem manajemen pengguna sekarang, Anda masih memerlukan alat administrasi untuk mengelola server tersebut. Lebih baik memiliki alat administrasi lebih cepat daripada nanti dan mengkonfigurasi ulang manajemen pengguna Anda di bawah alat administrasi.

imel96
sumber
0

Hanya beberapa hal cepat untuk ditambahkan -

Saya telah menggunakan Wayang dalam penerapan saya - ide yang mirip dengan cfengine - http://puppetlabs.com

Ini juga dapat melakukan manajemen pengguna Anda dan konfigurasi umum / manajemen server.

Jika Anda ingin mencoba sesuatu yang serbaguna seperti Samba, ini dapat memiliki kemungkinan untuk melakukan pengelolaan direktori dengan beberapa konfigurasi serta kemungkinan menggunakan backend LDAP untuk konfigurasi. Samba 4 telah matang banyak dan benar-benar dapat menyediakan lingkungan terintegrasi dengan Windows dan Linux untuk manajemen / otentikasi.

Samba bekerja dengan AD atau sebagai pengganti AD juga.

Ada juga produk bernama Centrify yang saya lihat beberapa waktu lalu. Saya tidak pernah terlalu jauh dengan itu, tetapi saya percaya mereka memiliki versi freeware / opensource juga. Jika saya ingat itu berpotensi untuk lingkungan campuran, menyediakan manajemen Windows dan Linux, dan mungkin Mac.

Saya akan menyarankan saran konsultan. Penyebaran ini bisa menjadi sangat rumit untuk diatur dengan sangat cepat, tetapi mudah dipelihara setelah didokumentasikan dan dikonfigurasikan.

Semoga berhasil

JTWOOD
sumber
1
Saya telah melihat Wayang dan Koki untuk manajemen konfigurasi sejak dini. Wayang memungkinkan untuk 10 node gratis, dengan Chef Anda mendapatkan 5 gratis. Setelah itu Puppet Labs membebankan biaya $ 99 / node / tahun. Itu akan menjadi beberapa ribu untuk kita. Pemecah kesepakatan. Meskipun saya tidak ingat harga Chef, tapi itu ide yang sama. Tidak dalam anggaran. :(
Swartz