İşletim sistemleri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
İşletim sistemleri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

20 Mart 2008 Perşembe

UNIX İşletim Sistemi - 2

UNIX'te Erişim Yetkileri :
Unix'te güvenlik sisteminin temelinde kullanıcıların sisteme tanıtımı sırasında yapılan düzenlemeler vardır. Sistemin yönetiminden sorumlu olan kişi, kullanıcıları kullanım konularına göre sınıflandırır. Bu sınıflara kullanıcı grupları (user group) denir ve her kullanıcı grubunun bir numarası olur.
ls -l komutu ile bir dizinde yer alan dosyaların ve dizinlerin listesini aldığımızda,
-rwxr-xr-x 1 root 239783 Feb 09 13:34 kadb
gibi satırlar görmekteyiz. Bu satırlardaki erişim yetkileri ile ilgili olan rwxr-xr-x gibi kod dizileri vardır. Bu 9 karakterden oluşan dizi aslında üçer karakterlik üç parçadan oluşmaktadır. (Burada rwx r-x ve r-x)
İlk üç karakter dosyanın sahibinin yetkilerini, ikinci üçlü dosyanın sahibiyle aynı kullanıcı grubunda yer alan kullanıcıların yetkilerini, son üçlü ise diğer kullanıcıların bu dosya üzerindeki yetkilerini tanımlamaktadır.
Burada;
r : Okuma yetkisi (read access)
w: Yazma Yetkisi (write access)
x : Dosya bir program dosyası ise programı çalıştırma yetkisini gösterir. (execute access)
Toplu halde göstermek gerekirse;
drwxrwxrwx
d - dosya tipi
rwx - Sahibinin bu dosya/dizin üzerindeki yetkileri
rwx - Sahibi ile aynı grupta olanların yetkileri
rwx - Diğer kullanıcıların yetkileri

Dosya ve dizinlerin erişim yetkilerini değiştirmek için chmod komutu kullanılır.
Burada;
u : dosyanın sahibi (user)
g : dosyanın sahibiyle aynı grupta olanlnar (group)
o : diğer kullanıcılar (others)
a : herkes (all)
+ : yetki ekleme
= : yetki eşitleme
- : yetki çıkarma
r : okuma yetkisi (read)
w : yazma yetkisi (write)
x : çalıştırma yetkisi (execute)
s : suid biti
t : sticky biti

Not : SUID - Bir program dosyasının SUID bitini set etmek (yani chmod +s prog gibi bir komut vermek), bu prog programını çalıştıran kullanıcıların, program çalıştığı sürece ve sadece bu program ile ilgili dosyalar açısından, program dosyasının sahibinin yetkilerine sahip olmalarını sağlar. Suid biti set edilmiş programlar emniyet açığına sebebiyet verebilir.
STICKY - Sticky set edilmiş programlar bir kez bellleğe yüklendikten sonra program çalışması bittiğinde bile bellekten atılmazlar. Artık sticky bit kavramı kullanılmamaktadır.

Örnekler :

chmod a+x adres : adres isimli program dosyasına herkes için çalıştırma yetkisi verir.

chmod o-w mhsb.z : mhsb.z dosyasından, diğer kullanıcıların yazma yetkisini kaldırır.

chmod go=rx adres : adres dosyasının grup ve diğerleri için erişim yetkisini r-x kalıbına eşitler.

chmod komutunun bir diğer formu da yetkilerin sayısal değer olarak gösterildiği formdur:
4 2 1 4 2 1 4 2 1
r w x r w x r w x
Owner Group Others
Örnek :
4 2 1 4 - 1 4 - 1
r w x r - x r - x
7 5 5

chmod 755 adres : adres dosyasının erişim yetkileri rwxr-xr-x olur.

chown komutu dosyaların/dizinlerin sahibini değiştirmekte kullanılır. Bu komutu sadece root kullanıcılar kullanabilir.
Erişim yetkileriyle ilgili olarak, zaman zaman dosya ve dizinlerin sahiplerinin değiştirilmesi gerekebilmektedir. Örneğin, root kullanıcı bir nedenle, bir kullanıcı dizininde bir dosya ya da dizin yaratırsa ve bu yeni yaratılan dosya/dizinin o kullanıcı tarafından tam yetkiyle kullanılmasını isterse, bunu sağlamanın en kolay yolu, bu yeni yaratılan dosya/dizinin sahibini o kullanıcı yapmaktır.
chown
Burada kullanıcı adı olarak sahibi olması istenen kullanıcının adını yazıyoruz. dosyaadı olarak ise eğer dosya bulunulan dizinde ise dosyanın adı eğer bulunulan dizinde değil ise dosyanın yolu(path) ile birlikte adını veriyoruz.
Örnek :
chown ersin /home/tumas/grib.txt

