'*nix' Kategori'sine ait arşiv.
SSH 2-Step Verification – Google Authenticator
Google Authenticator, sağladığı PAM modülü üzerinden OpenSSH’a entegre edilebiliyor, bu şekilde SSH erişimlerinde, şifre ya da key based auth’a ek olarak, telefonunuzda yüklü olan Google Authenticator üzerinden üretebileceğiniz time-based one-time password (TOTP) doğrulamasını da devreye alarak two-step authentication yapabiliyorsunuz.
Özellikle bir nedenle heryerden erişilebilir, standart portta çalışan SSH çalıştıran sunucularınız varsa, ek bir güvenlik katmanı sağladığından dolayı Google Authenticator entegrasyonunu da kullanmak isteyebilirsiniz. Bu nedenle yazının devamında, CentOS 6 ve Debian 7 sistemler için google authenticator PAM modülünün kurulması ve SSH’a entegre edilmesinden bahsedeceğim.
VIM – Built-in Encryption
vim, bir çok güzel özellik barındırmasından ötürü yıllardır kullandığım ve herkese tavsiye ettiğim bir text editor. Hatta kendisi ile ilglili zamanında bir başvuru klavuzu da yayınlamıştım. vim’in güzel özelliklerinden birisi de built-in bir ecnryption fonksiyonuna sahip olması. Yani vim kullanarak ek bir araca gerek kalmaksızın text metinlerinizi şifreleyebiliyorsunuz.
Editlediğiniz bir dosya içerisinde :X parametresini girdiğinizde bir parola belirlemeniz isteniyor ve dosya (swap, undo ve backup dosyaları da dahil olmak üzere) bu key ile şifreleniyor. :X‘e benzer olarak :set key=sifre şeklinde de dosya encrypt edilebiliyor ancak bu yöntemde şifre plain text olarak ekranda görüldüğünden dolayı tercih edilmeyebilir. Bir dosyadaki encryption’ı kaldırmak için ise :set key= şeklinde key değerini boş vermeniz yeterli oluyor.
Bu güzel özellik ile ilgli biraz daha detay için şu adrese göz atabilirsiniz: http://vim.wikia.com/wiki/Encryption
Cheat: Command-Line Tools Cheatsheets
Bazen, iyi düşünülmüş küçücük bir araç verimlilik konusunda büyük fark yaratabiliyor. Cheat isimli araç da bunlardan birisi. Temel olarak bir komutun kullanım şekillerini öğrenmek için –help ya da -h parametresi ile yardım bölümünü veya man sayfasına bakmak gayet yeterli olsa da cheat, komut satırında kullandığımız tool’ara ait örnek kullanım şekillerini listelemek üzere düşünülmüş küçük bir python uygulama olmasından ötürü çok güzel bir alternatif oluşturuyor.
Cheat, şu an için öntanımlı olarak yaklaşık 72 adet komut satırı aracına ait cheatsheet barındırıyor ve sisteminize kurduktan sonra “cheat komut” şeklinde ilgili komutun örnek kullanım listesine erişebiliyorsunuz. Örnek olarak, “cheat netstat” derseniz aşağıdaki gibi bir çıktı alıyorsunuz.
# To view which users/processes are listening to which ports: sudo netstat -lnptu # To view routing table (use -n flag to disable DNS lookups): netstat -r # Which process is listening to port netstat -pln | grep | awk '{print $NF}' Example output: 1507/python # Fast display of ipv4 tcp listening programs sudo netstat -vtlnp --listening -4
Ayrıca, öntanımlı olarak bulunmayan komutlar için de kendiniz bir cheatsheet oluşturabiliyor ya da halihazırdaki cheatsheet’leri geliştirebiliyorsunuz. Bu anlamda özellikle *nix komut satırı ile yeni yeni haşır neşir olanlar ya da unutkanlar için Cheat oldukça faydalı bir araç.
CentOS 6.4 üzerinde cheat ile ilgili kurulum notlarını aşağıda bulabilirsiniz.
Advanced Copy – CP Komutu ve Progress Bar
http://mylinuxbook.com/advanced-copy-cp-command/ adresinde cp ve mv komutunun, kopyalama ya da taşıma işlemine ait gidişatı gösteren bir progress bar’a sahip patch’li bir versiyonu var. Aşağıda örnek bir çıktısı olan araç özellikle büyük dosya ve dizin kopyalama işlerinde durumu, ekstra bir araç ya da komuta ihtiyaç duymadan takip edebilmek açısından epey kullanışlı.
1469 files copied so far... 130.2 MiB / 298.7 MiB [|||||||||||||||||||||||||||||------------------------------------] 43.6 % Copying at 23.4 MiB/s (about 0h 0m 31s remaining) BigFolder/automation/delegates/class-list.jpeg 1.5 MiB / 2.0 MiB [|||||||||||||||||||||||||||||||||||||||||||||||------------------] 75.0 %
Aşağıda advanced-copy’nin nasıl kurulup kullanılabileceği ile ilgili notlar mevcut.
WordPress Update Scripti
syslogs’un wordpress’ini her güncellemem gerektiğinde, bloga özel dosya ve dizinleri her seferinde manuel olarak taşımam gerekiyor. WordPress’in oto update özelliği de ihtiyaçlarımı tam olarak karşılamadığından dolayı kendime küçük bir wordpress update scripti yazayım dedim; sonrasında da başkalarına da lazım olabilir diye biraz daha eli yüzü düzgün ve genel geçer bir duruma getirdim.
Script’in kullanımı ve tam olarak yaptığı işlemler şöyle:
CPAN: test had returned bad status, won’t install without force
CPAN üzerinden herhangi bir modül yüklerken aşağıdaki hatayı alıp test aşamasında takılıyorsanız:
make test had returned bad status, won’t install without force
Öncelikle force installation deneyebilirsiniz:
# perl -MCPAN -e 'force install modül::ismi'
Bu da işe yaramıyorsa, aşağıdaki şekilde test aşamasını atlayarak kurulumu gerçekleştirebilirsiniz:
# cd ~/.cpan/build/modul-ismi/ # make install
Bu şekilde sorun kalmaması gerekir.
FreeBSD 9.1 – bootonly.iso ile Network Üzerinden Kurulum
FreeBSD 9.1’in bootonly ISO’su yaklaşık 140 MB ebatında olduğu için hızlıca CD’den çalışan bir FreeBSD sistem elde etmek için full kuruluma göre epey ideal.
Aynı zamanda sistemi boot ettikten sonra network üzerinden (ftp vs.) tam kurulum da yapabiliyorsunuz. Normal kurulumdan tek farkı sistem için gerekli dosyaları media yerine internetten almak olduğundan, hem minimal kurulumlar için hem de uzun uzadıya cd ya da dvd imajları ile uğraşmak zorunda kalmadığınız için pratik bir yol. Bu yüzden FreeBSD kurmam icap ettiğinde hep bootonly iso’su üzerinden kurulum yapıyorum. Sizin de benzer bir ihtiyacınız varsa aşağıdaki yönergeleri izleyerek kurulumu gerçekleştirebilirsiniz.
Php5 (PHP-FPM) + MySQL destekli Nginx Kurulumu
Amazon AWS üzerinde bir ec2 micro instance’ım var. Bu sunucu sadece 615 MB memory’e sahip olduğu için üzerinde koşan uygulamalara ram’i damlalıkla vermek icap ediyor. Böyle durumlarda oldukça lightweight olmasından ötürü Nginx kullanmak mantıklı bir seçim olabilir. Nginx özellikle static content serve etmek konusunda oldukça başarılı ve reverse proxy olarak da yaygın olarak kullanılıyor. Ayrıca, php konusunda da php-fpm üzerinden epey iyi iş çıkarıyor.
Sonuç olarak kaynaksızlıktan kırılan zavallı bir sunucunuz varsa nginx kullanmayı deneyebilirsiniz. Aşağıda centos 6.4 üzerinde php ve mysql destekli bir nginx kurulumunun nasıl yapılabileceğini bulabilirsiniz.