Sistem yönetimi

Mart 12, 2009

Link : Solaris uzaktan eğitim sistemi.

Filed under: Solaris — mbuyukkarakas @ 6:23 pm
Tags: ,

Sun Microsystems, Solaris 10 öğrenmek isteyenler için bir uzaktan öğrenim sistemi oluşturmuş. İlginizi çekebilir. Ancak kayıt olmak gerekiyor.

https://learning.sun.com/solc/smartstart

Kasım 27, 2008

Solaris 10′da vsftpd FTP sunucusu kurulumu

Filed under: Solaris — mbuyukkarakas @ 11:54 am
Tags: , ,
Ortamımızda bir FTP sunucusu ihtiyacı olduğunda ilk aklıma gelen Solaris 10′la birlikte gelen FTP sunucusunu kullanmaktı. Ancak temel kurulumlar bitip de uygulamaya aldığımda gördüm ki, logon olan tüm kullanıcılar (/) root klasörüne dek ilerleyebiliyorlar ve bunu engelleyemiyordum. Oysa benim ihtiyacım her kullanıcının yalnızca kendi klasöründe FTP okuma-yazma işlemlerini yapmasıydı. Biraz araştırınca FTP dünyasında bunun adının “FTP jailing” olduğunu ve bu konuda en başarılı yazılımın vsftpd olduğunu öğrendim.

Kuruluma geçmeden önce FTP kullanıcıları için oluşturduğum temel standartlar ve bunları nasıl gerçekleştirdiğim hakkında da bir iki trikten bahsetmek istiyorum.

- Sunucunun yalnızca FTP ve SSH portlarının açık olması ve olabildiğince az saldırı yüzeyine sahip olması isteniyor.

Çözüm : Solaris 10′la gelen güvenli kurulum özelliği bunu fazlasıyla sağlıyor. Kurulum sonrası sunucuda yalnızca FTP, SSH ve bir adet RPC portu açıktı. (111 nolu bu portun da ne işe yaradığını öğrenip sorun çıkmayacaksa kapatmak için araştırmasını yapıyorum.)

- Kullanıcıların FTP sunucusuna SSH veya Telnet ile bağlanmaları istenmiyor. Kullanıcılar yalnızca FTP ile bağlanabilmeliler.

Çözüm :

#touch /bin/true
#chmod 555 /bin/true

/etc/passwd dosyasında oluşturulan her kullanıcı hesabı için shell değerinin aşağıdaki gibi verilmesi :

uygulama:x:5200:520:uygulama kullanici hesabi:/data/ftp/kaz:/bin/true

Aşağıda bahsedeceğim prosedürü oluşturan çalışma ortamını sağlayana dek biraz uğraştım. Ama elde ettiğim sonucu başkalarının da aynı acıları çekmeden :) uygulayabilmesi için olabildiğince basit bir prosedür şeklinde yazmaya çalıştım.

0) # svcadm disable ftp
1) # pkgadd -d vsftpd-2.0.7-sol10-x86-local
2) # mkdir /usr/share/empty
3) # vi /etc/inetd.conf

(aşağıdaki satırlar dosyaya eklenir)
# vsftp konfigurasyonu yapiliyor
ftp stream tcp nowait root /usr/local/sbin/vsftpd


4) # init 6
5) # inetconv -i /etc/inet/inetd.conf

6) # vi /etc/vsftpd.conf

(dosya aşağıdaki parametrelerle oluşturulur)
# Access rights
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO

# Security
anon_world_readable_only=YES
connect_from_port_20=YES
hide_ids=YES
pasv_min_port=50000
pasv_max_port=60000

# Features
xferlog_enable=YES
ls_recurse_enable=NO
ascii_download_enable=NO
async_abor_enable=YES

# Performance
# one_process_model=YES
idle_session_timeout=120
data_connection_timeout=300
accept_timeout=60
connect_timeout=60
anon_max_rate=50000

# Diger
xferlog_file=/var/log/vsftpd.log
ftpd_banner=Bilgi Teknolojileri FTP sunucusu.
chroot_local_user=YES


7) init 6

Eğer yukarıdaki ayarları aynen uyguladıysanız şu an FTP sunucunuz FTP Jail özelliğini de kullanarak çalışıyor olmalıdır.


Ağustos 15, 2007

Solaris 10 ve Oracle Application Server kurulması

Filed under: Solaris — mbuyukkarakas @ 9:46 pm
Tags: , , , , , ,

Yazmadığım süre içinde boş durmadım. Bir şekilde kendimi büyük bir projenin içinde buldum ve bu projenin test aşamasında kullanılması gereken Solaris 10 / Oracle 10g ve Oracle Application Server sunucularını kurmak ve desteğini sağlamak gibi, benim için oldukça büyük bir lokma sayılabilecek bir işin içine girmek zorunda kaldım.

Son kurduğum gerçek ortam sunucusundan sonra bu sistemler kurduğum ilk sunucular oldu. Bir veritabanı sunucusu ve bir uygulama sunucusu. Doğrusunu söylemek gerekirse oldukça sancılı ve uzun süren bir çalışma oldu. Üzerinde forms ve web services çalışması gerekiyordu. Ayrıca webutil de cabası.

Öncelikle, veritabanı sunucusunu kurmak çok zor olmadı. İşletim sistemini temiz kurduktan sonra aşağıdaki belgede yazılı olanlara aynen uyunca bu kurulumu gayet rahat tamamladım.

Installing and Configuring Oracle Database 10g on the Solaris Platform by Roger Schrag
http://www.dbspecialists.com/presentations/oracle10gsolaris.html#prepare

Ancak, gerçekten dokümanı okumak ve adım adım dikkatle gitmek gerekiyor. Biraz yüzüm kızararak söylemeliyim ki sistemimi hala geleneksel rc scritpleri ile çalıştırıyorum. Başka bir dokümanda bunun nasıl SMF servislerine çevrileceği ayrıntılı olarak tarif ediliyordu ancak gerçekten de kendimi bu kadar ileri düzey bir kuruluma hazır hissetmediğim için diğer yöntemi seçtim. Keza, project oluşturma kısımlarını da atladığımı ve kernel ayarlarını yine “geleneksel” yolla yaptığımı da ekleyeyim.

Oracle servislerinin sistem açılışında otomatik olarak nasıl başlatılacağını bulmam ise tam bir kriz oldu. Herhangi bir eğitim almadan, körlemesine bu işe dalan biri için sonuçları yine de tatminkar buluyorum ama tam 10 gün boyunca konu aklımda yerine oturana dek kafamı kurcalayıp durdu. Bu konuya birazdan döneceğim.

OAS kurulumunu daha önce kurulmuş bir sunucu üzerine yaptım. Veritabanı da aynı şekilde başka bir arkadaşım tarafından kurulmuş ama başlangıç ayarları yapılmadan susturulmuştu. Önce, vakit kazanmak için bu kurulumlarla çalışmayı denedik. Ama bunca yıllık deneyimimi dinlemeyip “en güvenilir sunucu kendi kurduğundur” prensibini dikkate almayınca, o “güvendiğimiz” sunucular bize 3 gün kaybettirdi. Karşılığında ise yalnızca yorgunluk ve uykusuzluk kazandık.

Daha sonra her iki sunucuyu da formatlayıp kendim kurdum. Dediğim gibi, önce veritabanını hallettim ve çalıştırdım. Ardından da OAS kurulumuna geçtim. 10.0.2 olması isteniyordu. Bu sürümün kurulabilmesi için Oracle web sayfasından indirdiğimiz sürüm, önce Infrastructure server kurulmasını ardından da forms server kurulmasını şart koşuyordu. Önce, bunu gerçekten bir zorunluluk zannettik. Ancak bir hafta kadar sonra toz duman yatıştığında sayfaya tekrar baktığımızda içinde Inf.Server olmayan bir sürümün de indirilebildiğini gördük. Neyse, ne yapalım. Şu an hem Infrastructure serverımız hem de OAS + Forms serverımız var. :)

Bugüne kadar gördüğüm tüm Oracle kurulumlarında olduğu gibi root ile kurulumu reddediyor ve grafik arayüzden kurulum yapmak istiyor. Sistemi root olarak açıp, ardından su ile oracle’a geçip runInstaller’ı çalıştırmayı da kabul etmiyor. Her seferinde mutlaka oracle ile açıp kurmamız gerekti.

Yine Oracle eğitimlerini alan bir arkadaşımın yalancısı olarak, aynı makinada Inf.Server ve Application Server birlikte çalışacaksa her ikisini de ayrı birer kullanıcı ile kurmanın ve çalıştırmanın bir “best practice” olduğu söyleniyor. Biz de kurulumumuzu oracle1 ve oracle2 kullanıcıları ile yaptık.

/u01/oracle/OraHome_1 ve /u01/oracle/OraHome_2