18 Mart 2008 Salı

UNIX İşletim Sistemi - 1

UNIX İşletim sisteminin en karakteristik özelliklerini kısaca şöyle sıralayabiliriz :

* UNIX ‘çok kullanıcılı’ bir işletim sistemidir. Kullanıldığı bilgisayarın bir
anda birden fazla kişi tarafından kullanılmasını; daha doğrusu
paylaşılmasını sağlayabilmektedir.
* UNIX ‘çok iş düzeni’ni sağlayan bir işletim sistemidir. Kullanıcıların,
herbirinin, aynı anda birden fazla iş yapmalarına olanak sağlar.
* UNIX, donanımdan bağımsızdır. Hangi bilgisayar üzerinde kullanılırsa
kullanılsın, kullanıcılarına göründüğü şekli aynıdır. Öğrenenler kalıcıdır.
* UNIX iyi tasarımlanmıştır. Teknolojideki gelişmelere kolaylıkla uyum
sağladığı ve sağlayacağı kanıtlanmıştır.
* UNIX, bir işletim sistemi standardı olarak kabul edilmiştir. Bu sayede
farklı marka ve model bilgisayarlar birbirleriyle uyumlu kılınabilmektedir.

UNIX işletim sistemine girişi login ve password yazarak yapıyoruz. Terminalden çıkarken ise mutlaka logout veya exit diyerek bağlantıyı kapatmamız gerekir.
Kullanıcı ile Unix işletim sistemi arasındaki tüm haberleşme kabuk (shell) programı aracılığıyla yürütülmektedir. Klavyeden yazacağınız her komut, kullanmakta olduğunuz kabuk programı tarafından yorumlanmaya çalışılacaktır. /bin/csh veya sadece csh komutu vererek C shell kabuğuna geçmeyi deneyiniz. Eğer bir hata mesajı alırsanız ve % karakteri ortaya çıkarsa bu işlemi başarmış demektir. eski kabuğa dönmek için Ctrl+D tuşlarına basmak veya exit yazmanız gerekir.
Unix işletim sistemi altında çalışan bilgisayarlarda çoklu kullanıcılık esası vardır. Bilgisayarı kullananları görmek için who komutunu kullanırız. Burada bilgisayarı kullanan kullanıcıları ve terminallerini görebiliriz. Bu kullanıcıların kendi isimleri dışında bir de root kullanıcı adıyla bağlana kullanıcı vardır. Bu sistem yöneticisidir ve sistemde herşeyi yapmaya yetkilidir. Eğer sisteme hangi kullanıcı adı ile giriş yaptığımızı öğrenmek istersek whoami komutunu komut satırına yazmalıyız.
Unix işletim sisteminde kullanıcılar arasında mail alışverişi yapılabilir. Mailin olup olmadığını anlamak için mail komutu yazılır.

