[1]
LİNUX DOSYA/KLASÖR İZİNLERİ
-a : Tüm dosyaları listelemek için kullanılır. Linux işletim sisteminde isimleri nokta ile başlayan dosyalar gizli dosyalar olarak kabul edilir ve varsayılan olarak ls çıktısında gözükmezler. Bu dosyalarında ls çıktısında gözükmesini sağlamak için -a parametresi kullanılmalıdır.
-l : Ls çıktısını liste olarak listeler , ayrıca dosya ve dizinler hakkında izin, sahip, boyut, en son ne zaman güncellendiği gibi bilgileri de kullanıcıya belirtir.
-p : Dizinlere / belirteci ekler.
Dosya/Klasör İzin Gösterimi
[2]
Dosya İzinleri
• Tüm dosyalara erişim izni root kullanıcısınındır.
• Temel olarak dosya izin hakları (yetkilendirme) 3 bölüme ayrılır.
• Dosya hakları;
u : Sahibi (user) g : Grubu (grup) o : Diğerleri (others) a : Herkes (all)
Dosya İzin Kaynakları
Temel 3 kaynak vardır.
• r okuma (read) • w yazma (write)
• x çalıştırma (execute)
Bütün dosyalar için erişim yetkilerini değiştiren komut (change mod) chmod ‘dur.
chmod parametreler dosya/dizin
chmod [ugoa] [ + = - } [ r w x } dosya_adi
+ : yetki ekleme
= : yetki eşitleme - : yetki çıkarma
[3]
Herkese okuma izni vermek chmod +r dosya Dosya sahibine tüm izinler chmod u+rwx dosya Diğer kullanıcıların yazma ve çalıştırma
izinlerini kaldırmak
chmod o-wx dosya Dosya sahibine tüm izinler, gruba
okuma,yazma ve diğer kullanıcılara okuma izni vermek
chmod u+rwx , g+rw , o+r dosya
Dosya Hak ve Yetkileri
[4]
Dosya İzin Örnekleri
Örnek: Deneme1 dosyasına tüm kullanıcılara çalıştırma yetkisi verelim.
chmod a+x deneme1
chmod komutu ile yetki değişikliliğini sayısal değer ile de yapabilirsiniz.
r : 4 , w: 2 , x: 1 olmak üzere ;
- Kullanıcıya tüm izinler : rwx ; 4+2+1 = 7 - Okuma yazma : rw ; 4+2 = 6
- Okuma çalıştırma: rx ; 4+1 = 5 - Hiç hak verilmemesi 0
Örnek: Dosya sahibine tüm yetkileri, gruptaki ve diğer kullanıcılara okuma ve çalıştırma yetkisi vermek için,
[5]
chmod 755 dosya_adi
Örnekler:
• chmod 700 deneme.txt
deneme dosyasının sahibine okuma, yazma ve çalıştırma izni verilmiştir.
• chmod 050 deneme.txt
deneme dosyası grubuna okuma ve çalıştırma izni verilmiştir.
• chmod 653 deneme.txt
deneme dosyası sahibine okuma, yazma, grubuna okuma, çalıştırma, ile diğerlerine yazma ve çalıştırma izinleri verilmiştir.
Dosya izin listesi bir örnek;
~$ ls –l
drwxrw-r-- DeneDizini -rwxrw-r-- deneme.txt
En baştaki d bir dizin(klasör) olduğunu belirtir.
d | rwx | rw- | r - -
dizin | u | g | o
u sahibi (user), g grubu(grup), o diğer(other)
chmod kullanımı
[6]
u + r sahibine okuma izni ekler.
g = r grubunun izinlerini siler ve salt okunur.
o - r diğerlerinden okuma iznini kaldırır.
+ ekler, - çıkarır, = değiştirir
• chmod 754 deneme.txt
veya
• chmod u+rwx, go+r, g+x deneme.txt
Her iki yazım şeklinde de dosya Sahibine okuma, yazma ve çalıştırma;
Grup ve diğerlerine okuma, Gruba çalıştırma izini verilmektedir.
Sonuç olarak aşağıdaki gibi görüntülenir;
ls –l
-rwxr-xr-- deneme.txt
Dosya/Dizin Sahipliğini Değiştirme
• chgrp komutu dosya/dizin ilişkili grubun sahipliği değiştirir.
(dosyanın grubunu değiştirir.)
chgrp grup_adi dosya/dizin_adi
[7]
PAKET YÖNETİCİLERİ
Açık kaynak kodlu işletim sistemlerinde kurulum sırasında yüklenmemiş, birçok programın yanı sıra sistemle uyumlu uygulamalar da İnternet ortamından edinilerek sisteme yüklenebilir. Örneğin RedHat tabanlı sistemlerde (RedHat, Mandrake, Gelecek vb.) program ekleme, kaldırma ve güncelleme işlemleri için RPM, DPKG ve Portage gibi paket yöneticileri kullanılmaktadır.
Paket ve Yönetim Sistemleri
• Paket: Bir uygulamayı ya da işletim sisteminin bir parçasını, tüm bileşenleriyle toplu olarak ifade eden kavramdır. Örneğin, gelişmiş bir resim işleme programı olan gimp ya da yazıcılarla ilgili sürücülerin bulunduğu foomatic-db birer pakettir. Bu paketleri kurup kaldırmak, çeşitli kaynaklardan temin etmek, sorgulamak ve sistemdeki değişiklikleri takip etmek için paket yöneticisi adını verdiğimiz uygulamaya ihtiyaç vardır.
• Paket Yönetim Sistemi (Paket Yöneticisi): Paketin kurulması, yapılandırılması, güncellenmesi, kaldırılması gibi işlemleri yapmak için kullanılan yazılıma denilmektedir.
Popüler Paketler
• deb (Debian)
• rpm (Red Hat)
• dpkg (Debian)
• ebuild (Gentoo)
• slackpkg/slapt-get (Slackware)
• PISI (Pardus – Pisi Linux)
• pup/pet (Puppy)
• apk (Android – Alpin)
• snap/snappy (develop ubuntu)
[8]
Popüler Paket Yönetim Sistemleri (Terminal)
• apt (Advanced Package Tool) Gelişmiş Paketleme Aracı
• yum (Yellow Dog Updater, Modified) Sarı Köpek Güncelleyici, Modifiye
• dnf (Dandified Yum)
• dpkg (Debian Package Management System)
• zypp (zypper)
• pacman (package manager)
• portage (portage project)
• entropy (portage binary)
[9]
apt
• apt-get update
Linux sistemimizin kendisini güncellemek için bir merkeze bakıp, kontrol yapmaya ihtiyacı vardır. Bu listelerin bakılacağı yerler
/etc/apt/sources.list
dosyasında tutulur. Kısaca hangi paket depolarına bakılacağı buraya kaydedilir. apt-get update komutu ile burada yer alan paket depolarına bakılır. Depo ile sistemde bulunan paket versiyonlarına göre listeyi günceller, herhangi bir indirme yada kurma yapmaz.
• apt-get upgrade
Sisteminizde kurulu olan paketlerin hepsini, apt-get update komutu ile güncellediğiniz listede bulunan en son sürüme yükseltir. Burada dikkat edilmesi gereken nokta kurulu olan paketler üzerinde güncelleme işlemi yapıldığıdır.
• apt dist-upgrade
Bu komut için, apt sistemindeki en fazla yetkiye sahip komut denilebilir.
Mevcut paketlerin güncellenmesi, sistemde olmayan yeni bağımlılıkların kurulması, gerek kalmayan bağımlılıkların silinmesi ve sorunlu olan bağımlılıkların çözümü ve sisteminizin güncel kernel sürümüne yükseltilmesi işlemlerini yapar.
Paket depolarının listesi
# cat /etc/apt/sources.list
Bir paketin yüklü olup olmadığını anlamak
# dpkg -s firefox
[10]
Sisteminizde yüklü tüm paketleri listelemek
# dpkg --get-selections
İstenirse, dpkg komutu grep filtresiyle istenilen paketler için özelleştirilerek kullanılabilir. Sözgelimi, sistemde yüklü olan gcc paketlerinin görülmek istendiğini varsayalım:
#dpkg --get-selections | grep gcc
Örnek:
Pardus’ta htop adlı uygulamayı yüklemek için;
# sudo apt-get install htop (kurmak için)
# sudo apt-get remove htop (kaldırmak için)
İşlem Komut
Paket kurmak sudo apt-get install paket_adı
Birden çok paket kurmak
sudo apt-get install paket1 paket2 paket3 paket4 sudo apt-get install gimp vlc kolourpaint4
smplayer chromium-browser
Kurulu bir paketi kaldırmak sudo apt-get remove paket_adı
Kurulu bir paketi yapılandırma dosyaları
ile beraber kaldırmak (açıklama [1]) sudo apt-get purge paket_adı
Kullanılmayan tüm bağımlılık paketlerini
kaldır sudo apt-get autoremove
Paket listelerini güncellemek
(açıklama [2]) sudo apt-get update
Kurulu tüm paketleri güncellemek sudo apt-get upgrade
Tüm sistemi yükseltmek sudo apt-get dist-upgrade
Yeni depo eklemek sudo add-apt-repository yeni_deponun_PPA_adresi
Program aramak sudo apt-cache search paket_adı
Program hakkında bilgi almak sudo apt-cache show paket_adı
[11]
Sistemde
/var/cache/apt/archives/
dizininde tutulan paketleri silmek (açıklama [3])
sudo apt-get clean
Apt komutları hakkında yardım apt-get help
Açıklamalar
• [1] purge komutu sadece bazı yapılandırma dosyalarını siler. Bu komutun, program ile ilgili her türlü kalıntıyı sileceği anlaşılmamalıdır. Örneğin kullanıcı ev dizini içinde, programa ait kullanıcı ayar dosyalarını silmez. Ayrıca artık kullanılmayan bağımlılıkları da silmez. Sistemdeki gereksiz bağımlılık dosyalarının temizlenmesi için yukarıda da belirtildiği gibi sudo apt-get autoremove komutu kullanılabilir.
purge işlemi istenirse Synaptic Paket Yöneticisi’nde “Tamamen kaldır” seçeneği kullanılarak grafik arayüz üzerinden de gerçekleştirilebilir.
• [2] APT paket içeriği /etc/apt/sources.list dosyasında tanımlıdır. Tüm depo ekleme, düzenleme vb.
değişikliklikleden sonra alttaki komut yardımıyla söz konusu veritabanı güncellenmelidir.
• [3] Sisteme tanımlı paket depoları üzerinden indirilen paketlerin .deb uzantılı kurulum dosyaları /var/cache/apt/archives/ dizini altında arşivlenmektedir. Paket depoları üzerinden bir program kurmak istediğinizde apt-get önce bu dizini tarar eğer söz konusu paketi burada bulursa internetten indirmek yerine bu kurulum dosyasını kullanır.
LAMP Server Kurulumu (Ubuntu)
LAMP(Linux-Apache-MySQL-PHP), Linux’ta PHP ve MySQL uygulamalarını geliştirmek için kurulması gereken paket yazılımı. Bu paketleri ayrı ayrı kurabileceğimiz gibi, toplu halde kurmak için;
# sudo apt-get install lamp-server^
[12]
PHP MyAdmin Kurulumu (Ubuntu)
# sudo apt-get install phpmyadmin
Kurulum tamamlandıktan sonra terminal ekranından, pico metin düzenleme editörü kullanarak;
# sudo pico /etc/apache2/apache2.conf
dosyasını açıp sayfanın sonuna aşağıdaki satırı ekleyin.
Include /etc/phpmyadmin/apache.conf
ve son olarak Apache’yiyeniden başlatın.
# sudo /etc/init.d/apache2 restart
[13]
KULLANICI VE GRUP YÖNETİMİ
Kullanıcı Hesabı
Bir bilgisayar, farklı kişiler tarafından ortak kullanıldığı durumlarda her kullanıcı, işletim sisteminde kendisine özel dosyalar ve programlar ile bilgisayarı kendi ihtiyaçları doğrultusunda kişisel hâle getirebilir. Bunun için kullanıcı adına işletim sisteminde hesap açılır. Bu hesap; kullanıcının ismini, dosyalarını, kaynaklarını, haklarını ve ona ait her şeyi temsil eder.
Linux sistemlerde dosya ve dizinlere erişim sağlayarak bunlar üzerinde işlem yapmak için kullanıcı haklarına gereksinim vardır. Açık kaynak işletim sisteminin en önemli özelliklerinden birisi de her dosya için dosya sahibine, diğer kullanıcılara ve gruplara göre okuma, yazma ve çalıştırma haklarının belirlenebilir olmasıdır.
Sistem Yöneticisi
Çok kullanıcılı işletim sistemlerinde, işletim sistemi üzerinde tüm yetki ve haklara sahip bir yönetici kullanıcısı vardır. Linux işletim sistemlerinde, sistem yöneticisi "root" olarak isimlendirilmiştir.
Root hesabı, sistem üzerindeki tüm dosyalar, dizinler ve kullanıcılar üzerinde her türlü değişikliği yapmaya yetkili olduğundan hesabın güvenliği sistem güvenliği açısından çok önemlidir.
Bilgisayarınızı tek kullanıcı olarak kullanacak olsanız da sistem güvenliğiniz için root kullanıcısıyla değil, normal bir kullanıcı ile oturum açmanız önerilir.
Kullanıcı Hesaplarının Tutulması
Linux sistemlerde kullanıcı hesap bilgileri,
/etc/passwd dosyasında tutulur.
Eğer şifreleme olarak “gölge parola” (shadowing) seçilmişse şifreler ayrı olarak /etc/shadow dosyasında tutulur. Gölge parola, sonradan Linux sistemlere eklenmiş bir özelliktir. Sistem girişinde, kullanıcı hesap bilgilerinin
[14]
okunması gerektiğinden, “passwd” dosyası herkes tarafından okunabilir (chmod 644) olmalıdır.
Passwd dosyası üzerinde, root kullancısı okuma ve yazma haklarına sahipken, grup kullanıcıları ve diğer kullanıcılar sadece okuma hakkına sahiptir.
Gölge parola kullanılmadığı durumlarda, şifreler de bu dosyada tutulacağı için kodlanmış da olsa şifreler herkes tarafından görülecek, bu da güvenlik açısından sorun yaratacaktır. Gölge parola kullanıldığı durumlarda “shadow”
dosyası, girilen şifrelerin kontrolü için sadece root kullanıcısı tarafından erişilebilir (chmod 600) durumda olur.
Shadow dosyasının özelliklerine bakıldığında yalnızca sistem yöneticisinin okuma ve yazma hakkının olduğunu görüyoruz.
Linux sistemlerde iki tip kullanıcı hesabından söz edebiliriz. Birincisi, bilgisayarı kullanan kişiler tarafından açılan kişisel kullanıcı hesapları; ikincisi ise özel görevler için uygulamalar tarafından açılan, mantıksal kullanıcı hesaplarıdır.
Kullanıcı;
– Eklemek – Silmek
– Parola değiştirmek – Bilgilerini değiştirmek – Kullanıcılar arası geçiş
– Dosya/Klasör sahipliği değiştirmek
Grup;
– Oluşturmak – Silmek
– Kullanıcı eklemek – Kullanıcı çıkarmak – Bilgi değiştirmek
– Dosya/Klasör grubunu değiştirmek
[15]
Kullanıcılar
---
Komutlar; İşlevler;
# adduser Yeni Kullanıcı Eklemek
# userdel Kullanıcıyı Silmek
# passwd Kullanıcının Parolasını Değiştirmek
# chfn Kullanıcının Bilgilerini Değiştirmek
# su Kullanıcılar Arası Geçiş Yapmak
# chown Dosya/Klasör Sahipliğini Değiştirmek
Linux sistemlerde erişim yetkileri ve hakları yönünden farklı kullanıcılar oluşturulabilir. Kullanıcı işlemleri yalnızca sistem yöneticisi haklarıyla yapılabilir. Bunun için komut satırında root parolasıyla oturum açılmalıdır.
Sistem yöneticisi haklarına erişmek için su komutu ile etkin kullanıcıya root hakları verilebilir.
su komutu sonrası root parolası sorulur ve root hakları ile konsolda oturum açılmış olur.
• Bu esnada parola girişinde ekranda karakter görülmez.
• Etkin kullanıcının dışında farklı bir kullanıcıyla oturum açmak için ise su farklı_kullanıcı komutu kullanılır. Kullanıcının parolası girilir. Root kullanıcısıyla işleriniz bittikten sonra, kendi kullanıcınıza dönmek için exit komutu kullanılır.
Kullanıcı Oturumu
Sistemde işlem yapmak için tanımlı olan kullanıcının kullanıcı adı ve parolası ile sistemde oturum açmış olması gerekir. Kullanıcı oturum açtığında hesabına tanımlı olan yetki ve haklar dâhilinde işlemler yapabilir.
• Linux'ta root hesabı ile grafik ortamda oturum açılamaz, sistem yöneticisi haklarına ihtiyaç olduğunda parola istenir. Bu sistem güvenliği için alınmış bir önlemdir.
[16]
• Sistemde çalışılırken sadece bir kullanıcı etkin olabilirken birden çok kullanıcı bilgisayarda oturum açmış olabilir.
• Kullanıcı Eklemek
# adduser kullanıcı_adı Şeklinde kullanılmaktadır
• Kullanıcı Silmek
# userdel kullanıcı_adı ( -r: Home klasörünü de siler.) Şeklinde kullanılmaktadır.
[17]
• Parola Değiştirmek
# passwd kullanıcı_adı Şeklinde kullanılmaktadır.
• Bilgileri Değiştirmek
# chfn kullanıcı_adı Şeklinde kullanılmaktadır.
• Kullanıcı Değiştirmek
# su kullanıcı_adı Şeklinde kullanılmaktadır.
[18]
• Dosya/Klasör Sahipliğini Değiştirmek
# chown kullanıcı_adı dosya_adı
# chown kullanıcı_adı klasör_adı Şeklinde kullanılmaktadır.
• Kullanıcı İlkelerini Değiştirmek
# chage kullanıcı_adı ( -l: Listeler.) Şeklinde kullanılır.
[19]
Gruplar
---
Komutlar; İşlevler;
# groupadd Yeni Grup Oluşturmak
# groupdel Grup Silmek
# gpasswd -a Kullanıcıyı Gruba Eklemek
# gpasswd -d Kullanıcıyı Gruptan Çıkarmak
# groupmod Grup Bilgilerini Değiştirmek
# chgrp Dosya/Klasör Grubunu Değiştirmek
• Grup Oluşturmak
# groupadd grup_adı Şeklinde kullanılır.
• Grup Silmek
# groupdel grup_adı Şeklinde kullanılır.
• Gruba Kullanıcı Eklemek
# gpasswd -a kullanıcı_adı grup_adı Şeklinde kullanılmaktadır.
[20]
• Grubtan Kullanıcı Çıkarmak
# gpasswd -d kullanıcı_adı grup_adı Şeklinde kullanılmaktadır.
• Grup Bilgilerini Değiştirmek
# groupmod -g -n -p grup_adı (g:Grup_ID, n:YeniAdı, p:Parola) Şeklinde kullanılmaktadır.
• Dosya/Klasör Grubunu Değiştirmek
# chgrp grup_adı dosya_adı
# chgrp grup_adı klasör_adı Şeklinde kullanılmaktadır.
[21]
• Gruba Parola Vermek
# gpasswd grup_adı
# gpasswd -r grup_adı [-r: Parolayı kaldırır]
Şeklinde kullanılır.
• Kullanıcının Üyesi Olduğu Grupları Listelemek
• Bir Grubun Kullanıcılarını Listelemek
[22]
SSH Server Kurulumu
SSH (SecureShell), ağ üzerinden uzaktaki bir makineye erişip yönetebilmemizi sağlayan bir protokoldür. SSH’de iki makine arasındaki iletişim şifreli olarak gerçekleştirilir. TCP/22. port üzerinden haberleşir.
# sudo apt-get install openssh-server
# ssh username@IPadress
• SSH Portunu Değiştirmek
# sudo pico /etc/ssh/sshd_config
dosyasını açıp Port 22 yazan satırda, 22 değerini boş olan bir port numarasıyla değiştirin.
# sudo /etc/init.d/ssh restart
komutuyla servisi yeniden başlattıktan sonra port numarası değişmiş olacaktır.
# ssh username@Ipadress -p PortNo
[23]
KAYNAKLAR :
http://www.belgeler.org/lis/archive-tlkg-lis.html http://www.muratkara.com/linux/
http://www.muratyazici.com/ders-notlari/acik-kaynak-isletim-sistemi https://forum.pardus.org.tr/t/synaptic-paket-yoneticisi-nedir-arsiv/223 https://linuxconfig.org/identifying-file-types-in-linux
https://www.linux.com/tutorials/file-types-linuxunix-explained-detail/
http://www.megep.meb.gov.tr/?page=moduller