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.