Unix işletim sisteminde şifrenizi değiştirmek istiyorsanız passwd komutunu kullanmalısınız.
Unix işletim sistemindeki komutların işlevlerini öğrenmek için yardım dosyası gibi kullanabileceğiniz man komutu vardır. man yazarak yazdığınız komutun ne işe yaradığını öğrenebilirsiniz.
Unix Dosya Yapısı :
Unix işletim sisteminde tüm veriler, programlar, dosyalarda(file); dosyalarsa dizinlerde(directory)(klasör) gruplanmış olarak saklanır. İşletim sistemi dosya isimleri konusunda oldukça esnektir. Ms - Dos'daki gibi uzantı kavramı yoktur. Nokta (.)'nın herhangi bir anlamı yoktur. İsim içinde herhangi bir yerde kullanılabilir. dosya isimlerinde büyük küçük harf ayrımı vardır.
Unix işletim sisteminde her kullanıcının kenndisine ait bir kullanıcı dizini vardır. (home directory) Bu dizin, kullanıcının sisteme tanıtımı sırasında sistem yöneticisi tarafından yaratılır.
pwd komutunu yazarak o an çalıştığımız dizini görebiliriz.
Bulunduğunuz dizinde yer alan dosyaların listesini görmek için ls komutunu kullanmalısınız. ls komutu ms-dos'taki dir komutu gibidir. ls yazdığınız zaman çok açıklayıcı olmayabilir. Daha açıklayıcı bir liste için ls -F komutunu kullanmalısınız. Bu listede dizinler "/" karakteriyle kendini belli eder. Program veya komut dosyaları "*" ile belirlidir.
ls -l komutu ile dosya ve dizinler ayrıntılı olarak sıralanır. Bu komut ile ortaya çıkan listeyi anlamak oldukça önemlidir. Bu komutu yazıp çıkan listeden bir örnek vermek gerekirse:
-rwxr-xr-x 1 root 239783 Feb 09 13:34 kadb
-rwxr-xr-x : Bu satırın bir dosyayla ilgili olduğunu (-)'den anlıyoruz. Bu dosyanın sahibinin dosyada okuma(r), yazma(w), çalıştırma(x) yetkilerinin olduğunu, diğer kullanıcıların sadece okuma ve çalıştırma yetkilernin bulunduuğnu, dolayısıyla bu dosyanın bir program dosyası olduğunu anlıyoruz.
root : Bu dosyanın sahibinin root isimli kullanıcı olduğunu;
239783: Bu dosyanın uzunluğunun 239,783 byte olduğunu;
Feb 09 13:34 : Dosyanın en son 9 şubat saat 13:34'te değişikliğe uğradığını;
kadb : Dosyanın adının kadb olduğunu göstermektedir.
Dizinler içinse bu ls satırı biraz farklıdır:
drwxr-xr-x 20 root 512 Nov 23 16:08 usr
En baştaki d harfi, listenin bu satırının bir dizine ait olduğunu göstermektedir.
cat komutu : cat komutunun pek çok kullanım şekli vardır. cat şeklinde yazarsak, dosya adı adlı dosyanın içindeki bilgileri ekrana getirir. Yeni dosya yaratmak için cat > yeni_dosya formunu kullanırız. Kursor bir alta gelir. Yazdıklarımız yeni dosya adlı dosyanın içerisine yüklenir. dosyaya yazacaklarımız bitince imleç satır başında iken Ctrl+D'ye basılarak komut yazma satırına geri döneriz. Dosya adı verirken dizin belirtmediğimiz için yeni_dosya adlı dosya direkt olarak çalıştığımız dizinde oluşur. cat yeni_dosya yazarsak ekrana yeni dosya içine yazdığımız bilgiler gelir. cat komutunu değişik şekillerde de kullanabiliriz. cat >> yeni_dosya yazacağımız satırlar yeni_dosya dosyasına eklenecektir. cat yeni_dosya yazdığımız zaman dosyanıon içine eklediğimiz satırlar görülecektir.
cp komutu ile kopyalama yapabiliriz. Bu komutun kullanımının pek çok değişik şekli vardır.
cp dosya_adi_1 dosya_adi_2
dosya_adi_1 isimli dosyayı dosya_adi_2 isimli dosyaya kopyalayacaktır. Eğer dosya_adi_2 isimli dosya yoksa, yaratacaktır. Eğer bu isimde bir dosya varsa, üzerine kopyalama yapılacak ve eski içeriği bozulacaktır.
cp dosya_adi dizin_adi
dosya_adi adli dosyayi dizin_adi isimli dizinin altına kopyalar. Eğer dizin veya dosya yoksa ve o dosya veya dizin içerisine kopyalamayı düşünüyorsak, önce o dosya veya dizini oluşturur, arkasından kopyalar. Dizin kopyalamak için de cp komutu kullanılır ancak özel bir parametresi vardır:
cp -r dizin1 dizin2
bu form ile dizinler alt dizinleriyle birlikte kopyalanır.
Dizin yaratma: Dizin yaratmak için mkdir komutu kullanılır.
mkdir dizin_adi
Dosya silme : Dosyaları silmek için rm komutu kullanılır.
rm dosya_adi
Eğer dosyaları silmeden önce onaylamak istiyorsak -i parametresini kullanmalıyız.
rm -i /dizin1/dosya1 /baska_dizin/dosya2
Dizin silme : dizin silme işlemi için kullanılacak komut rm -r dizin şeklindedir.
Dosya/dizin adı değiştirme : Bu iş için kullanılacak komut mv(move) komutudur.
mv eski_dosya_adi yeni_dosya_adi
mv eski_dizin_adi yeni_dizin_adi
Dosya/Diziğn yeri değiştirme : Bunun için kullanılacak komut yine mv'dır.
mv eskiyeri/dosya yeniyeri/dosya
Dizin yeri değiştirmek için -R parametresi kullanılır.
mv -R eskiyeri/dizin yeniyeri/dizin
Çalışma dizini değiştirme : Bunun için cd komutu kullanılır.
cd yeni_calisma_dizini