oracle@oassaglik> emctl secure iasconsole
Oracle Enterprise Manager 10g Application Server Control Release 10.1.2.0.2
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://oassaglik:1156/emd/console/aboutApplication
Generating Standalone Console Root Key (this takes a minute)… Done.
Fetching Standalone Console Root Certificate… Done.
Generating Standalone Console Agent Key… Done.
Storing Standalone Console Agent Key… Done.
Generating Oracle Wallet for the Standalone Console Agent… Done.
Configuring Agent for HTTPS… Done.
EMD_URL set in /oracle/OraInf1/sysman/config/emd.properties
Generating Standalone Console Java Keystore… Done.
Configuring the website … Done.
Updating targets.xml … Done.
oracle@oassaglik> emctl status iasconsole
Oracle Enterprise Manager 10g Application Server Control Release 10.1.2.0.2
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
https://oassaglik:1156/emd/console/aboutApplication
Oracle Enterprise Manager 10g Application Server Control is not running.
——————————————————————
Logs are generated in directory /oracle/OraInf1/sysman/log
oracle@oassaglik> emctl start iasconsole
Oracle Enterprise Manager 10g Application Server Control Release 10.1.2.0.2
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
https://oassaglik:1156/emd/console/aboutApplication
Starting Oracle Enterprise Manager 10g Application Server Control ………….

yukarıda da görülebileceği gibi emctl komutuna aşina olduktan sonra konsolumuzu güvenli hale getirmek gibi fantazik davranışlara girdik ama yeterli bilgi sahibi olmadan fikir sahibi olduğumuz için bu tür işlemler bize hep zaman kaybı olarak geri döndü. :) Sonunda neyse ki “keep it simple stupid” i hatırlayıp daha basit bir kurulumda karar kıldık. :)

Bu arada yine konu hakkındaki cehaletime atıfta bulunup gördüklerimi aktarmakla yetineceğim. Belki ileride benzer sorunlarla karşılaşanlara faydalı olabilir.

