Birden fazla open tabanli linux sistemi yönetiyor ve gelen önemli güncellemeler hakkında ek bir yazılım kullanmadan haberdar olmak istiyorsanız aşağıdaki bash betiği size istediğinizi verir.Kırmızı ile işaretlenmiş paket isimlerini sizin için önem ifade eden herhangi bir paket ismi ile değiştirebilirsiniz.Örneğin sisteminiz için önemli olan paket sadece mysql ve php ise o halde ilgili kısım şöyle olmalı : “mysq|php”.Kontrol edilmesini istediğiniz her paketi, pipe(“|”) ile ayırarak ekleyebilirsiniz.Güncelleme bilgileri yine kırmızı ile işaretlenen kısma yazılacak olan email adresine gönderilecek.

#!/bin/bash
 #Author=Ugur Engin
 server=`hostname`
 int_del=/bin/rm
 email="eposta"
 function send_email() {
 subject="Available Important Updates!"
 value="0"
 printf "Please review the updates to apply your system:\n\nServer: $server\n\n"> $value
 echo "$cmd" >> $value
 /bin/mail -s "$subject" "$email" < $value
 $int_del $value
 }
 for i in "kernel|httpd|mysql";
 do
 cmd=`yum check-update | awk '{if($1 ~/'$i'/) print $1,$2}' |uniq |sort`
 done
 if [[ "$cmd" != "" ]]
 then
 send_email
 else
 exit 1
 fi

Orjinal hali:

http://ugurengin.com/blog/code/important_update.txt

Bu aşamalardan hemen sonra, crontab’a dilediğiniz zaman diliminde bash betiğini tetikleyen bir job eklemeniz yeterli olacak.Ayrıca sunucularınızı daha geniş kapsamlı monitoring yapabilme yeteneğine sahip uygulamalar ile centralize yönetmek istiyorsanız puppet veya cfengine isimli projeleri incelemenizi öneririm.

Not: Script, yum ile paket yönetimi yapılan sistemler üzerinde çalışır.

In English:

This script is checking which important updates are available on your system using yum package management.If you want to use this script,you got to write related to package name between the loop line before run this script.So when you set its name in script of course you are going to have update notification from your system with email while important updates are available.

 

Share on Facebook

rsync -r -a -vv -e ssh -z -p -o -g /root/dest_folder root@46.20.150.x:/root/source_folder

parametrelerin detayli bilgisi icin rsync –help

Transfer edilen verilere ait owner ve grup bilgilerinin, diger sunucu uzerinde aktif olabilmesi icin elbette owner ve gruba ait kullanıcıların açılması gerekir.

Share on Facebook

Mirror edilmiş SQL serverlardan slave servera select,insert gibi benzeri sql statementlar gönderilmiyor.Eğer slave server(mirror) üzerinde bir db snapshot alınırsa bu durum tersine çevrilebilir.

CREATE DATABASE db_name_snap_shoot ON ( NAME = AirAvansDB, FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\db_name_snap_shoot.ss’ )
AS SNAPSHOT OF db_name;
GO

Yukarıdaki sql sorgusunu, dilediğiniz zaman diliminde proses eden bir job tanimlamaniz yeterli olur.Böylece açık olmayan bir veritabanına sorgu yazılabileceği gibi, artık expand edilebilir bir hale de gelecektir.

Not: Sanırım, Microsoft sınıfı ile ilgili girdiğim en ciddi entry bu oldu.
Ne de olsa ilkler her zaman önemlidir.

Share on Facebook

groupadd localadmin
useradd -m -r -s /bin/bash -G localadmin penguen
passwd penguen

vi /etc/sudoers dosyası açılır ya da  visudo komutu çalıştırılarak dosya üzerinde arzu edilen yetki düzenlemeleri yapılmak üzere istenilen grup ya da kullanıcı eklenir. Nitekim yukarıdaki komut istemleri ile localadmin isminde bir grup ve yeni bir kullanıcı oluşturduk.Aşağıdaki satırlar, localadmin grubuna ait kullanıcıların sistem üzerinde tüm komutları çalıştırma hakkına sahip olduğunu ifade etmesi için eklendi.Bir alt kısmında tanımlanan satır ise, sudo ile yetki almış kullanıcıların home environment’ini belirtmek üzere sonradan ilave edildi.

%localadmin     ALL=(ALL)       ALL
Defaults    secure_path = /usr/kerberos/sbin:/usr/kerberos/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin

“sudo su” ile yetki yükselttikten sonra, mevcut environment path’leri aşağıdaki komut istemiyle görülebilir.

echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin

Artık, 0 nolu uid  kullanıcısının sahip olduğu kalıcı bir root environment tanımladık.Böylece; service,ifconfig,route gibi benzeri komutlar uzunca bir path yazmadan çalışabilecek.Sudoers dosyası, bir çok nix sistem dağıtımı için gayet geniş yetkiler barındıran bir policy konumuna sahip.Özellikle grup ve kullanıcı hakları üzerinde efektif  yetkiler vermek mümkün.Ayrıca session alan her kullanıcı veya grup için spesifik güvenlik etkileri sağlayacak çeşitli policy’ler de mevcut.

Ek olarak , env_check,env_delete ve env_keep gibi diğer environment argümanları  hakkında detaylı bilgi “man sudoers” ile alınabilir.

Share on Facebook

Türkiye’de, bilişim sistemleri alanında çeşitli dallarda faaliyet gösterip bilişim sistemlerinin hukuki boyutunu araştıranlar, konuyla ilgili yeterli bilgi sahibi olamayan teknik kişiler ve/veya tez yazan arkadaşlara özellikle taviye edeceğim bir konu; geçtiğimiz günlerde güvenlik TV isimli yep yeni bir platform üzerinde, Doç. Dr. Leyla Keser ile konuşulmuş.Üniversite tarafında bu dönem, Bilişim Hukuku isimli bir dersim var ve önümüzdeki hafta görmeye başlayacağım.Bu söyleşi şimdiden harika oldu.Umarım konuyla alakadar olmak isteyen herkese faydalı olur.

Share on Facebook

Komutlar:

echo history -c >> .bash_logout && echo $? ; tail -n 1 .bash_logout

echo history -c >> .bash_logout && cat /dev/null > .bash_history |echo $? ; tail -n 1 .bash_logout

Çıktı:
0
history -c

Artık, bash session her kapatıldığı esnada, açık session içerisinde çalıştırılan komut istemleri de silinecektir.

Referans:

http://ipucu.enderunix.org/index.php?tip_id=4&lang=tr

Share on Facebook