Merhabalar,
Yeni bir proje ile karşınızdayım. Ağ Gereçleri adını verdiğim projemde 5 adet araç mevcuttur. Bu araçlar tarafımca Shell Script (Kabuk Betiği) ile yazılmıştır. Shell olarak diğer tüm linux dağıtımlarıyla uyumlu olması açısından sh kullanmayı seçtim. Sh, bash ve diğer kabuklara kıyasla programlanma açısından daha zor ve daha temel bir kabuktur. Diğer kabuklarda olan birçok özellik sh kabuğunda bulunmamaktadır. Diğer tüm linux dağıtımları için sh kabuğu ile programlama önem arz etmektedir. Bu sebeple projelerimde sh kabuğu tercih etmekteyim.
Projemde 5 adet araç mevcuttur. Bunlar:
- Bilgisayarı Active Directory etki alanına alma aracı:
Bu araç Pardus/Ubuntu/Debian/LinuxMint/… bilgisayarları Active Directory etki alanına almaya yarayan, tarafımca sh kabukla kodlanmış bir betiktir. Bu araç kullanıcıdan yetki için şifre isteyecektir. Şifre isteme alanı grafiksel alandır. Yetki verildikten sonra betik yönetici (root) yetkileriyle devreye girer. Betik ilk olarak gerekli yazılımları yükler ki bu aşamada aktif internet bağlantısı gerekebilir. Aktif internet bağlantınız yoksa gerekli paketleri kendi yerel deponuzda barındırıp bu depoyu bilgisayarınıza eklemeniz gerekmektedir.
Araç gerekli paketleri yüklerken ekrana gelen Evet-Hayır sorularına evet cevabı vermeniz iyi olacaktır. Araç gerekli yazılımları yüklediği sırada bazı paketler sizlerden bilgi girmenizi isterlerse hiçbir bilgi girmenize gerek yoktur. Çünkü araç sizden bilgisayarı dahil edeceğiniz etki alanını (domain adresini) sizden talep edecektir. Örneğin, hssgm.gov.tr şeklinde bir domain adresi girmeniz istenecektir. Araç gerekli tüm bilgileri bu domain adresinden çekerek gerekli tüm ayarlamaları otomatik olarak yapacaktır. Araç işlemi tamamlarken yine ekrana bazı seçenekler getirebilir.
Ekrana şu görseldeki gibi bir bölüm gelirse:
Tüm alanlar işaretli yani tüm alanların başlarındaki kutucukların yıldızla dolu olması gerekmektedir. işaretleme işlemi ilgili seçeneğin üzerine gelinerek boşluk (space) tuşuna basmak ile gerçekleşir. Tüm alanlar seçildikten sonra tab tuşuna basarak Ok (tamam) cancel (iptal) bölümüne gelinir. Burada ok( tamam) kısmı yön tuşlarıyla seçilerek enter (giriş) tuşuna basılır. Betik bundan sonra kullanıcıları listeleyip tekrar kontrol amaçlı aynı ekranı karşınıza getirir. Tekrar tüm alanların işaretli olduğu kontrol edilip ok(tamam) seçeneği seçilmelidir. Ardından betik başarılı bir şekilde işlemleri tamamlar ve bilgisayarınızı yeniden başlatmanızı ister. Bilgisayarınız yeniden başladığında etki alanına dahil olmuştur. Domain kullanıcıları bilgisayarda oturum açabilir.
Uyarı: Active Directory, Linux sistemlere destek vermemektedir. Bu da birtakım problemlere neden olabilir. Bu probleler uyarı şeklinde tarafımca zikredilmektedir.
Uyarı: Bilgisayarınız domaine dahil edildiğinde eğer GNOME veya KDE kullanıyorsanız mutlaka uyku modunu kapatmanız gerekir. Çünkü uyku modundan uyandıktan sonra domain kullanıcıları oturum açamayabilir. Bu durumda bilgisayarı etki alanından kopartıp tekrar etki alanına dahil etmek de çözüm olmayabilir. Bilgisayarınızda domain için kontrol sağlayan uygulamaların ön belleğini temizlemeye varan durumlar ile uğraşmak zorunda kalabilirsiniz. XFCE’de ise varsayılan olarak sistem otomatik olarak uyku moduna geçmemektedir.
Uyarı: Bir domain kullanıcısı oturum açmış iken kullanıcı değiştir seçeneğine tıklayarak kullanıcı değişikliği YAPMAYINIZ! Aksi takdirde domain kullanıcıları yine oturum açamama sorunları yaşayabilir! Bu durumda bilgisayarı etki alanından kopartıp tekrar etki alanına dahil etmek de çözüm olmayabilir. Bilgisayarınızda domain için kontrol sağlayan uygulamaların ön belleğini temizlemeye varan durumlar ile uğraşmak zorunda kalabilirsiniz. Başka bir deyişle kullanıcı değiştir kısmını kullanmak da maalesef mümkün değildir.
Uyarı: Active Directory, Linux sistemlere destek vermediği için Linux sistemlere Active Directory üzerinden poliçeler, görevler, betikler, kodlar, vs. yollayamazsınız. Active Directory üzerinde admin yetkisine sahip olsanız dahi etki alanına alınmış bir Pardus/Ubuntu/Debian/LinuxMint/… bilgisayarda oturum açarsanız standart kullanıcı olarak oturum açarsınız yani sudo yetkisine sahip olmazsınız. Başka bir deyişle Linux, Active Directory üzerindeki kullanıcıların yetkilerini de maalesef okuyamaz. Bu sorunların çözümü için ekstra olarak Linux destekli ağ uygulamaları kullanılabilir. Ekstra ağ uygulamaları ile linux sistemleri yönetebilirsiniz. LiderAhenk ve Gardiyan gibi ağ ajan uygulamaları bu konuda işinize yarayabilir.
Uyarı: Bu araç bazen Active Directory kaynaklı herhangi bir nedenle işlem esnasında aniden kapanabilir. Bu durum domaine dahil etme işleminin eksik yapıldığını ya da hiç yapılmadığını gösterebilir. Bu araç bilgisayarınızı yeniden başlatmak isteyip istemediğinizi sorduğunda düzgün tamamlanmış demektir. Eğer bu araç yeniden başlatıp başlatmayacağınızı sormadan hemen aniden kapanmışsa bir sorun ortaya çıkmış demektir. Bu durumda domain admininizle iletişime geçerek Active Directory üzerine eklenmişse bilgisayarınızı sildirmeniz gerekebilir. Bu işlemden sonra yaklaşık 2-3 saat bekledikten sonra tekrar domaine dahil etme işlemini yapabilirsiniz. Peşi sıra işlem yapmak bilgisayarınızın geçisi süreliğine otomatik olarak banlanmasına neden olabilir.
Uyarı: Bilgisayarınız Active Directory üzerine katıldıktan sonra bilgisayar adınız sisteme 2 ya da 3 farklı şekilde kaydolabilir. Linux ve windows sistemlerin yapısındaki farklardan ve windows tabanlı active directory sisteminin Linux sistemlere destek vermemesi nedeniyle bu sorun oluşabilir. Örneğin, Bilgisayar adınız MTOMBAK-Pardus ise Active Directory üzerinde MTOMBAK-Pardus cihazınıza ek olarak MTOMBAK-Pardus.jfhwehfewj veya MTOMBAK-Pardus.855fe5dwef5ew gibi cihazlar görebilirsiniz. Bu durumda MTOMBAK-Pardus haricinde diğer cihazları Active Directory üzerinden silebilirsiniz. Başka bir deyişle Active Directory aynı cihazı 2 3 defa oluşturabilir ve sonuna uzantı ekleyebilir. Bu durumda uzantı eklenmiş cihazları silebilirsiniz.
Uyarı: Bilgisayar adınız 15 karakteri geçmemelidir. Bu durum uyumsuzluğa ve hatalara sebebiyet verebilir.
- Proxy ayarlamalarını otomatik olarak yapan araç:
Bu araç Pardus/Ubuntu/Debian/LinuxMint/… bilgisayarlarda proxy ayarlamalarını otomatik olarak gerçekleştirir. Bilindiği üzere Linux sistemlerde ağ ve internet yapısı Windows sistemlerden farklıdır. Bir Windows sistemde tüm uygulamalar Winhttp uygulaması üzerinden internete çıktıkları için kullanıcı proxy ayarlamasını yaptığında tüm sistem ve bu sistemdeki tüm uygulamalar winhttp üzerinden internete çıktığı için tek proxy ayarı üzerinden internete çıkar ki bu durum kullanıcıların işini oldukça kolaylaştırır.
Linux sistemlerde ise her uygulama bağımsızdır. Her uygulama kendi başına internete çıkar. Bu durum tüm sistemde proxy ayarlamayı zorlaştırmaktadır. Linux sistemlerde güncelleme ve paket yüklemeye yarayan apt uygulamasının proxy ayarı ayrı, sistem çekirdeğinin proxy ayarı ayrı, gtk uygulamalarının proxy ayarları ayrı ve diğer yazılımların proxy ayarları ayrıdır.
Tüm bu sorunları düşünerek ince ayrıntısına kadar tahkik ederek Pardus/Ubuntu/Debian/LinuxMint/… bilgisayarda proxy ayarlarını otomatik olarak yapan bir araç geliştirdim. İlgili araç sistem çekirdeğinin, apt uygulamasının ve gtk uygulamalarının proxy ayarlarını otomatik olarak yapmakla kalmayıp IP tabloları bazında ayarlama yapmaktadır. Bu sayede birçok programın proxy üzerinden internete çıkması sağlanmıştır. Ancak hâlen bağımsız olarak kendi başına internete çıkabilen birçok program mevcuttur. Bu programlar da ne yazık ki teker teker ayarlanmalıdır.
Proxy server kullanıcı adı ve parola istiyorsa ne yazık ki Linux sistemi ve birçok uygulama kullanıcı adı ve şifreyi desteklememektedir. Bu durumda bu proxy sunucuyu kullanma imkanımız yoktur. Bu durumu da düşünerek kimlik doğrulama destekli olarak aracımı geliştirdim. Bu araç kimlik doğrulamalı olan proxy sunucu için sizin yerinize kimlik doğrulamanızı yapıyor ve kendisi kimlik doğrulaması olmayan yeni bir tünel oluşturarak bu tüneli de sadece sizin yerel bilgisayarınızda kullanımınıza sunuyor. Artık kimlik doğrulamasını desteklemeyen tüm uygulamalarınızda da proxy kullanabilirsiniz. Ayrıca bu arac socks türünde de tünelleme oluşturup hizmetinize sunmaktadır. Başka bir deyişle internete çıkmak için Proxy gerektiren kurum ve kuruluşlarda proxy serverlerde kimlik doğrulama da varsa bu durum oldukça önem arz etmektedir. Bu nedenle bu araç hayat kurtarıcı özelliğe sahiptir.
-
Proxy ayarlarını geri almaya yarayan araç:
Proxy ayarlarını otomatik olarak yapan araca ek olarak bu ayarları geri almanıza yarayan bir başka araç da hazırladım. Proxy server herhangi bir nedenle değişir ya da iptal olursa bu araç yardımıyla ayarları geri alabilirsiniz. -
Sertifikayı sistemin geneline otomatik olarak yükleyen araç:
Kurum ya da kuruluşunuz internete erişmek için sertifikaya gereksinim duyuyorsa Pardus/Ubuntu/Debian/LinuxMint/… bilgisayarınıza kolayca bu sertifikayı yüklemeniz için de bir araç geliştirdim. Bu araç cer formatındaki bir sertifikayı size sormadan crt formatına otomatik olarak çevirir ve tüm sisteme bu sertifikayı yükleyerek bilgisayarın internete çıkmasını sağlar. Crt uzantılı bir sertifikanız varsa herhangi bir dönüştürme yapmadan sisteme bu sertifikayı otomatik olarak ekler. -
Sistem güncelleme yardımcısı:
Bu araç ile uçbirimde kod yazmadan kolayca güncellemeleri yapabilirsiniz. Ayrıca işletim sisteminizin sürüm yükseltme işlemini de yine bu araçla yapabilirsiniz. Örneğin, Pardus 19.4 sisteminizi bu araç yardımıyla 19.5 sürümüne güncelleyebilirsiniz. Tüm bu durumlar için uçbirimde kod yazmanıza gerek yoktur.
Tüm araçlarım grafiksel ekranla yetki ister. sudo yerine pkexec kullanır. Pkexec’in sudodan farkı grafiksel olmasıdır.
Bu projemin deb halini Sağlık Bakanlığı Dosya Transfer Sisteminde yayınladım. Şu linkten bu projemin deb halini indirebilirsiniz: https://sbtransfer.saglik.gov.tr/index.php/s/2ankst7LawMTjmb
Bu araç çok fazla bağımlılık gerektirmez. Yeni kurulmuş ve interneti olmayan bir bilgisayara büyük bir ihtimalle kurulabilir. Öncelikle bilgisayarın internete çıkabilmesi için proxy gerekliyse varsa proxy ayarlarını yapmanızı ve yine sertifika gerekliyse sertifikanızı sisteme bu araç yardımıyla yüklemeniz gerekir. Ardından domaine dahil etme işlemini sorunsuz bir şekilde yapabilirsiniz.