Yazılım firması formlarını Windows ortamında hazırlayıp derliyordu. Haliyle bu formları olduğu gibi Solaris’e taşıyınca çalışmaz oldular. Ancak nedenini anlayamadılar bir türlü. Dolayısıyla formların en sonunda yeniden derlenmesi gerekti. frmcmp komutu ve aracıyla bunun yapılabildiğini ben ve kod geliştirenler hep birlikte aynı anda öğrendik :) :( (((

frmcmp.sh‘nin uzak terminal oturumundan çalıştırılabilmesi için

DISPLAY=:0.0
EXPORT DISPLAY

yazmak gerekiyor. Yoksa “permission denied” hata mesajları alıyor ve çalıştıramıyorsunuz.

Derlenmiş formlar yine Windows ortamında hazırlandığı ve büyük / küçük harf sorunu olmadığı için programcı arkadaşlarımız, formları Solaris ortamına da getirince sorunsuz çalışacağını sanıyorlardı. Kısa bir serzenişten sonra, bir klasör içindeki bir çok dosyanın adını topluca küçük harfe dönüştürmek için şöyle bir komut buldum ve çalıştırdım.

for FILE in * ; do mv $FILE `echo $FILE | tr ‘[A-Z]‘ ‘[a-z]‘` ; done

Bu arada veritabanı sunucusunda kurulumda gözden kaçırdığım bir durum nedeniyle, /export/home klasörü kurulum sırasında farklı bir disk grubunun altına mount olmuştu. Ayrıca, bir kaç da kullanıcı için home folder oluşturmuştum. Ancak o diski başka bir işlemde kullanacağım için, /export/home‘ u / (root)’un bulunduğu diske almak zorundaydım. Kısaca yaptığım işlemin prosedürü şu ;
- /export/home/ altındaki tüm alt dizinleri ve dosyaları geçici bir dizine taşı
mv /export/home/* /yedek
- yeni /export/home ayarlarını yap ve mount et.
- tüm dosyaları yeni /export/home‘a taşı.
- /export ve /export/home dizinlerine gerekli yetkileri ver.
chmod 755 /export /export/home
- tüm dosyaların yetkilerini düzenle.

Bu noktada su – oracle ile logon olmak istediğimde

“no su ! permission denied” mesajı vermeye başladı. Dolayısıyla logon olamıyordum.

chmod 755 .*

ile gizli dosyaların ( ör : .profile) yetkilerini de yeniden düzenleyince sorun giderildi ve su tekrar çalışmaya başladı.

Son olarak, tam 10 gün boyunca aklımı meşgul eden veritabanlarının açılışta otomatik olarak başlatılması konusunu nasıl çözdüğümü de eklemek istiyorum.

Gayet kısa olarak prosedür şu ;

- Yukarıda linkini verdiğim sayfadaki dbora scripti yazılır
- Script için S ve K scriptleri / hard linkleri oluşturulur
- ORACLE_HOME/dbstart ve dbshut scriptleri, her iki scriptin açılış kısmında açıklandığı şekilde düzenlenir.
- $ORATAB/oratab dosyası düzenlenir ve otomatik başlaması istenen veritabanları için N, Y olarak değiştirilir.

Tüm bu yazdıklarım benim için hiç kolay olmadı. Arada umutsuzluğa kapıldığım veya öfkelenip ağıza alınmayacak küfürler ettiğim anlar da oldu. Sonuç olarak geçen 10 güne baktığımda, aslında bilgili bir Oracle admini bulunsa çok daha kısa sürede bitirilecek ama bana lüzumsuz şekilde kalan bir işin içine girdiğimi ama yine de, zorlamayla da olsa bu işten olabildiğince deneyim ve bilgi ile çıktığımı görüyorum. Ancak, onca strese değip değmediği konusunda hala tereddütlerim de var.

Temmuz 29, 2007

Solaris 10 Senaryo çalışması – 2

Filed under: Solaris — mbuyukkarakas @ 7:30 pm
Tags: , ,
    • Kullanıcılar gruplara dahil edilir.

      1. User01-user05 Muhasebe Dpt. Grubuna eklenir. Ikinci grubu GM’dir.

useradd –u 1000 –g muhasebe –G gm user01

      1. user06-user10 Denetim Dpt. Grubuna eklenir. Ikinci grubu GM’dir.

useradd –u 1006 –g denetim –G gm user06

    • Şifre ataması yapılır

      1. User01-05 arası kullanıcılara root şifre ataması yapar. Değiştirmeleri gerekmez.

#passwd user01,

#passwd user02

      1. User06-10 arası kullanıcılar ilk kez logon olduklarında sistmein şifre sorması zorunludur.

#passwd –u user06

#passwd –u user07

      1. Tüm kullanıcılar 45 gün sonra şifrelerini zorunlu olarak değiştirecek şekilde ayarlanırlar.

Vi /etc/default/passwd

MAXWEEKS=6

    • Geçici kullanıcılara hesap oluşturulur.
      1. Muhasebe için stajyer01 hesabı açılır. 15 gün süreyle çalışacak ve sonra disable olacak şekilde ayarlanır. Logon olduğunda MOTD görüntülenir.

Useradd –u 1100 –g muhasebe –c “stajyer01 muhasebe dpt” –s /bin/bash –d /export/home/stajyer01 –m stajyer01

Passwd –u stajyer01

Vi /etc/shadow

Stajyer01:efldsfoıhrefn:13712:::::12347777700: epoch time conversion

      1. Denetim için stajyer02 hesabı açılır. 30 gün süreyle çalışacak ve sonra disable olacak şekilde ayarlanır. Logon olduğunda MOTD görüntülenir

Useradd –u 1101 –g denetim –c “stajyer02 denetim dpt” –s /bin/bash –d /export/home/stajyer02 –m stajyer02

Passwd –u stajyer01

Vi /etc/shadow

Stajyer01:efldsfoıhrefn:13712:::::12347777700: epoch time conversion

    • Ünvanı değişen kullanıcılarda değişiklik yapılır.
      1. User01 ve User06 Mudur olurlar. Tanımları değiştirilir. Üçüncü grupları Mudurler olur.

Usermod –c “mudur muhasebe” –G gm,mudurler user01

Usermod –c “mudur denetim” –G gm,mudurler user01

    • Şirketten ayrılan kullanıcı hesapları silinir.

1. User 04 işten ayrılır. Hesabı silinir. Kişisel Klasörleri kaldırılır

Userdel –r user04

2. User 06 işten ayrılır. Hesabı silinir. Kişisel Klasörleri başkasına devredilir user10.

Userdel user06

Chown –R user10 /homedir/user06

3. User 09 1 ay süreyle izine çıkar. Hesabı disable edilir. Döndüğünde tekrar açılır.

Passwd –l user09

  • Şifre politikası ve bağlantı şekilleri belirlenir.
    • Hesap kilitleme. 3 kere şifresini yanlış giren kullanıcının hesabı 15 dk kilitli kalır.

Vi /etc/default/login

RETRIES=3

Vi /etc/security/policy.conf

LOCK_AFTER_RETRIES=YES

    • Süresinin dolması. Her kullanıcı 45 günde bir zorunlu olarak şifre değiştirir.

vi /etc/default/passwd

MAXWEEKS=6

veya

Passwd –n 1 –x 45 user01

    • Kilitlenen hesabın yeniden açılması.
      • User06 şifresini yanlış girince hesabı kilitlenir. Root hesabı açar.

Passwd –f user06

Passwd –u user06

Passwd –f user01 (bunu tercih ederim, mevcut şifreyle gir ama değiştir)

    • Kullanıcıya hesabını ilk kez kullanırken şifre girmeye zorlamak

Passwd –u user01

Temmuz 18, 2007

Solaris 10 Senaryo çalışması – 1

Filed under: Solaris — mbuyukkarakas @ 9:40 pm
Tags: , ,
  • Standart bir solaris 10 sistemi kurulur.

  • /yedek ve /yedek2 klasörü açılır. (İleride kullanıcıların erişim yetkilerini test etmek amacıyla kullanılacaktır.)

Mkdir /yedek

mkdir /yedek2

  • X şirketindeki kullanıcılar için
    • Dahil oldukları departmanları temsil eden gruplar oluşturulur.
      1. Muhasebe grubu oluşturulur. Açıklama yazılır.

/usr/sbin/groupadd –g 700 muhasebe

      1. Denetim grubu oluşturulur. Açıklama yazılır.

/usr/sbin/groupadd –g 701 denetim

      1. “genel mudurluk” grubu oluşturulur. Açıklama yazılır.

Genelmudurluk ismi çok uzun olmasına rağmen ve hata mesajıyla uyarmasına rağmen /etc/group dosyasına kayıt etti.

/usr/sbin/groupadd –g 702 gm

      1. Mudurler grubu olusturulur.

/usr/sbin/groupadd –g 703 mudurler

    • Tüm kullanıcılar için logon scriptler hazırlanır.
      • User01-10 arası kullanıcı hesapları oluşturulacaktır.

      1. User01-User03 arasının shell csh’dir. Path’e ilave olarak /export/home/%HOMEDIR% eklenir. Prompt “Working Directory = pwd” dir.

useradd –u 1000 –g 700 –s /bin/csh user01

cd /etc/skel

touch .login

vi .login

set path=($path ~)

set prompt=’pwd’

      1. User 04-07 arasının shell bash’dir. Path’e ilave olarak /yedek eklenir. Prompt “Shell Name User State Pwd >” dir.

useradd –u 1000 –g 700 –s /bin/bash user04

cd /etc/skel

touch .profile

vi .profile

PS1=”\s@\h ‘pwd’ >”

PATH=$PATH:/yedek

      1. User 08-10 arasının shell sh’dir. Path’e ilave olarak /yedek2 eklenir. Prompt “Shell Name User State Pwd >” dir.

useradd –u 1000 –g 700 –s /bin/sh user08

cd /etc/skel

touch .profile

vi .profile

PS1=”\s@\h ‘pwd’ >”

PATH=$PATH:/yedek

    • Çalışma ortamı oluşturulur.

      1. Tüm kullanıcılar için Message of the day hazırlanır.

vi /etc/motd

*************************************

Her gun spor yapın, kalbinizi koruyun

*****************************************

      1. user01-03 arası kullanıcılar logon olduklarında who komutu çalışır.

Echo who >>/etc/.login

      1. user 04 logon olduğunda prstat çalışır

echo prstat >>/export/home/user04/.login

echo prstat >>/export/home/user04/.profile

Temmuz 12, 2007

Solaris Disk Partioning

Filed under: Solaris — mbuyukkarakas @ 6:15 pm
Tags: ,

Solaris sistemlerinin disklerinin nasıl bölümlendirilmesi (partitioning) gerektiği hakkında sonunda yararlı ve fikir verici bir belge buldum. Şu konuya kafa yorduğum kadar başka şeylerle uğraşsaydım şimdiye kadar herhalde sınavlara hazır hale gelmiş olurdum.

http://www.sun.com/blueprints/1002/817-0407-10.pdf

Theme: Rubric. WordPress.com'dan blog alın.

Takip Et

Get every new post delivered to your Inbox.

Join 31 other followers