http://toynak.com/warex/docs/slackware_ayarlar.html den alinmistir..
 Tum haklari sahibine aittir.

SLACKWARE 9.0

kurulumdan sonra slackware ayarları

bu döküman slackware 9.0 kurduktan sonra yaptığım ve yapılmasını tavsiye ettiğim ayarları anlatmaktadır. dökümanın versiyondan bağımsız olma ihtimali de vardır ancak bazı şeyler eski slackware versiyonlarında aynı olmayabilir.
dökümanda yanlış yazdığım birşey varsa bana ulaşıp düzeltmemi sağlarsanız sevinirim. eklenmesini istediğiniz veya çözemediğiniz bir sorun olursa yine bana ulaşabilirsiniz.
konu başlıkları şu şekilde özetlenebilir:
yeni hesap yaratmak
editör seçimi
ÖNCE GÜVENLİK
kullanmadığımız servisleri kapatalım!
/etc/rc.d/* dosyalarını kurcalayın!
X, tcp üzerinden gelen istekleri dinlemesin
hala dinlemede olan portlar mı var?
X KONFİGÜRASYONU
pencere yöneticisi konfigurasyonu
ekranda kayıklık var
TTF(True Type Font) font dosyaları ekleme
TÜRKÇE AYARLARI
konsolda türkçe
X altında türkçe
locale - ulusal dil desteği ve ulusal ayarlar
X tabanlı oturum açmayı etkinleştirmek
DİĞER AYARLAR
updatedb ayarları
dos bölümlerini mount etmek
ctrl+alt+del tuş kombinasyonu ile bilgisayarınızın yeniden başlatılmasını istemiyorsanız
sadece root grubundakiler su komutu ile superuser olabilsin
PATH'imizi genişletelim.
bash komut satırını özelleştirelim
reboot ve halt için şifre sor
sistem loglarını özelleştirin!
selamlama mesajını değiştirin
setup nerede?
GELİŞMİŞ GÜÇ YÖNETİMİ (APM(advanced power management))
INTERNETE BAĞLANMAK
GEREKLİ GÜNCELLEMELERİ YAPIN VE SİSTEMİ GÜNCEL TUTUN!

DİKKAT: aşağıda yazılanların çoğunu gerçekleştirebilmek için root olmak gereklidir.


yeni hesap yaratmak

daha önceden yapmadıysanız kendinize bir hesap yaratın ve bundan sonra sürekli onu kullanın. gerektiği yerde root olarak işlem yapabilirsiniz. tek kullanıcılı sistemlerde bunun gerekli olmadığını sakın düşünmeyin!
kullanıcı ekleme işini kolaylaştıran adduser komutu ile sorulan sorulara gerekli cevapları vererek yeni hesabınızı oluşturabilirsiniz.
# adduser

Login name for new user []: warex

User ID ('UID') [ defaults to next available ]: 1000

Initial group [ users ]:

Additional groups (comma separated) []: root
(kullanıcımızı biraz sonra yapacağımız güvenlik kısıtlamalarından etkilenmemesi için root grubuna da ekledim, siz eklemeyebilirsiniz, daha sonradan da eklenebilir)

Home directory [ /home/warex ]

Shell [ /bin/bash ]

Expiry date (YYYY-MM-DD) []:

New account will be created as follows:

---------------------------------------
Login name.......: warex
UID..............: 1000
Initial group....: users
Additional groups: root
Home directory...: /home/warex
Shell............: /bin/bash
Expiry date......: [ Never ]

This is it... if you want to bail out, hit Control-C. Otherwise, press
ENTER to go ahead and make the account.


Creating new account...


Changing the user information for warex
Enter the new value, or press ENTER for the default
Full Name []: Sertan
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Changing password for warex
Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password: burada kullanıcıya iyi bir şifre belirleyin
Re-enter new password:
Password changed.


Account setup complete.

bu şekilde uid'i 1000 olan, aynı zamanda root grubuna dahil ana kullanıcımızı ekledik. bu bizim sistemde ana kullanacağımız kullanıcı olacak ve aşağıdaki ayarlarda bazı güvenlik kısıtlamaları bu uid(userid) için yapılandırılacaktır.

editör seçimi


ben editör olarak vim kullanıyorum. eğer siz de vi klonlarından birini kullanmayı öğrenmek istiyorsanız, ilk adımı "vimtutor" komutu ile atabilirsiniz. vi alışılmış diğer editörlerden farklıdır ve neredeyse klavyedeki her tuşun bir fonksiyonu vardır. ilk başta öğrenmesi zor olabilir ancak son derece gelişmiş, mükemmel bir editördür, alışan vazgeçemez. vi tuş fonksiyonları programı kullandıkça hafızanıza kazınır. vimtutor size her yeni bilgi verdiğinde size deneme imkanı da verdiği için yeni öğrendikleriniz aklınızda daha kolay kalabilir.
slackware'in default editörü bir vi klonu olan elvis'tir. bir ara elvis kullandım ancak artık vim kullanıyorum. bu yüzden vi sembolik linkini kolaylık olması açısından vim'e yönlendiriyorum.
# ls -l /usr/bin/vi
lrwxrwxrwx 1 root root 12 Apr 4 19:35 /usr/bin/vi -> /usr/bin/elvis*
gördüğünüz gibi vi yazınca elvis açılmakta
# ln -sf /usr/bin/vim /usr/bin/vi
# ls -l /usr/bin/vi
lrwxrwxrwx 1 root root 12 Apr 4 19:35 /usr/bin/vi -> /usr/bin/vim*
artık vi yazdığımızda vim editörü açılacak.

ÖNCE GÜVENLİK

kullanmadığımız servisleri kapatalım!


# netstat -an | grep "LISTEN "
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN

görüldüğü gibi kullanmadığımız bir sürü servis açık (bunlar benim kullandığım servisler, ilk kurulumdaki çıktı yukardaki ile birebir olmayabilir)
bunları sırası ile teker teker kapatacağız.
öncelikle inetd'ye bağlı olarak çalışan ve kullanılmayan servisleri kapatalım.
# vi /etc/inetd.conf
diyerek inetd.conf dosyasını açın ve başında # işareti olmayan tüm satırlara # işaretini koyun ve dosyayı kaydederek çıkın.
# killall -HUP inetd
komutu ile inetd'nin yeniden çalışmasını sağlayın.
tüm satırların başına # koyup koymadığınızdan emin olmak için
# grep -v '^#' /etc/inetd.conf
komutunu kullanabilirsiniz. (# ile başlamayan tüm satırları göster)

tcpwrappers, genelde inetd ile başlatılan servislerin erişim kontrolünü sağlar (libwrap erişimleri ipchains veya iptables gibi soket katmanında değil, uygulama(application) katmanında kontrol eder)
bu erişim kontrolünü sağlayan iki dosya /etc/hosts.allow ve /etc/hosts.deny dosyalarıdır. kontrol edilen bir servise bağlantı yapıldığında önce hosts.allow dosyası erişime izin veriliyor mu diye kontrol edilir, izin verilirse problem yoktur. erişim ile ilgili bir bilgi hosts.allow dosyasında yoksa, bir kısıtlama var mı diye hosts.deny dosyasına bakılır.
biz önce tüm erişimleri herkese kapatmalı, ardından istediğimiz kişilerin istediğimiz servislere bağlanabilmesi için gerekli izinleri hosts.allow dosyasında vermeliyiz.
# vi /etc/hosts.deny
diyerek dosyayı açalım ve içerisine
ALL: ALL
yazalım.
daha sonra /etc/hosts.allow dosyasını açarak gerekli izinleri verelim.
# vi /etc/hosts.allow
aşağıdaki satırlar benim hosts.allow dosyamdan örneklerdir, daha fazla bilgi için man sayfalarına göz atın. (man 5 hosts_access, man 5 hosts_options)
-----------------
ALL: 127.0.0.1, 192.168.0.
sshd: XXX.XXX.XXX.XXX
-----------------
yukarıda görüldüğü gibi lokal makina 127.0.0.1 ve 192.168.0. ile başlayan iç network tüm servislere erişme hakkına sahip. ayrıca sshd servisine sadece XXX.XXX.XXX.XXX ip adresli makinanın bağlanma hakkı var. bu dosyalarda ip adresleri yerine hostnameler de belirtilebilir ancak, çok az ihtimalle de olsa, bir saldırganın name(host) spoof yaparak burada kısıtlanan servislere ulaşma hakkı kazanma ihtimali var. örneğin
proftpd: .mit.edu
satırını eklemek, *.mit.edu'nün(ali.mit.edu, evrim.mit.edu vb.) proftpd ftp servisine erişmesine izin vermek anlamına gelecektir.

/etc/rc.d/* dosyalarını kurcalayın!

slackware, sistem açılırken ve kapanırken çalıştırdığı dosyaları /etc/rc.d/ içerisinde tutar. diğer çoğu linux dağıtımı System V stili init scriptleri kullanırken slackware BSD stili init scriptleri kullanır. avantaj ve dezavantajlarını burada tartışıp dökümanı daha fazla sıkıcı hale getirmeden yapacaklarımıza geçelim.

# vi /etc/rc.d/rc.M
ile rc.M dosyasını açalım
...
/bin/setterm -blank 2
yukarıdaki satırın sonundaki sayı 15ti, yani konsolda hiçbir işlem yapılmadığında ekranın kararma zamanı. ben bunu 2 dakikaya ayarladım, siz de istediğiniz değeri verebilirsiniz.
...
# Start the print spooling system. This will usually be LPD or CUPS.
#if [ -x /etc/rc.d/rc.cups ]; then
# # Start CUPS:
# /etc/rc.d/rc.cups start
#elif [ -x /usr/sbin/lpd ]; then
# # Start LPD:
# echo "Starting the line printer daemon: /usr/sbin/lpd"
# /usr/sbin/lpd
#fi
... printer kullanmıyorsanız yukardaki satırların başına # işareti koyun

burada sizin için gereksiz olan herşeyin başına # işareti koyarak veya varsayılan değerleri kendinize uygun şekilde değiştirerek, sistem açılırken ilgili servislerin başlamamasını veya istediğiniz şekilde başlamasını sağlayabilirsiniz.
dikkat edilmesi gereken, servisleri başlatan satırların başına # işareti koyduysanız, karşılıklarını rc.K ve rc.6(rc.0) dosyalarında da devreden çıkartmayı unutmamak, yoksa kapanışta servisler düzgün kapanmayacaktır.
bu dosyalarda yeralan, örneğin
if [ -x /etc/rc.d/rc.httpd ]; then
satırları bash betik dilinde "eğer /etc/rc.d/rc.httpd çalıştırılabilir bir dosya ise fi(if sonu) satırına kadar olan komutları uygula" demek olduğu için, ben bunların başına # işareti koymak yerine çalıştırma hakları ile oynadım, siz de öyle yapın. gerektiğinde 2-3 dosyada birden düzenlemek yerine çalıştırma hakkı vererek servisin sistem açılış ve kapanışında başlamasını/sonlanmasını sağlayabilirsiniz. örneğin,
# cd /etc/rc.d
# chmod a-x rc.sshd rc.httpd rc.news rc.nfsd rc.mysql rc.cups rc.atalk rc.yp
(yukarıdaki dosyaların tümü sisteminizde olmayabilir. kimi, örnek olsun diye verilmiştir)


# vi /etc/rc.d/rc.inet2
ile rc.inet2 dosyasını açın ve aşağıdaki satırların başına # işareti koyun
...
#if [ -x /sbin/rpc.portmap ]; then
# echo "Starting RPC portmapper: /sbin/rpc.portmap"
# /sbin/rpc.portmap
#fi
...
#echo "Mounting remote (NFS) file systems: /sbin/mount -a -t nfs"
#/sbin/mount -a -t nfs # This may be our /usr runtime!
# Show the mounted volumes:
#/sbin/mount -v -t nfs
...
#echo "Mounting remote (SMB) file systems: /sbin/mount -a -t smbfs"
#/sbin/mount -a -t smbfs
# Show the mounted volumes:
#/sbin/mount -v -t smbfs
...
diğerleri rc.d klasörü içerisinde çalıştırılabilir dosyalar olduğu için yukarıda bahsettiğim gibi onların çalıştırma(execute) haklarını ellerinden alarak hiç çalışmamalarını sağlayacağız.

X, tcp üzerinden gelen istekleri dinlemesin

herhangi özel bir ayar yapılmazsa XFree86 6000+n numaralı porttan gelen istekleri dinler. bunu dinlememesi için:
eğer X'i startx komutu ile başlatıyorsak
/etc/profile dosyasını açarak sonuna şu satırı ekleyin
alias startx="startx -- -nolisten tcp"
eğer xdm kullanıyorsak
/etc/X11/xdm/Xservers dosyasındaki
:0 local /usr/X11R6/bin/X
satırını
:0 local /usr/X11R6/bin/X -nolisten tcp
şeklinde, gdm için
/etc/X11/gdm/gdm.conf dosyasında gerekli yeri bularak, aşağıdaki şekilde düzenleyip X'in tcp üzerinden gelen istekleri dinlememesini sağlayabiliriz.
# Definition of the standard X server.
[server-Standard]
name=Standard server
command=/usr/X11R6/bin/X -nolisten tcp


gereksiz, kullanmadığımız servislerin tümünü devreden çıkarttık. bir sonraki açılışta bu servisler başlamayacak.
servisler portları dinlemeyi hemen bıraksın istiyorsanız restart etmenize gerek yok, çalıştırılma haklarını da iptal ettiğimiz için her çalışan servisi
# sh /etc/rc.d/rc.httpd stop
komutu ile durdurabiliriz. buradan başlatılmayanlar için, örneğin lpd için,
# killall lpd
komutu ile ilgili port'u dinlemesini durdurabiliriz.

hala dinlemede olan portlar mı var?

aşağıdaki komut bize hangi process'in hangi portu dinlediğini gösterecektir. buna göre gerekli işlemi yapabiliriz.
# netstat -atp | grep LISTEN
tcp        0      0 *:submission            *:*                     LISTEN      755/
tcp        0      0 *:http                  *:*                     LISTEN      769/httpd
tcp        0      0 *:ftp                   *:*                     LISTEN      737/inetd
tcp        0      0 *:ssh                   *:*                     LISTEN      745/sshd
tcp        0      0 *:smtp                  *:*                     LISTEN      755/

gördüğünüz gibi yukarda hala bazı servisler hala bazı portları dinliyor.
# sh /etc/rc.sendmail stop
# sh /etc/rc.httpd stop
# sh /etc/rc.sshd stop
# vi /etc/inetd.conf
komutu ile inetd.conf dosyasında ftp ile başlayan satırın başına # koyduktan sonra
# killall -HUP inetd

şimdi her servisi stop ettik, sonuca bakalım
# netstat -atp | grep LISTEN
gördüğünüz gibi herhangi bir şey çıkmadı. siz yine de sistemi yeniden başlattığınızda tekrar kontrol etmeyi ihmal etmeyin. farkında olmadan açılıştan kaldırmadığınız veya çalıştırılma hakkını iptal etmediğiniz bir servis kalmış olabilir.

X KONFİGÜRASYONU

xfree86setup X ayarlarını yapabileceğiniz en güzel araç. donanımınıza uygun konfigurasyonu yaptıktan sonra konfigurasyonunuzu /etc/X11/XF86Config dosyasına yazacaktır.
konfigurasyon sonrası X'in doğru çalışıp çalışmadığını kontrol etmek için startx değil X komutunu kullanın. doğru gözüküyorsa başardınız demektir.
xfree86setup işinize yaramadıysa, xf86config komutu ile de manuel olarak X ayarlarınızı yapabilirsiniz.

pencere yöneticisi konfigurasyonu

varsayılan pencere yöneticisini xwmconfig komutunu kullanarak değiştirebilirsiniz. (ben slackware 9 ile birlikte yıllar yılı kullandığım KDEyi bırakıp gnome'a geçtim, bu sizin tercihiniz, hangisinde rahat ediyorsanız onu kullanın, KDE de çok güzeldir)
sistemin varsayılan pencere yöneticisi konfigurasyonumuzu da yaptıktan sonra root için default pencere yöneticisi olarak twm'yi(Tab Window Manager) seçelim. başta da uyardığım gibi, sakın ola sistemi root ile kullanmaya devam etmeyin, sadece gerekli olan yerlerde root olun.
# ln -s /etc/X11/xinit/xinitrc.twm ~/.xinitrc
komutu ile root'un varsayılan pencere yöneticisini twm yaptık.

ekranda kayıklık var

X konfigurasyonunuzu doğru olarak yapmanıza rağmen X'e geçtiğinizde ekran pozisyonunda sorun varsa, bunu xvidtune komutu ile düzeltebiliriz.
startx ile X'i başlatalım. bir terminal penceresinde
# xvidtune
komutunu çalıştıralım. gerekli ayarlamaları yaptıktan sonra görüntü tam istediğimiz gibi ise "Show" butonuna basalım, komutu çalıştırdığımız terminal penceresinde şu şekilde bir satır görülecektir
"1152x864" 108.00 1152 1236 1364 1600 864 865 868 900 +hsync +vsync

bu satırı kopyalayın, xvidtune'u kapatabilirsiniz.
# vi /etc/X11/XF86Config
ile dosyayı açarak
Section "Monitor"
kısmına gidin ve EndSection satırından bir önce, biraz önce kopyaladığımız satırı, başına ModeLine ekleyerek yerleştirin. örneğin
ModeLine "1152x864" 108.00 1152 1236 1364 1600 864 865 868 900 +hsync +vsync

dosyayı kaydederek çıkın. artık X'i açtığınızda herhangi bir ekran kayması sorunu yaşamayacaksınız.

TTF(True Type Font) font dosyaları ekleme

http://www.gnome.org/fonts/ adresine giderek Bitstream Vera TTF yazı tiplerini bilgisayarınıza indirin.
Bunun dışında bir windows sisteminden türkçe TTF dosyalarını alarak (eğer civarda bir windows yoksa ne mutlu size. benim gibi uğraşmamanız için dosyaları sıkıştırılmış halde buraya koydum, bir türkçe windows98 sisteminden alınmıştır.)
sıkıştırılmış dosyalardan çıkan fontları /usr/X11R6/lib/X11/fonts/TTF klasörüne kopyalayın
# cd /usr/X11R6/lib/X11/fonts/TTF
# mkfontscale
# mkfontdir
komutlarını çalıştırın, /etc/X11/XF86Config dosyasının "Files" kısmı içerisinde
FontPath "/usr/X11R6/lib/X11/fonts/TTF"
satırının olduğuna emin olun, yoksa ekleyin. eğer X çalışıyorsa yeniden başlatın ve gerekli uygulamalarda size uyan fontları karakter kümesi iso-8859-9(türkçe) olacak şekilde seçin.


TÜRKÇE AYARLARI

konsolda türkçe

# setconsolefont
komutu ile bir türkçe font seçin (lat5 ile başlayan bir font seçin. iso09* da işinizi görebilir. ben lat5-16.psfu.gz kullanıyorum)
OK dedikten sonra bu script /etc/rc.d/rc.font içerisine seçtiğiniz fontu yazacaktır ki her açılışta tekrar tercih ettiğiniz font yüklensin.
eğer seçtiğiniz bir font ekranı görünmez hale getirdiyse endişelenmeyin, sadece setfont yazarak varsayılan fontun tekrar yüklenmesini sağlayabilirsiniz.
eğer türkçe değilse, klavyenizi ayarlamak için
# loadkeys trq
Loading /usr/share/kbd/keymaps/i386/qwerty/trq.map.gz
yazın, gördüğünüz gibi türkçe q klavye map'ini yükledi. f tipi klavye kullanıyorsanız trq yerine trf yazın.
açılışta tekrar aktif olması için /etc/rc.d/rc.keymap dosyasını düzenleyin. benim dosyanın içeriği şu şekilde
if [ -x /usr/bin/loadkeys ]; then
/usr/bin/loadkeys trq.map
fi
# vi /etc/profile
ile bu dosyayı açarak dosyanın sonuna
export LC_CTYPE=tr_TR
satırını ekleyin. bunları yaptıktan sonra slackware 9.0 altında konsolda türkçe yazabiliyor ve okuyabiliyor olmanız gerekir.

X altında türkçe

/etc/X11/XF86Config dosyasını açarak InputDevice kısmına gidip XkbLayout değerini tr yapın.
örnek konfigurasyon:
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "tr"
EndSection

pencere yöneticinizin ana fontlarında ve bozuk karakterler gözüken uygulamalarda gerekli türkçe fontları seçin.

locale - ulusal dil desteği ve ulusal ayarlar

locale sistemde çoklu dil desteği, yerel ayarlar, ülkeler arası özel tercihler vb. için kullanılır. örneğin biz 24 saatlik saat sistemini kullanırken başka bir ülke 12 saatlik zaman dilimini(am, pm) kullanıyor; sayıları ayırmak için her üç rakamda bir koyulan nokta(.) başka bir ülkede virgül(,) olarak kullanılıyor; başka bir ülkede ş harfi s harfinden sonra değil önce geliyor olabilir. örnekler çok fazla çeşitlendirilebilir. biz bunu biraz daha iyi anlamak için sistemde boş bir klasör içerisinde uygulamalı görelim
$ locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
görüldüğü gibi locale ayarları varsayılan C değerlerinde. bu türkçe kullanmak istediğimiz bir sistemde ne gibi sorunlar yaratabilir görelim.

$ touch simit şarap derman ayakkabı zeytin çekirdek değer
içerisinde türkçe karakterler de geçen yedi adet dosya yaratıyoruz.
$ ls -l
total 0
-rw-r--r-- 1 warex power 0 Apr 21 23:17 ayakkab\375
-rw-r--r-- 1 warex power 0 Apr 21 23:17 derman
-rw-r--r-- 1 warex power 0 Apr 21 23:17 de\360er
-rw-r--r-- 1 warex power 0 Apr 21 23:15 dolap
-rw-r--r-- 1 warex power 0 Apr 21 23:17 simit
-rw-r--r-- 1 warex power 0 Apr 21 23:17 zeytin
-rw-r--r-- 1 warex power 0 Apr 21 23:17 \347ekirdek
-rw-r--r-- 1 warex power 0 Apr 21 23:17 \376arap
karakterler olması gerektiği gibi gözükmüyor. bunu düzeltmek için karakterleri yönlendiren ve sınıflandıran LC_CTYPE değerini kendimize uygun hale getiriyoruz.
$ export LC_CTYPE=tr_TR
$ ls -l
total 0
-rw-r--r-- 1 warex power 0 Apr 21 23:17 ayakkabı
-rw-r--r-- 1 warex power 0 Apr 21 23:17 derman
-rw-r--r-- 1 warex power 0 Apr 21 23:17 değer
-rw-r--r-- 1 warex power 0 Apr 21 23:15 dolap
-rw-r--r-- 1 warex power 0 Apr 21 23:17 simit
-rw-r--r-- 1 warex power 0 Apr 21 23:17 zeytin
-rw-r--r-- 1 warex power 0 Apr 21 23:17 çekirdek
-rw-r--r-- 1 warex power 0 Apr 21 23:17 şarap
şimdi karakterler düzgün gözüküyor ancak "derman"dan önce gelmesi gereken "değer" sonra, ç ve ş ile başlayanlar da onun gibi en sonda yer alıyor. halbuki türkçede bunların sıralanışı farklıdır. işte bunu LC_COLLATE değeri belirler.
$ export LC_COLLATE=tr_TR
$ ls -l
total 0
-rw-r--r-- 1 warex power 0 Apr 21 23:17 ayakkabı
-rw-r--r-- 1 warex power 0 Apr 21 23:17 çekirdek
-rw-r--r-- 1 warex power 0 Apr 21 23:17 değer
-rw-r--r-- 1 warex power 0 Apr 21 23:17 derman
-rw-r--r-- 1 warex power 0 Apr 21 23:15 dolap
-rw-r--r-- 1 warex power 0 Apr 21 23:17 simit
-rw-r--r-- 1 warex power 0 Apr 21 23:17 şarap
-rw-r--r-- 1 warex power 0 Apr 21 23:17 zeytin
şimdi görüldüğü gibi herşey yerli yerinde.
$ date
Mon Apr 21 23:58:43 EEST 2003
zamanı da türkçe yapalım
$ export LC_TIME=tr_TR
$ date
Pzt Nis 21 23:58:56 EEST 2003

sözü fazla uzatmadan, herşeyin türkçe olmasını
# export LC_ALL=tr_TR
# export LANG=tr_TR
komutları ile sağlayabilirsiniz veya tercih ettiğiniz değerleri teker teker belirleyebilirsiniz. örneğin tarihlerin türkçe olmasını istemiyor olabilirsiniz vs. buna karar verdikten sonra bu export satırlarını /etc/profile dosyasına eklemeyi unutmayın!
sistemde türkçe okuyup yazabilmeniz ve bazı ulusal ayarlar için minimum
export LC_CTYPE=tr_TR
export LC_COLLATE=tr_TR
export LC_MONETARY=tr_TR
export LC_NUMERIC=tr_TR
satırlarını /etc/profile içerisine eklemenizi öneririm. daha fazla bilgi için
$ man 5 locale


X tabanlı oturum açmayı etkinleştirmek

açılışta direk X'in başlamasını istiyorsanız /etc/inittab dosyasını açarak
id:3:initdefault:
olan satırı
id:4:initdefault:
yapın.


DİĞER AYARLAR

updatedb ayarları

bilgisayarınızda hızlı bir şekilde dosya aramak istediğinizde find komutu yerine locate ve slocate komutlarını kullanabilirsiniz tabi baktığı dosya veritabanı güncelse.
updatedb komutu, belirttiğiniz seçeneklere göre tüm bilgisayarı tarayarak varolan dosya/klasör vs. isimlerini *locate veritabanına yazar ve locate komutu ile aratıldığında dosyanın bulunduğu yeri gösterir. örneğin:
$ locate hping2
/usr/sbin/hping2
/usr/local/man/man8/hping2.8
biz updatedb komutunu çalıştırdıktan sonra hping2 dosyalarını silersek veya içerisinde hping2 geçen yeni bir dosya eklersek locate komutu bunları bulamayacaktır. işte bu yüzden updatedb'nin güncel tutulması bizim yararımıza olacaktır.
slackware'de updatedb programı her gün 4:40'ta çalışmak üzere cron'a yazılmıştır. eğer mountladığınız herhangi bir device'ın bu program tarafından veritabanına eklenmesini ve işlerin uzamasını istemiyorsanız /etc/updatedb.conf dosyasını açarak PRUNEPATHS değerinin sonuna /mnt klasörünü de ekleyin. örneğin:
PRUNEPATHS="/tmp /usr/tmp /var/tmp /afs /net /mnt"
updatedb'nin hergün çalışmasını istemiyorsanız cron'dan çıkartın ve herhangi bir program yükleme/kaldırma işlemi yaptığınızda kendiniz çalıştırın.

dos bölümlerini mount etmek

# vi /etc/fstab ile fstab dosyasını açarak kendi dos bölümlerinizi ekleyin. kurulum sırasında zaten eklediyseniz, dosya sistemine göre sadece root tarafından okunabilir veya yazılabilir olabilir, 4. sütunda kullanıcıya bu bölümlere erişim hakkı verin.
örneğin
/dev/hdXX        /mnt/vfat          vfat        defaults,noexec,uid=1000,iocharset=iso8859-9  1   0
/dev/hdXX        /mnt/ntfs          ntfs        defaults,noexec,uid=1000  1   0
yukarıdaki 1. sütun, bağlanacak yerin harddiskinizin hangi bölümü olduğunu belirtir; 2. sütun, sistem içerisinde bağlanacak klasörü; 3. sütun, dosya sistemi tipini; 4. sütun, erişim vb. gibi özellikleri; 5. sütun, dump; 6. sütun ise fsck tarafından kontrol edilip edilmeyeceğini belirler. daha fazla bilgi için
# man 8 mount
# man 5 fstab
yukarıdaki örnekte, başta yarattığımız ve uid'ini 1000 olarak belirlediğimiz kullanıcıya gerekli haklar verilmiş gözüküyor. sistemi bu kullanıcı ile kullanacağımız için mountladığımız disk bölümlerine de okuma ve yazma hakları tanımamız ileride bizim için rahatlık olacaktır. eğer kullanıcıya özel değil de gruba özel bir tanım yapmak istiyorsanız uid yerine gid kullanabilirsiniz. detaylı bilgi için ilgili man sayfasına göz atın.
fat(msdos, umsdos, vfat) dosya sisteminizde türkçe karakter kullanılarak oluşturulmuş dosya, klasör vb. isimleri iocharset ile belirtilmediği sürece bozuk gözükecektir. bu yüzden bu disk bölümünde yeralan dosya/klasör isimlerindeki ı,ş,ğ gibi harfleri düzgün görebilmek için iocharset ile türkçe karakter kümesi iso8859-9'u belirmek gerekir. aynı şey ntfs disk bölümleri için geçerli değildir. çünkü ntfs disk bölümleri ı,ş,ğ gibi harfleri i,s,g gibi uyumlu karakterlere dönüştürür.

ctrl+alt+del tuş kombinasyonu ile bilgisayarınızın yeniden başlatılmasını istemiyorsanız,

/etc/inittab dosyasını açarak
ca::ctrlaltdel:/sbin/shutdown -t5 -r now
satırının başına # işareti koyun. ctrl+alt+del tuşları artık işlevsiz. bu satıra şu şekilde bir satır ekleyerek kullanıcının bundan haberi olmasını sağlamanız daha iyi olacaktır.
ca::ctrlaltdel:/usr/bin/echo -e "CTRL-ALT-DEL tuş kombinasyonu iptal edilmiştir, lütfen sisteme login olarak restart ediniz."

sadece root grubundakiler su komutu ile superuser olabilsin

bunun için /etc/login.defs dosyasını açarak
#SU_WHEEL_ONLY yes
satırının(228. satır) başındaki # işaretini kaldırın. artık sadece root grubunda bulunan kullanıcılar su ile root olma hakkına sahip olacaklar, diğer kullanıcılar ise su yazdıklarında aşağıdaki çıktıyı göreceklerdir.
$ su
You are not authorized to su root
bu dosyayı inceleyin ve istediğiniz diğer ayarları da(örneğin en kısa şifre uzunluğu değerini arttırmak gibi) yapın.

PATH'imizi genişletelim.

çalıştırılabilir dosyaların nerede olduğu sisteme login olduğumuzda PATH değişkenine atanır. kendi kullanıcımıza bazı yetkiler verdik ancak bu PATH değerleri ona atanmıyor. bunu değiştirelim ve 1000 uid'li kullanıcımız için de bu PATHlerin atanmasını sağlayalım.
/etc/profile dosyasında aşağıdaki kısmı bulalım ve burada yazdığı gibi değiştirelim. dikkat etmemiz gereken if ile başlayan satır dışındakileri değiştirmemek. ben de burada sadece onu değiştirdim.

# For root users, ensure that /usr/local/sbin, /usr/sbin, and /sbin are in
# the $PATH. Some means of connection don't add these by default (sshd comes
# to mind).
if [ "`id -u`" = "0" ] || [ "`id -u`" = "1000" ]; then
echo $PATH | grep /usr/local/sbin 1> /dev/null 2> /dev/null
if [ ! $? = 0 ]; then
PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH
fi
fi

bash komut satırını özelleştirelim

yine bu dosyada yapacağımız bir değişiklik ile varsayılan shell satırını modifiye edebiliriz. örneğin ben her zaman o an arkada kaç process çalıştırdığımı görmek isterim. bunun için /etc/profile dosyasında
# Set a default shell prompt:
kısmını bulun ve en alt kısmındaki (bash kullandığınızı varsayıyorum)
else
PS1='\u@\h:\w\$ '
fi
içerisinde PS1'i şu şekilde değiştirin
PS1='\u@\h[\j]:\w\$ '
artık login olduğumuzda bash satırını şu şekilde göreceğiz
warex@dafunk[0]:~$ mozilla &
[1] 9678
warex@dafunk[1]:~$
[1]+ Done mozilla
warex@dafunk[0]:~$
görüldüğü gibi [] parantezleri içerisinde o an kaç iş(job) çalıştığını görüyoruz.
daha fazla bilgi için "man 1 bash" içerisinde PROMPTING kısmına bakabilirsiniz.

reboot ve halt için şifre sor

bu dosyayı hazır kapatmamışken, root değilken halt veya reboot yazdığımızda "must be superuser" hatasını almamak için bu komutlara şu şekilde birer alias tanımlayalım.
/etc/profile dosyasının en sonuna şu 2 satırı ekleyelim
alias halt='su -c halt'
alias reboot='su -c reboot'
artık halt veya reboot dediğimizde sistem bizden root şifresi isteyecek ve doğru yazarsak gerekli işlemi yapacak.

/etc/profile dosyası ile işimiz bitti, dosyayı kaydedip çıkalım.

sistem loglarını özelleştirin!

sistemin günlük(log) tutması çok önemlidir. syslogd'yi hangi mesajların nereye yazılacağı konusunda ayarlamak için /etc/syslog.conf dosyasında gerekli değişiklikleri yapmak gerekir. bunun hakkında bilgi almak için
man 8 syslogd
man 5 syslog.conf

selamlama mesajını değiştirin

(MOTD=message of the day, günün mesajı, kullanıcılar sisteme login olduklarında karşılarına çıkan mesajdır)
önce yaptığımız değişikliğin sistemin yeniden açılışı sırasında değişmemesi için /etc/rc.d/rc.S dosyasını açıp
echo "`/bin/uname -sr`." > /etc/motd
satırının başına # işareti koyalım. daha sonra /etc/motd dosyasını açarak burayı istediğimiz gibi değiştirelim.

setup nerede?

kurulum sırasında gördüğünüz sistem ayar scriptlerini, pkgtool aracı içerisindeki Setup kısmında görebilirsiniz.

GELİŞMİŞ GÜÇ YÖNETİMİ (APM(advanced power management))

eğer bilgisayarınızın APM desteği varsa /etc/rc.d/rc.modules dosyası içerisinde "APM support" kısmına gelerek, apm modülünü yükleyecek satırın önündeki # işaretini kaldırın
#### APM support ###
# APM is a BIOS specification for saving power using several different
# techniques. This is mostly useful for battery powered laptops.
/sbin/modprobe apm

dosyayı kaydedip çıktıktan sonra artık sisteme apm desteği vermiş oluyoruz.

INTERNETE BAĞLANMAK

pppsetup komutu ile gerekli ayarları yaptıktan sonra ppp-go komutu ile internete bağlanabilir, ppp-stop komutu ile bağlantınızı kesebilirsiniz.
bizim kullanıcımıza internete bağlanma hakkı vermek için
# chmod g+r /etc/ppp/*
(ppp klasörü altındaki gerekli şifre dosyalarını root grubuna dahil olduğu için okuyabilsin)
# chown root.root /usr/sbin/pppd
# chmod 4750 /usr/sbin/pppd
# ls -l /usr/sbin/pppd
-rwsr-x--- 1 root root 173644 May 20 2002 /usr/sbin/pppd*
yukarıdaki işlem ile pppd uygulamasının grubunda gerekli ayarlamaları yaptık ve pppd'yi çalıştıran kullanıcıların root kullanıcısıymış gibi haklara sahip olmasını sağladık. aynı zamanda, daha güvenli olması için, root ve root grubuna dahil olmayan kullanıcıların bu dosyayı çalıştırma hakkını ellerinden aldık.
DİKKAT: bir programın suid bit'ini aktif etmek bazı riskleri beraberinde getirebilir.
$ ppp-go
komutu ile internete bağlanabiliriz.

GEREKLİ GÜNCELLEMELERİ YAPIN VE SİSTEMİ GÜNCEL TUTUN!

benim bu dökümanı yazdığım sıralar slackware 9.0 ile birlikte gelen 3 adet uygulamanın(mutt,sendmail,samba) hatası bulundu ve gerekli yamalar slackware güvenlik ekibi tarafından yapıldı.
ftp://ftp.slackware.com/pub/slackware/slackware-9.0/patches/ adresine giderek, packages klasörü içerisinden programların güncellenmiş, yeni versiyonlarını indirip upgradepkg komutu ile gerekli güncellemeleri yapın.

yeni paket güncellemelerinden haberdar olmak için slackware-security e-posta listesine üye olun. bunun için majordomo@slackware.com adresine içerisinde "subscribe slackware-security" satırı geçen bir email gönderin. genelde az email gelen bir listedir, posta kutunuzu zorlamaz. mesela tüm 2002 yılında yaklaşık 20 civarında mail geldi.
tüm listelere ve liste arşivlerine http://www.slackware.com/lists/ adresinden ulaşabilirsiniz. sayfada yer alan diğer listeye de üye olabilirsiniz, yıllardır o kadar az mail aldım ki, kaç kere "bu liste kapandı mı?" diyerek sayfaya girip baktım.

kullandığınız uygulama ve sunucuların yeni bulunan hatalardan etkilenmemesi için kritik uygulamaların güvenlik problemlerini takip edin.