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

Hiç yorum yok: