1 Linux Sistem Yönetimi II



Benzer belgeler
Linux altında komut satırında...

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur.

Linux Dosya ve Dizin Yapısı

Kullanıcı ve Grupların yönetimi

AÇIK KAYNAK İŞLETİM SİSTEMLERİ - BÖLÜM 1. Temel komutlar,dosya ve Dizin İşlemleri, Kullanıcı ve Grup İşlemleri

Yrd. Doç. Dr. A. Burak İNNER

Dosya/Dizin İzinleri. Okuma (r) Yazma (w) Çalıştırma (x) Dosya içeriğini görebilir mi? (Klasörler için) dosya listesini alabilir mi?

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Komut Penceresi ile Çalışmaya Başlamak

Module 2 Managing User And Computer accounts

man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.)

Sun Solaris ve RBAC ( Role Based Access Control List)

HIZLI KULLANMA KLAVUZU

CHAPTER 3. ZAMANLANMIŞ GÖREVLER (Automated Tasks)

SQL Uyarı Programı Kurulum ve Kullanımı

Tarih: 2 Ağustos 2018 Son versiyon: 1.8. EndNote X9 Windows Multi/Site kurulum talimatları

YILDIZ TEKNİK ÜNİVERSİTESİ

Windows 2000 veya XP kurarken dosya sistemini seçmeniz gerekir. Ya FAT32 dosya sistemini kullanırsınız ya da NTFS.

YEDEKLEME PROGRAMI KURULUM VE KULLANIMI

E-Posta Yönetimi. E-Posta Açma, Silme ve Yönetim Kılavuzu

MERSİS UYGULAMA KULLANICISI YARDIM REHBERİ KAYIT VE GİRİŞ İŞLEMLERİ GÜMRÜK VE TİCARET BAKANLIĞI MERSİS UYGULAMASI

2014 PROGRAMININ AUTODESK SİTESİNDEN İNDİRİLMESİ

BİLGİ İŞLEM DERS 3. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

IPACK LADDER. Arayüz Dökümantasyonu

Kabuk Programlama (Bash)

T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi. ÖĞRETiM ELEMANI KULLANIM KILAVUZU

NPratik Yazılım Kurulum Kılavuzu. Yedekleme İşlemi

Ecat 8. Hakbim Bilgi İşlem A.Ş. Versiyon

İMAGE (SİSTEM GÖRÜNTÜSÜ) ALMA VE YÜKLEME NASIL YAPILIR. İmage nedir?

Paylaşmak istediğiniz dosyalarınızı veya klasörlerinizi işaretledikten sonra tıklayarak paylaşımdaki bir sonraki aşamaya geçebilirsiniz.

ZİRVEDRİVEWEB YAZILIMI KULLANIM KILAVUZU

Temel Linux Eğitimi 1., 2. ve 3. Bölümler

ecyber Kullanıcı Kılavuzu 1 / 1 1. ecyber hakkında Sistem gereksinimleri:... 2 Donanım:... 2 Yazılım: Kullanım Rehberi...

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : Tarih : Copyright 2008 AKINSOFT

Ekrana gelen diyalog penceresinden Typical radyo düğmesi seçilir ve Next düğmesine basılır.

LİNUX. Dosyalar ve dizinler

Sol tarafta yer alan Click here to activate your account linkini seçiniz.

Uzaktan Kurulum Kılavuzu

ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU

Kurumsal Grup E-Posta Eğitim Dokümanı

Pardus ta Komutlarla Çalışmak

İZMİR EKONOMİ ÜNİVERSİTESİ MERKEZİ DİSK SİSTEMİ KULLANIMI

Avrupa Komisyonu Kimlik Tanımlama Sistemi (ECAS) ile Kayıt İşlemi Unutulan şifre Ad-soyad veya e-posta adresi değiştirme 8

Oluşturmak istediğimiz OU ye bir isim veriyoruz. Name kısmına ISTANBUL yazıyoruz,

19. Ulusal Ortaokul Matematik Olimpiyatı ve 22. Ulusal Bilim Olimpiyatları. Anadolu Üniversitesi Sınav Hizmetleri Sınav Kılavuzu

1. TANIMLAR 1.1 Laboratuvarım

Widows un çalışmasında birinci sırada önem taşıyan dosyalardan biriside Registry olarak bilinen kayıt veri tabanıdır.

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)

E-Posta Hesabı Oluşturma

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Kets DocPlace LOGO Entegrasyonu

Admin Panel Kullanım Klavuzu

BİLGİSAYAR PROGRAMLAMA. Yrd. Doç. Dr. Beytullah EREN

FreeBSD Erişim Kontrol Listeleri

VISUAL BASIC DE İŞLETİM SİSTEMİ DENETİM KOMUTLARI VE FONKSİYONLARI

ŞİFRE SIFIRLAMA SEÇENEKLERİNİ DÜZENLEME

İdari Birimler Yönetim Paneli Kullanma Kılavuzu Bilgi İşlem Daire Başkanlığı Web Tasarım Ve Yazılım Birimi

Yrd. Doç. Dr. A. Burak İNNER

Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır.

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

E-Birlik İhracat. Basitleştirilmiş Gümrük Hattı. Uygulaması - KULLANICI KILAVUZU -

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

MATRİKS VERİ TERMİNALİ GELİŞMİŞ ALARM

ZİRVEDRİVE IOS YAZILIMI KULLANIM KILAVUZU

Linux Ubuntu Kurulumu

MİLLİ EĞİTİM BAKANLIĞI YENİ EPOSTA SİSTEMİ HAKKINDA MEB

AEGEE-Eskişehir Online Web Yönetim Paneli ( WEBBY ) Yardım Dökümanı

OKUL HABER EKLEME MODÜLÜ TANITIM DOSYASI. Okul haberlerinizi ilçemiz web sitesinde yayınlayabilmek için aşağıdaki adımları uygulamanız gerekmektedir.

EBA Dosya Uygulaması Kullanıcı Kılavuzu ( W eb)

Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz.

Temel Linux Eğitimi. İçindekiler

Control-Panel>User Accounts

Tedarikçi Portalı, sitede bulunan tedarikçiye ait ürünlerin verilen yetkiler dahilinde tedarikçiye kullanım hakkı tanıyan bir portaldır.

LİGHTKOD SETUP MAKER KULLANIMI 1- Giriş Programı yükledikten sonra Setup Maker programını açtığımızda aşağıdaki pencereyi görürüz. Burada 1.

İŞLEM COĞRAFİ BİLGİ SİSTEMLERİ MÜHENDİSLİK VE EĞİTİM LTD. ŞTİ. ArcGIS 10.1 Desktop Ücretsiz Deneme Lisanslaması

INTERNET BAĞLANTISININ KURULMASI İÇİN GEREKLİ YÖNLENDİRİCİ AYARLARI

DENEME SINAVI CEVAP ANAHTARI

Windows Grup İlkesi Düzenleyici

MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu

Doğru Adaptor soket kutuplaması.

OTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek.

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos

TecCom TecLocal Programı Kurulum ve Yapılandırma Rehberi

MATLAB KURULUM KILAVUZU

TAKSİ-DURAK MÜŞTERİ TAKİP PROGRAMI

KANTAR UYGULAMASI Kurulum Kılavuzu

Smartnet PRO-W Kullanım Kılavuzu

LMS PC aracı ACS420. LMS parametre ayarlarının yapılması için PC yazılımı. Kurlum ve çalıştırma talimatları

ÇANKRI KARATEKİN ÜNİVERSİTESİ

Yönetim Anasayfa : Tanımlar : Parametreler : Seo yolu izlenerek dinamik seo modülüne erişebilirsiniz.

TOP 20. Bu kısım en çok dinlenen eserlerin günlük veya haftalık olarak değiştirilmesine olanak verir.

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU

MyEnglishLab Online Kayıt Kılavuzu 2011

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

Tavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi olmak. Hedefler Temel veritabanı güvenlik işlemlerini gerçekleştirebilmek

Home ile ilk defa her yetkiye sahip Computer Administrator ve kısıtlı yetkilere sahip Limited Users (sınırlı kullanıcılar) ile tanışıyoruz.

UZAKTAN EĞİTİM SİSTEMİ ÖĞRENCİ EKRANLARI KULLANIM KILAVUZU

1. Başlarken. 1.1 Güvenlik Önlemleri. 1.2 Sistem Gereksinimleri. 1.3 Paket İçeriği

Transkript:

1 Linux Sistem Yönetimi II 1.1 Init Deamon Init deamon genellikle Linux çekirdeğinin boot edilmesi aşamasındaki son adımı oluşturur. Linux deamon ları içinde en önemlilerinden birisidir, bunun sebebi de sistemin yeniden yüklenmesi için süreçleri başlatmasıdır. Linux kapatılana kadar görevine devam eder. Linux sistemini daha iyi anlayabilmek ve yönetebilmek için init in ne yaptığını ve işletim sistemini nasıl kontrol ettiğini iyi bilmek gerekir. Hem init hemde telinit, görevlerini yapabilmeleri için birkaç konfigürasyon dosyasını kullanırlar. Bu kısımda bu dosyaları inceleyeceğiz. Bu dosyalar terminallerin ve konsol oturumlarının açılıp kapanması esnasında devreye girerler. init programı genellikle /bin klasöründe tutulur (bazı versiyonlarda /sbin de) konfigürasyon dosyaları ise daima /etc klasöründe tutulur. init deamon çalıştırıldığında /etc/inittab dosyasından bir takım talimatlar okur (bu talimatlar genellikle linux tarafından kullanılan terminaller ve diğer süreçler için getty sürecini başlatmak için kullanılır). Bir çalışma düzeyi (run level); Sistem yönetimi için gerekli olan asgari bir seviyeden tüm konfigüre edilmiş araçları destekleyen azami bir işletim sistemi seviyesine kadar değişen özel bir süreç kümesidir. Çalışma düzeyleri 0 dan 6 ya kadar numaralandırılmıştır, ilave bir super user seviyesi s olarak tanımlanmıştır. Init deamon u hangi sürecin hangi çalışma düzeyi ile ilgili olduğunu /etc/inittab dosyasındaki bilgilerle bilir. s çalışma düzeyinde (tek kullanıcılık) /etc/inittab /bin/su yerine devreye girer. (/dev/console tarafından tanımlanan sistem konsolu için). En yaygın çalışma düzeyleri aşağıda verilmiştir: Run level 0: Sistemi durdurmak veya kapatmak için kullanılır. Run level 1: Sistemi tek kullanıcılı mod`a indirger. Run level 2: Çok kullanıcılı mod. Run level 3: Ağ destekli, çok kullanıcılı mod. Run level 6: Sistemi reboot etmek için kullanılır. Çalışma düzeyleri 0, 1 ve 6 rezerve edilmiştir. Sistemin çalışma seviyesi, bu seviyeyi etkileyen komutlara erişebilen kullanıcı tarafından değiştirilebilir. Bu erişim sistem yöneticisi tarafından genellikle engellenmiştir ve telinit utility kullanılarak çalışma düzeyi değiştirilebilir : $ telinit t5 3 Çalışma düzeyini 5 saniye sonra 3 düzeyine değiştirir. Eğer zaman verilmezse 20 sn kullanılır. Çalışma düzeyi değiştirildiğinde, init SIGTERM uyarısı sinyalini yeni çalışma seviyesi ile çalışmayan tüm süreçlere yollar. Sinyal yollandıktan sonra tanımlanan süre kadar beklenir (default 20 sn) daha sonra süreçler cebren yok edilir.

/etc/inittab Dosyası /etc/inittab dosyası init deamon ile yakın ilişki içindedir. Sisteminizdeki /etc/inittab dosyasına bakarak, Linux un açılması esnasında hangi çalışma seviyelerinin devreye girdiğini ve hangi süreçlerin başladığını görünüz. /etc/inittab dosyasındaki her satır spesifik bir formatı takip eder. ID:runlevel:action:process ID bir veya iki karakter string e sahip ve girişi tek olarak tanımlayan bir kimlik karakter setidir. Çoğu durumlarda, bu string tty1 için bir, tty2 için 2 ve benzeri gibi cihaz adına karşılık gelir çalışma seviyesi, bu satırların hangi çalışma seviyelerinin uygulanabileceğine karar verir. Örnek : /etc/inittab dosyasında ilk kısım kimlik ve benimsenmiş çalışma düzeyini verir, bu örnekte seviye 5 dir. id:5:initdefault: Sonraki kısım sistemdeki başlatma sürecini, /etc/rc.d klasöründeki dosyalar aracılığıyla devreye sokar: su:s:sysinit:/etc/rc.d/rc.s Sonraki kısım /etc/rc.d/rc.k dosyasına yönlendirir (Bu dosya sisteme tek kullanıcı çalışma seviyesinde girildiğinde kullanılır) su:s:wait:/etc/rc.d/rc.k Sonraki satır /etc/rc.d/rc.m dosyasına yönlendirir çok kullanıcılı seviyede sistem başladığında devreye girer. rc:123456:wait:/etc/rc.d/rc.m En yaygın çalışma seviyesi 5 olup Linux un çok kullanılıcı modundaki normal operasyon seviyesidir. Bu nedenle kulanım için çalışma düzeyi beş ve superuser için s seviyesi kullanılır. Linux, PC makinelerde çalıştığından dolayı, three-fingered-salute veya Ctrl+Alt+Delete dizisini destekler. Bu dizi genellikle UNIX sistemlerinde desteklenmez bu nedenle özel bir talimat /etc/inittab dosyasındaki diziye kopyalanır. ca::ctrlaltdel:/sbin/shutdown t3 rf now böylelikle Ctrl+Alt+Del dizisi uygulandığında sistem aşağıdaki satırların sonuna kadarki komutlarla kapatılmaya başlanır. /etc/inittab dosyası, bu durumda sistemdeki sanal terminal ve her terminal için getty sürecini başlatmak için bir talimat tutar. Aşağıdaki /etc/inittab dosyası 6 sanal terminal (tty1 den tty6 ya kadar) ve iki veri hattı (ttys0 ve ttys1) başlatır. c1:12345:respawn:/sbin/agetty 38400 tty1 c2:12345:respawn:/sbin/agetty 38400 tty2 c3: 45:respawn:/sbin/agetty 38400 tty3 c4: 45:respawn:/sbin/agetty 38400 tty4 c5: 45:respawn:/sbin/agetty 38400 tty5 c6: 456:respawn:/sbin/agetty 38400 tty6

s1: 45:respawn:/sbin/agetty 19200 ttys0 s2: 45:respawn:/sbin/agetty 19200 ttys1 Eğer init bir güç kaybı durumu sezinlerse (örneğin; UPS {Uninterruptable Power Supply} tarafından sinyal gönderilen PC nin güç kaybı gibi) ve sistem çok kullanılıcı mode da ise bazı özel güç kullanımı şartları makinenin yeniden açılması durumunda çalıştırılır. Bu şartlar genellikle sistemi geri getirmeden önce dosya sistemlerindeki olası problemlerin kontrolleri şeklindedir. /etc/inittab dosyası bu tür şartlar için talimatları barındırır. Örneğin : Güç kesilmesi durumunda ne yapılacak (tek kullanılıcı duruma geç) pf::powerfail:/sbin/shutdown f +5 THE POWER IS FAILING Kapanıştan önce güç geri gelirse kapanış sürecini durdur pg:0123456:powerokwait:/sbin/shutdown -c THE POWER İS BACK Tek kullanıcı mod da güç geri geldi, çok kullanıcıya geçiş yap ps:s:powerokwait:/sbin/init 5 ASCII editörü kullanarak inittab dosyası değiştirilebilir fakat değişikliklerin aktif olabilmesi için sistemin reboot edilmesi veya yeniden okuma şartlarında birisi oluşması gerekir; diğer bir alternatif de, init i kullanarak /etc/inittab dosyasını değerlendirmeye almaktır. Bunun için; $ init q komutunu kullanmalıyız. init süreci, bir sürecin kaç kere yeniden başlatılması (respawn) gerektiğini kontrol eder. 1.2 Kullanıcı Hesaplarının Açılması (El ile açılması) /etc/passwd dosyası kullanıcı hesapları hakkında tüm bilgiyi içerdiğini daha önce belirtmiştik. Bu dosyanın izinlerini sadece root tarafından yazılabilme iznine bağlanmalı ve diğer hesapların sadece okuma izni olmalı. /etc/passwd dosyasındaki satırlar belirli bir formata bölünmüştür. username:password:user_id:group_id:comment:home directory:login_command Bu format yapısını anlayabilmek için örnek bir /etc/passwd dosyasına bakalım. root::0:0:root:/root:/bin/bash bin:*:1:1:bin:/bin: deamon:*:2:2:deamon:/sbin: adm:*:3:4:adm:/var/adm: lp:*:4:7:lp:/var/spool/lpd: sync:*:5:0:sync:/sbin:/bin/sync/ shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown halt:*:7:0:halt:/sbin:/sbin/halt mail:*:8:12:mail:/var/spool/mail: news:*:9:13:news:/usr/lib/news: uucp:*:10:14:uucp:/var/spool/uucppublic:

operator:*:11:0:operator:/root:/bin/bash games:*:12:100:games:/usr/games: man:*:13:15:man:/usr/man: postmaster:*:14:12:postmaster:/var/spool/mail:/bin/b ash nobody:*:-1:100:nobody:/devnull: ftp:*:404:1::/home/ftp:/bin/bash /etc/passwd deki her satır iki nokta işareti ile ayrılan 7 alandan oluşur, eğer 0 olan için bir şey girilmemiş ise iki nokta arası boş bırakılır. Bu 7 alan şöyle özetlenir. The user name is a unique identifier for the user The password is the user s password (encrypted) The user ID (UID) is a unique number that identifies the user to the operating system The group ID (GID) is a unique number that identifies the user s group (for file permissions) The comment is usually the user s real name, but sometimes it is a phone number, department or other information The home directory is the directory in which the user is placed when he or she logs in The login command is the command executed when the user logs in; normally, this commands starts a shell program User Names (Kullanıcı İsimleri): Kullanıcı isimleri genellikle 8 veya daha az karakterle her kullanıcıyı tek olarak tanımlayan tek bir kelime grubudur. Tipik bir kullanıcı ismi, kullanıcının ilk ismi ve soyadının bir kombinasyonu olabilir. Genel kabul, kullanıcı isimlerinin küçük harf olmasıdır. Passwords (Şifreler): Sistem, kullanıcının şifrelenmiş şifresini şifre alanında depolar. Bu olan değişikliklere çok duyarlı olup, herhangi bir düzeltme durumunda, sistem yöneticisinin şifre değiştirme işlemi yapana kadar kullanıcı adını geçersiz kılar. Sadece sistem yöneticisi veya kullanıcı passwd komutu kullanarak şifresini değiştirebilir. Bu olan sisteme girişleri sınırlandırmak için kullanılabilir. Lp veya Sync türünden bir sistem Login i gibi erişim için kullanılan bir Login i önlemek istiyorsak, şifre alanı için iki kolon arasına asteriks(*) yerleştirilir. Asteriks tüm erişimi sınırlar, bu alan aynı zamanda boş bırakılarak sınırsız erişimede izin verilebilir. Eğer şifre kullanılmazsa kullanıcı ismi olan herkese şifre talep edilmeksizin derhal erişim izni verilir. Şifre alanına bir editör kullanarak doğrudan şifre yapmaya teşebbüs etmeyiniz. Şifreleme metodunu yeniden oluşturamazsınız, ve kullanıcı hesabını kilitleyebilirsiniz. Bu durumda sistem yöneticisi şifreyi değiştirecek ve erişime izin verecektir. User ID (Kullanıcı Kimlik Numarası): Her kullanıcı ismi ona bağlı tek bir kullanıcı kimlik numarasına sahiptir (UID), UID kullanıcı ismine kıyasla tercih edilebilir çünkü rakamla uğraşmak daha kolaydır. Linux, bir kullanıcı tarafından başlatılan tüm süreçleri takip eder (bunu UID aracılığı ile yapar). Bazı programlar UID dan yola çıkarak kullanıcı ismini görüntüler fakat genellikle bu iş için /etc/passwd dosyasını kullanırlar. root, 0 UID ye sahiptir ve diğer sistem tarafında oluşturulan login ler daha büyük sayılara sahiptir. Login Nobody, NFS tarafından kullanılan özel bir login dir ve -1 UID ye sahiptir, ve geçersiz bir sayıdır. Kullanıcı kimlik no larını verirken onları belirli bir sırayla verebilirsiniz örneğin ilk kullanıcı için 100, ikinci için 101 ve benzeri gibi. Group ID (Grup Kimlik Numarası): GID, kullanıcının başlangıç gurubunu takip etmek için (diğer bir deyişle kullanıcı sisteme girdiğinde içinde olacağı grubun kimlik numarasıdır).

Grup, dosya izinlerini oluşturulmak için organizasyonel amaçlarla kullanılır. GID sıfırdan yukarıya doğru numaralandırılır çoğu UNIX sistemi ve sistem grupları için 0 49 aralığında GID kullanırken, kullanıcı grupları 50 den yukarıya gruplandırılır. Benimsenmiş (default) grup, group olarak adlandırılır ve 50 sayısı atanır. Comments (Yorumlar): Sistem yöneticileri, yorum alanını giriş bilgilerinin daha anlaşılır kılabilmek için gerekli bilgiyle donatır. Bu alana duyarlı bilgi koymak sakıncalı olabilir zira e-posta sistemleri bu alana erişerek kimin posta gönderdiğini göstermek için erişebilir. Home Directory (Ev Klasörü): Ev klasörü alanı kullanıcının sisteme girmesi durumunda nereye yerleştireceğini belirten bir alandır. Bu alan genellikle kullanıcının ev dizinidir. Kullanıcıların start-up dosyalarında çevresel değişken HOME bu değere irtibatlandırılır. Linux, /home klasörü kullanma eğilimindedir, bu nedenle ev dizinizi /home/mscelebi gibi görebileceksiniz, diğer olasılıklar /usr, /user ve /u olabilir. Login command (Giriş Komutu): Login komutu, login sona erdirildiğinde çalıştırılacak olan komuttur. Çoğu durumda, bu komut kullanıcıya kabuk ortamı sağlayan C veya Bourne kabuğu gibi bir programı başlatır. Örneğin; uucp login (e-posta ve diğer basit serim (networking) görevleri için kullanılır) sadece uucp komutunu çalıştırır. Eğer bu alan boş bırakılırsa, işletim sistemi genellikle bourne kabuğunu benimser. Benimsenmiş Sistem Kullanıcı İsimlerinin Anlaşılması etc/passwd dosyasından yapılan alıntıda bir düzineden fazla sistem-bağımlı kullanıcı isimleri listelenmiştir. Bu isimler Linux sisteminde özel amaçlara hizmet ederler. root login: Süperuser hesabıdır (UID 0) ve sınırsız erişime sahiptir, pek çok sistem dosyalarına sahiptir. deamon login: Sistem süreçleri için kullanılır. Bu logini sadece süreçlere sahip olmak için izinlerini düzgün bir şekilde kurmak amacıyla kullanılır. bin login: Çalıştırılabilir dosyalara sahiptir. sys login: Çalıştırılabilir dosyalara sahiptir. adm login: Accounting ve log dosyalarına sahiptir. uucp login: uucp iletişim erişimi ve dosyalar için kullanılır. Diğer sistem login leri özel amaçlar için kullanılır (örneğin postmaster mail için gibi.) 1.3 Kullanıcıların İlave Edilmesi etc/passwd dosyası elle düzenlenerek sisteminize kullanıcıları ilave edebilirsiniz veya bu işi otomatik olarak yapan betiklede bu iş gerçekleştirilebilir. UYARI: Bu dosyada değişiklik yapmadan önce kopyasını çıkartmanın faydası vardır. Eğer /etc/passwd dosyası çökerse ve sizde bir kopyası yoksa root olarak dahi sisteme giremezsiniz. Bu dosyanın bir kopyasını acil floppy diskinizde tutunuz veya boot disketinizde saklayınız. ASCII formatında saklayan herhangi bir editör kullanarak /etc/passwd dosyasına yeni giriş yapabilirsiniz. Yeni kullanıcıları dosyanın sonuna ilave ediniz ve her kullanıcı için tek ve kimsede olmayan kullanıcı ismi ve UID kullanınız. Örneğin; bill isimli yeni kullanıcıyı 103 UID ile ve 50 GID ile sisteme ilave etmek için; bill::103:50:bill smallwood:/home/bill:/bin/sh

Şifre alanının boş olmasına dikkat ediniz, çünkü şifrelenmiş olarak buraya yazamazsınız. Bu değişikliği kaydettikten sonra şifreyi kurmak için aşağıdaki komutu kullanın. $ passwd bill Burada bill in kullanabileceği bir şifre giriniz ve bunu ilk fırsatta değiştirmesi gerektiğini hatırlatınız. Bu işlemde bittikten sonra, kullanıcının ev klasörünü oluşturma işlemine geçmeniz gerekiyor. Bu oluşturulduktan sonra, bu kullanıcının sahip olduğu klasörün sahipliğini kurmanız gerekiyor, şöyleki: $ mkdir /home/bill $ chown bill /home/bill tüm kullanıcılar bir gruba ait olmalılar. Eğer sisteminizde sadece bir grup tanımlanmışsa kullanıcının kullanıcı ismi grubu temsil eden /etc/group daki satıra ilave edilmesi gerekmektedir. Eğer yeni kullanıcı birden fazla gruba ait ise, /etc/group dosyasındaki her gruba kullanıcı ismini ilave ediniz. Son olarak, kullanıcının kabukları için konfigürasyon dosyalarını kullanıcının ev dizinine kopyalayın ve kullanıcının kendi alanını düzenleyebilmesi için sistem iznini düzenleyiniz. Örneğin; Eğer serdar isimli diğer kullanıcıdan Bourne kabuğunun.profile dosyasını kopyalasaydınız aşağıdaki komutu kullanacaktınız. $ cp /home/serdar/.profile /home/bill/.profile $ chown bill /home/bill/.profile Ayrıca konfigürasyon dosyasını elle kontrol ederek, çevresel değişkenlerin kullanıcı sisteme girdiğinde yanlış bir şekilde kurulmadığına emin olun. Bourne kabuğu C kabuğu Korn kabuğu.profile.login ve.cshrc.profile ve ENV ile tanımlanan herhangi bir dosya Bunlar kullanıcının ev dizininde bulunurlar. Özetleyecek olursak elle yapılacak olan yeni kullanıcı ayarı aşağıdaki adımları içerir. 1. /etc/passwd dosyasına yeni bir satır ilave et. 2. Kullanıcının ev dizinini oluştur ve sahipliğini ayarla. 3. Kabuk start-up dosyalarını kopyala ve kurulumlarını (settings) ve sahipliğini yeniden ayarla. Bu işlemleri otomatik olarak linux içinde yapan betikleri (useradd veya adduser) daha önce görmüştük. 1.4 Kullanıcıların Silinmesi Yeni kullanıcıları ilave etmemizde olduğu gibi, mevcut kullanıcılarıda elle veya otomatik betik ile silebiliriz. Otomatik betikler deluser veya userdel, hangi kullanıcıyı sileceğinizi sorar ve daha sonra bu kullanıcının kaydını /etc/passwd dosyasından kaldırır bazı betikler, eğer isterseniz ev dizini dosyalarını ve spool uda temizlerler. Fakat bunu yapmak için root olarak login olmak gerekir. Elle kullanıcıyı silmek için, kullanıcı kaydını /etc/passwd dosyasından kaldırmak gerekir daha sonra disk alnını temizlemek için kullanıcının klasörlerinide kaldırmak gerekir. Kullanıcı dosyaları ve ev dizini aşağıdaki komutla tamamen silebilirsiniz.

$ rm -r /home/userdir daha sonra kullanıcının mail spool dosyasını (ki /usr/spool/mail/username adresinde tutulur) kaldırmanız gerekir. Örneğin kullanıcı serdar ın mail dosyasını kalıdırmak için $ rm /usr/spool/mail/serdar spool dosyası tek bir dosya olup bu komutla kayıtlar silinir. Posta temizliğini bitirmek için bu kullanıcının posta takma adlar dosyasında herhangi bir kaydının bulunup bulunmadığını kontrol etmelisiniz (bu dosya genellikle /usr/lib/aliases dadır.) veya bu kullanıcı için gelen bütün postayı diğer login e takma adlar dosyasında yapılacak bir ilave ile yönlendirebilirsiniz. Son olarak, kullanıcının cron ve at dosyalarında herhangi bir kayıt kalmadığına emin olmalısınız. Kullanıcının crontab dosyasını crontab komutu ile görebilirsiniz. Bir kullanıcıyı elle silmek için süreç aşağıdaki gibidir: 1. Kullanıcı kaydının /etc/passwd ve /etc/group dosyalarından kaldırınız. 2. Kullanıcının posta (mail) dosyasını ve herhangi bir posta takma adını (aliases) kaldırın. 3. Herhangi cron veya at görevlerini kaldırınız. 4. Kullanıcının ev klasörünü kaldırınız. Arasırada kullanıcının hesabını geçici olarak kullanım dışı bırakmak isteyebilirsiniz (bu durumlar özellikle kullanıcının uzun süreli ayrılmalarında olabilir). Bu durumda passwd dosyasında şifrelenmiş şifresinin başına ilk karakter olarak * işareti koyunuz, ve mevcut şifreyi sakın değiştirmeyiniz. Hesabı tekrar aktive etmek istediğinizde koyduğunuz * ı kaldırınız ve dosyayı yeni haliyle saklayınız. 1.5 Grupların Kullanımı Sistemdeki her kullanıcı bir gruba aittir. Bir grup belirli bir nedenle bir arada bulunan bireylerin toplamıdır. Bir kullanıcı bir seferde sadece bir grubun üyesi olabilir. Grupların izinleri o gruba ait olmayan diğer kullanıcılardan tüm makinalara, dosya sistemlerine, dosyalara ve araçlara erişimi sınırladırıp kendi erişimlerine ise izin verilmesi gerekir. Küçük linux sistemlerinde sadece bir grup vardır. Bu durumlarda her kullanıcının araçlara ve dosyalara erişimi araç veya dosya erişim izinleriyle kontrol edilir grup izinleri ile değil. Örneğin grupları kullanarak arkadaşlarınızın veya çocuklarınızın evinizdeki linux sisteminizde erişimlerini kontrol edebilirsiniz. Grup bilgisi /etc/group dosyasında korunur, bu dosya /etc/passwd dosyasına benzerdir. Yeni yüklenmiş bir linux sisteminde benimsenmiş /etc/group dosyası aşağıdakine benzerdir. root::0:root bin::1:root,bin,deamon deamon::2:root,bin,deamon sys::3:root,bin,adm adm::4:root,adm,deamon tty::5: disk::6:root,adm lp::7:lp mem::8: kmem::9: wheel::10:root floppy::11:root mail::12:mail news::13:news

uucp::14:uucp man::15:man users::16:games nogroup::-1: Her satır kolonlarla ayrılan 4 alana sahiptir, iki kolon yanyana olduğunda bu alana değer girilmediği anlaşılmalıdır. Her satır aşağıdaki formata sahiptir: Group_Name:Group_Password:Group_ID:Users Her grubun dosyada bir satırı vardır, /etc/group dosyasındaki alanlar aşağıdaki gibidir: Group name (grup adı): Genellikle 8 veya daha az karakterden oluşan tek bir addır. Password (şifre): Genellikle * veya boş bırakılır, fakat eğer bir kullanıcı bu gruba girecekse ve buda şifre ile olacaksa o zaman bu alana şifre girilir. Group ID (GID, Grup Kimlik Numarası): Her grup için tek bir sayıdır. User field (Kullanıcı Alanı): Bu gruba ait olan tüm kullanıcıların kullanıcı kimlik numaralarının listesini içerir. Her linux sistemi işletim sistemine ait olan benimsenmiş belirli sayıda gruba sahiptir. Bu gruplar genellikle bin, mail, uucp, sys vb. gibi gruplardır. Sisteme bağlı grupları benimsenmiş /etc/group dosyasında görebilirsiniz. Bu dosyada son iki satır dışındakiler sistem gruplarıdır. Sadece sistem login i bu işletim sistemi gruplarına erişmelidir. Benimsenmiş (Default) Sistem Gruplarının Anlaşılması Bildiğimiz gibi /etc/group dosyasında bir çok grup tanımlanmıştı. Bu gruplar pek çok sistem programları için erişim haklarına ve dosya izinlerinin verilmesinde kullanılırlar. Bu gruplardan en önemlilerinden bazılarına bakmakta fayda vardır. root /wheel/system group Genellikle bir kullanıcının root erişimini elde etmek için su komutunu kullanmasında kullanılır. deamon group Spooling klasörlerinin sahiplenilmesinde (mail, printer v.b) kullanılır. kmem group Doğrudan çekirdek hafızasına erişmek ihtiyacında olan programlar için kullanılır. sys group Bazı sistem dosyalarını sahiplenir. tty group Terminallerle ilgili tüm özel dosyaları sahiplenir. Bir Grubun İlave Edilmesi Bir grup ilave etmek için, /etc/group dosyasındaki bilgiyi herhangi bir ASCII text editörü kullanarak veya addgroup veya groupadd gibi kabuk programı kullanarak elle düzenlemek mümkündür. /etc/group dosyasını elle düzenleyerek bir grup ilave etmek için, ilk olarak dosyanın bir yedek kopyasını çıkartmalısınız daha sonra herhangi bir ASCII editörü kullanarak oluşturmak istediğiniz her grup için bir yeni satır ilave etmelisiniz. Aşağıdaki örneklerde iki yeni grup oluşturulmuştur: accounts::51:serdar scanner::52:mehmet İki grubunda 51 ve 52 nolu GID ları vardır. Gruptaki kullanıcılar ilave edilmişlerdir, her grupta sadece bir kullanıcı vardır.

Yeni Gruplara Bir Kullanıcı İlave Etmek Kullanıcılar pek çok gruba ait olabilirler. Her kullanıcı adı /etc/group dosyasındaki satırda virgül ile ayrılmıştır. accounts::52:bill,serdar,mehmet,tim,ahmet,root prgming:53:bill,serdar,walter,john,root cad:54:john,walter,root linux her satırdaki kullanıcı adlarına bakarak aradığı isimleri bulacaktır. Bir kullanıcı bir defada sadece bir grubun üyesi olabilir, bu nedenle kullanıcılar newgrp komutunu kullanarak üyesi olduğu gruplar arasında değiştirme yapabilirler. Kullanıcının sisteme girdiğinde ait olduğu grubun ismi /etc/passwd dosyasında GID alanında verilmiştir. 1.6 Kullanıcı ve Grup İşlemlerini Komut Satırından Girilen Komutlarla Gerçekleştirmek Sisteme bir kullanıcı ekleme, mevcut kullanıcıyı silme, mevcut bir kullanıcının bilgilerinde değişiklik yapma, sisteme yeni bir grup ekleme, sistemdeki bir grubu silme ve sistemdeki bir grubun bilgilerinde değişiklik yapma gibi işlemler, komut satırından girilecek 6 farklı komutlada gerçekleştirilebilir. Bu komutlardan bazıları daha önceki kısımlarda verilmişlerdi aşağıdaki tabloda topluca verilmişlerdir: Kullanıcı ve grup işlemleri için komutlar KOMUT İŞLEVİ useradd: Linux sistemine tek bir kullanıcı ekler. userdel: Sistemde mevcut kullanıcıları sistemden uzaklaştırır, siler. usermod: Sistemde mevcut olan bir kullanıcının özelliklerini değiştirir. groupadd: Bu komut, /etc/group dosyasına yeni gruplar ilave eder. groupdel: /etc/group dosyasındaki grupları bu dosyadan dolayısı ile sistemden siler. groupmod: /etc/group dosyası içindeki grup bilgileri üzerinde değişiklikler yapar. useradd useradd [parametreler] login Burada parametrenin kullanımı isteğe bağlıdır. Option (benimsenmiş düzenleme modu ile D) Amaç -g group Define default primary group -b path Define default initial path for home directories -e date Set a default account expiration date (Default--no expiration) -f number Set a default for the number of days the account can be inactive before it is disabled (Default--no limit) örnek : host# useradd D g users b /home #useradd serdar #passwd serdar serdar adlı kullanıcı sisteme eklenmiştir. Ayrıca şifresini belirtmelisiniz. man komutu ile useradd komutuna ait parametreleri inceleyebilirsiniz. Çoğu kez bu parametreleri kullanmanız gerekmez. Bir kullanıcının kimliği hakkında bilgi almak için, id komutunu kullanabilirsiniz: #id serdar Bu durumda kullanıcı belirleyicisi ve grup bilgisi listelenecektir.

Option Meaning -u UID Specify a UID. If not specified, the next available UID is chosen. -g group The primary group for the user. If not specified, the default is taken. -G groups A comma separated list of secondary groups. This information is used to update /etc/group, which we will discuss later in this lesson. -d home directory Path name for home directory. If a default base base has been set with the b option for the defaults, this may be omitted, and the home directory will be base/username. -m Create the home directory, in addition to defining the user. -s shell Specify the login shell. Default is /bin/sh, the Bourne shell. -k dir The skeleton directory where initialization scripts are located. Defaults to /etc/skel. (Used with m option.) -c Full Name Put the user's full name in the password database. -e date Account expiration date. -f number Number of days the account may be unused before it is disabled. Örnek: host# useradd m s /bin/bash c 'Serdar Celebi' serdar kullanıcı ismi serdar tam ismi serdar celebi ile bir hesap açılacak. Login kabuğu /bin/bash ve ev dizini /home/serdar. /etc/skel dizininden dosyalar doğru sahiplik ve izinler ile kopyalaanmış olacak. userdel userdel [-r] KullanıcıAdı userdel komutu ile, belirtilen kullanıcı ile ilişkili olarak /etc/passwd dosyası /etc/shadow dosyası ve /etc/group dosyasındaki tüm bilgiler silinir. Kullanımı isteğe bağlı olan -r parametresi kullanılmışsa, bu durumda da silinen kullanıcının sahibi olduğu tüm dosyalarda silinecektir. örnek: # userdel -r serdar bu komut ile serdar adlı kullanıcı ve onun sahip olduğu dosyalar sistemden silinmiştir. usermod usermod [parametreler] login Belirtilen kullanıcı ile ilişkili olarak o anda atanmış parametreleri değiştirmek için kullanılır. Aşağıdaki bazı parametreler verilmektedir: -d home dizini : Kullanıcının home dizinini değiştirmek için kullanılır. -l login : Kullanıcının adını değiştirmek için kullanılır. -s kabuk : Kullanıcının kullandığı kabuğu (shell) değiştirmek için kullanılır. -u kullanıcı belirticisi :Kullanıcıya ait kimlik numarasını (userid) değiştirme için kullanılır. -G grupadı : Kulanıcının grubunu değiştirmek için kullanılır. örnek: #usermod -d /home/mscelebi serdar bu komut ile serdar adlı kullanıcının home dizini değiştirilmiştir. /home/mscelebi olarak groupadd

groupadd [-g gid] [-r] [-f] grupadı groupadd komutu, /etc/group dosyasına yeni bir grup ekler. Parametrelerin anlamları aşağıda verilmiştir: -g gid : Eklenecek yeni grup için grup belirleyicisini, gid değeri olarak kabul eder. -r : Default durumunda, grup kimlik numarası olarak 499 dan büyük bir sayı alınır. r parametresi kullanılmışsa, Linux a eklenen grubun sisteme ait olduğu ve grup kimlik numarasının da ilk 499 sayı arasında olması gerektiği anlaşılmalıdır. -f : Bu seçenek kullanılırsa, aynı isimde bir grup eklendiğinde, program sistemden çıkar ve bu çıkışta grup ayarlarında bir değişiklik yapılmaz. örnek: #groupadd -g 600 egitim bu komut ile, grup belirleyici kodu 600 olan, egitim adlı bir grup sisteme eklemiştir. groupdel groupdel GrupAdı GrupAdı adı ile belirtilen grubu sistemden(/etc/group dosyasından) siler. örnek : #groupdel egitim bu örnekte egitim adlı grup sistemden silinmiştir. groupmod groupmod -g gid -n GrupAdı Group Burada gid, grubun yeni numarası, GrupAdı ise, Group adlı gruba verilecek olan yeni addır. örnek: #groupmod -n hpcc sinif bu sistemde mevcut olan sinif adlı grubun adı hpcc olarak değiştirilmiştir. 1.7 LinuxConf Paketi Yardımı ile Kullanıcı İşlemleri LinuxConf, Linux ortamında pek çok ve çeşitli işlemler gerçekleştirmeyi sağlayan bir konfigürasyon aracıdır. LinuxConf un gerçekleştirdiği işlemlerden biriside kullanıcı işlemleridir. Kullanıcı ve grup ekleme, kullanıcı ve grup silme, mevcut gruplar ve kullanıcı üzerinde değişiklik yapma gibi işlemler LinuxConf paketi ile de gerçekleştirilir. LinuxConf u başlatmak için, root kullanıcı olarak sistemde olmalısınız ve X Windows ortamını başlatmalısınız. Şayet, GNOME kullanıyorsanız, LinuxConf u sol köşedeki menünün alt kısmında bir menü seçeneği olarak göreceksiniz. Bir menü seçeneği olarak görünmediği durumlarda ise, LinuxConf u, komut satırından: # linuxconf sözcüğünü girerek çağırabilirsiniz. LinuxConf paketi kendi help imkanına sahiptir, ilgilendiğiniz ekran için help olanağını kullanabilirsiniz.

Bir Kullanıcı Hesabı Açma Önce, Config/User Accounts/Normal/User Accounts yolu ile ekrana geliniz. Accept butonunu tıklayarak User Accounts tabına geliniz. Yeni bir kullanıcı eklemek için, pencerenin altındaki Add butonunu tıklayınız. Kulanımı isteğe bağlı (optional) olan alanlar dışındaki tüm alanlar doldurulmalıdır. Accept butonuna tıklayınca giriş tamamlanır ve bir sonraki ekranda kullanıcı şifresi (password) sorulur. Bu da girildikten sonra yeni kullanıcı sisteme katılmış olur. Login name : Kullanıcının sisteme girişte kullanacağı isimdir. Full name : Kullanıcının tüm adıdır. Group (opt) : Kullanıcının ait olduğu grubun adıdır. Supplementary groups : Kullanıcının ait olduğu diğer grupların adlarıdır. Home directory(opt) : Kullanıcı dosyalarının bulunacağı dizinin yol bilgisi ile birlikte adıdır. Command interpreter(opt) : Kulanılacak Linux kabuğunun (shell) yol bilgisi ile birlikte adıdır. Örneğin, /bin/bash şeklinde bir bilgi, kullanıcının bash kabuğunu kullanacağını belirtir. User ID(opt) : Kullanıcıyı sistemde diğer kullanıcılardan ayıracak olan sayısal koddur. Kullanıcı Hesabında Değişiklik: Bilgilerinde değişiklik yapmak istediğiniz kullanıcıyı seçin. Burada istediğiniz değişiklikleri yaparak accept butonunu seçin. Bir Kullanıcıyı Sistemden Silme: Bir kullanıcıyı sistemden silmek için kullanıcılar listesinden istediğiniz kullanıcıyı seçiniz. Pencerenin altındaki Del butonuna tıklayınız. Bu butona tıklayınca silme süreci başlayacaktır. Gelen ekranda size bir hesabı siliyorsunuz. silinen kullanıcının home dizini ve mail kutusu arşivlenebilir, silinebilir ya da yerinde kalabilir, kararınız şeklinde bir mesaj gelir. Burada size uygun olanını işaretleyiniz. Daha sonra Accept butonunu seçiniz. Böylece silme süreci tamamlanacaktır. Şayet arşivleme seçeneğini seçmişseniz, kullanıcıya ait home dizini, gzip lenmiş bir tar dosyası olarak /home/oldaccounts dizini içinde saklanaktır. LinuxConf ile Grup İşlemleri: LinuxConf paketini kullanarak, kulanıcılarda olduğu gibi, gruplarda da benzer işlemleri yerine getirebilirsiniz. Bir Grup Eklemek: Yeni bir grup eklemek için, LinuxConf açılış penceresinin sol tarafındaki Group Definitions tabını tıklayınız. Bu işlem sonucunda mevcut grupların bir listesi gelecektir. Add butonunu tıklarsanız eklemek istediğiniz yeni grup ile ilişkili bilgilerin doldurulması gereken bir pencere karşınıza gelecektir. Bu pencerede zorunlu olan tek alan eklemek istediğiniz grubun adıdır. Bu pencereyi doldurup Accept butonunu tıklarsınız yeni grup listeye eklenir. Bunu grup listesini çağırarak gözleyebilirsiniz. Bir Grup Üzerinde Değişiklik: Üzerinde değişiklik yapmak istediğiniz grubu seçiniz. Gerekli değişiklikleri yaptıktan sonra da Accept butonu ile son durum listesine ekleyiniz. Bir grubu silmek için önce grup listesinin bulunduğu pencereyi getiriniz. Daha sonra silmek istediğiniz grubu seçiniz. Grubu seçince Group Specification penceresi gelecektir. Burada Del butonunu tıklayınız. Gelen ekranda silmeyi onaylamak üzere Yes butonunu seçiniz. Böylece seçtiğiniz grup silinecektir. Grup listesini getirerek son durumu inceleyiniz.

1.8 Önceden Planlanmış Görevler Bir işletim sisteminin sorunsuz çalışmasını temin etmenin en iyi yollarından birisi otomatik tasarlanmış görevlerdir. Cron ve at programları sistem yöneticisini rahatsız etmeksizin belirli görevlerin daha önceden belirlenmiş zamanlarda çalıştırılmasını sağlarlar. Cron Programı Cron (Chronography nin kısaltması) programı, belirli komutları belirli zamanlarda herhangi bir kişinin doğrudan başlatmasına gerek kalmaksızın çalıştırmasını sağlamak için tasarlanmıştır. Linux, cron u sistem açıldığında bir saat deamon u olarak yükler. Cron programı, genellikle bir rc dosya girişinden çalıştırılır, bunu devre dışı bırakmak için ise ilgili satırlar comment satırı yapılır. Çalıştığında, Cron crontab dosyası olarak adlandırılan bir dosyadan belirli bir görevi çalıştırmak zorunda olduğu gün ve zamanı okur. crontab dosyasının gün ve zamanın tanımladığı girişlerinden biri ile sistemin gün ve zamanı örtüşürse cron deamonu ilgili komutu çalıştırır. Görevlerin otomatik yapılmasının anlamı, teyp yedeklemesi, veritabanı reorganizasyonu ve genel dosya temizlemesi gibi düzenli olarak yapılan görevlerin bir otomatiğe bağlanmasıdır. Çoğu sistemde, cron a erişim sistem yöneticisi ile sınırlıdır ama bu özellik bazı kullanıcılara veya tüm kullanıcıların hizmetine konuşlandırılabilir. Sistem yöneticileri, iki farklı dosyadan biri aracığı ile kimin cron tarafından devreye sokulmuş bir süreç yollayabileceğini kontrol eder. Bu dosyalar genellikle /usr/lib/cron/cron.allow veya /usr/lib/cron/cron.deny dır. Çoğu linux sistemi bu iki dosyayı kullanır, ve her iki dosyada da her iki satırda bir kullanıcı ismi vardır. /usr/lib/cron/cron.allow (veya /etc/cron.d/cron.allow) dosyası cron programını kullanmasına izin verilen tüm kullanıcıların kullanıcı isimlerini içerir. Örneğin, dosya mscelebi bill tparker Sadece mscelebi, bill ve tparker ın cron kullanacak herhangi bir görev teslimi yapabileceğini söylemektedir. /usr/lib/cron/cron.deny dosyası cron kullanmasına izin verilmeyen kullanıcı isimlerini barındırır. Örneğin, dosya walter mehmet celal walter, mehmet ve celal dışında herkesin cron programını kullanabileceğini belirlemektedir. Eğer ne cron.allow ne de cron.deny dosyası mevcut değilse bu

durumda sadece root bu programı kullanabilir. Tüm kullanıcıların cron u kullanabilmesi için boş bir cron.deny dosyası oluşturmak yeterlidir. Bir Cron Dosyası Oluşturmak Komutları istenen gün ve zamanlarda çalıştıran bir cron dosyası oluşturmak için, crontab adlı yardımcı programı kullanmalıyız. Cron un ne yapmasını istediğiniz işlerin detayını içeren bir dosyayı crontab programı okur ve işleme koyar. İlave olarak crontab, sizin o anki cron görev listenizi göstermek, listeyi kaldırmak ve ilave görevleri listeye eklemek gibi diğer birkaç yönetsel görevi de ifade eder. Görevlerin yazılı olduğu dosyaya kolaylık olsun diye crontab ismi verilir ama siz her hangi bir isim de verebilirsiniz. Crontab talimat dosyasının basit bir yapısı vardır. Dosya her süreç için bu sürecin detaylarını içeren tam bir satırdan oluşur ve değişik süreçleri ve ilgili satırları içerir. Her satırın formatı aşağıdaki gibidir: minute hour day-of-month month-of-year day-of-week command Gerçek bir crontab dosyasından alınan iki satır aşağıdaki gibidir. 20 1 * * * /usr/bin/calendar- 0 0 * * * /bin/organize_data Crontab dosyasındaki her satır, bir boşlukla ayrılmış 6 sütundan oluşur. Soldan sağa bu sütunlar aşağıdaki gibidir. - Saatin dakikası (0-59) - Günün saati (0-23) - Ayın günü (1-31) - Ay (1-12) - Haftanın günü (sun = paz = 0, mon = pazts = 1,..sat = cmts = 6) - Belirtilen gün ve zamandaki çalıştırılacak program Crontab dosyasındaki belirtilen gün ve zamanda işlem başlatılır. Bu aşamada komutun işletilmesi için doğru pathname vermek çok önemlidir. Crontab dosyasının çalıştırılması için çalıştırma iznine sahip olmanız gerekmektedir. Eğer bir iki sayı kullanacak isek araları - işareti ile ayrılmalıdır. Örneğin 1-5 birden beşe kadar olduğunu göstermektedir. Aşağıdaki örneği detaylı inceleyelim. 20 1 * * * /usr/bin/calendar- 0 2 1 * 0 /bin/organize_dta 10,30,50 9-18 * * * /bin/setperms Bu örnek üç farklı süreci tanımlamaktadır. İlk komut /usr/bin/calendar- dir. Bu yılın her günü ve haftanın her günü sabah saat 1 i 20 geçe çalıştırılır. Yıldızın anlamı tüm değerler demektedir. Saat 2:00 AM de bir betik dosya olan /bin/organize_data her ayın ilk gününde (3. sütunda 1) ve her Pazar (5. sutunda 0) günü çalıştırılır. Eğer ilk gün Pazar ise sadece bir kere çalıştırılacaktır. Üçüncü satırda bir betik dosya olan /bin/setperm, haftanın her gününde 9:00 AM ile 6:00 PM arasında her saat başı 10, 30, 50 dakika geçe çalıştırılır. Crontab dosyasındaki girişler özel bir sırada olmak zorunda değildirler.

Crontab dosyanızda bir hata oluştuğunuzda cron size problem ile ilgili bir posta yollar. Crontab dosyanızı ev dizininizin içinde tutmaya özen gösteriniz. Crontab Dosyalarının Yönetimi ve Teslimatı Crontab dosyanızı yazdıktan sonra, çalıştırmak için cron a teslim edebilirsiniz. Bir crontab dosyası teslim ettiğinizde, dosyanın bir kopyası hazırlanır ve cron klasöründe (genellikle /var/spool/cron/crontabs da) korunur. Dosyayı teslim eden kullanıcının ismiyle saklanır. Örneğin mscelebi tarafından teslim edilen bir crontab dosyası /var/spool/cron/crontabs/mscelebi ismiyle saklanır. Superuser tarafından teslim edilen crontab dosyaları root ismine sahiptir. Cron a crontab dosyanızı teslim etmek için cron komutları içinde olan dosyanın ismini takip ettiği crontab komutunu kullanın. Örneğin komut: crontab crontab_dosyasi Cron a mevcut klasörde crontab_dosyasi isimli dosyayı teslim eder. Eğer daha önceden bir crontab dosyası teslim etmişseniz, eskisi kaldırılır yerine yeni dosya kullanılır. -l opsiyonu kullanarak cron a ne teslim ettiğinizi görebilirsiniz. Örneğin: crontab l tüm komut cron görevlerini komutu teslim eden kullanıcıya gönderir. Crontab dosyanızı kaldırmak için r, opsiyonu kullanabilirsiniz. Bu opsiyon /var/spool/cron/crontabs dan sizin dizininizde saklanan dosyayı siler. crontab r Son olarak, o anki geçerli olan cron dosyanızı çağırıp bir editör -e opsiyonu ile başlatabilirsiniz. Aşağıdaki komutu kullandığınızda : crontab e crontab mevcut olan crontab dosyanızı okur, ve onu default (benimsenmiş) editöre (örneğin vi) yükler. Edit edilmiş dosyayı sakladığınızda bu dosya cron a otomatik olarak teslim edilir. Crontab dosyasındaki değişiklikler en fazla beş dakika içinde devreye girer ve cron crontab dosyasını en az her beş dakikada bir okur. Karmaşık Cron komutlarının Kullanımı Crontab dosyası her tür komut ve kabuk betiği içerebilir. Çok sayıda kabuk komutu kullanılması durumunda karşılaşılabilen yaygın problem özellikle hata mesajlarının (ki size postalanırlar ve posta kutunuzu hızla doldururlar) ve çıktıların üretilmesidir. Bu nedenle, hata mesajlarının çıktılarını almak istemiyorsanız çıktıları /dev/null a yönlendirebilirsiniz. Örneğin : 0 * * * * date > /tmp/test1 2>dev/null date komutunun çıktısını, her saat başı /tmp/test1 isimli bir dosyaya ve hata mesajlarını /dev/null a yollar. Benzer şekilde:

30 1 * * * cat /usr/tparker/chapt* > /usr/tparker/archive/backup /usr/tparker da chapt ile başlayan tüm dosyaları backup isimli tek bir büyük dosyaya bağlar. Crontab dosyasında aynı zamanda boru (piping) işlemi de yapabilirsiniz. Örneğin, eğer sizde /temp/userlist dosyasında gün boyunca sisteme bağlanan kullanıcıların bir listesi varsa aşağıdakine benzer bir crontab dosyası girdisine sahip olabilirsiniz : 0 1 * * * sort -u /tmp/userlist/ mail s user for today root Bu satır /tmp/userlist in çıktısını kontrol eder, öyle ki her kullanıcı (-u veya unique opsiyonu) için sadece bir giriş olduğunu ve bunu da root a postalar. Önemli bir hatırlatma: Tüm cron komutları default olarak Bourne shellde (bash kabuğu) çalıştırılır. Eğer C kabuk komutları kullanıyorsanız, cron görevi başarısız olacaktır. at Programı Bu program cron a oldukça benzer, sadece farkı belirtilen bir zamanda sadece bir komut çalıştırır. at komutunun formatı aşağıdaki gibidir : at time date < file at komutun parametrelerini çok değişik biçimlerde tanımlamak mümkündür. (örneğin 10 pm ile akşam saat 10 nu tarif ederiz.) at komutu zaman tanımlaması olarak birkaç özel kelimeyi tanır. Komut noon, midnigth, now, next, ve zulu kelimelerini tanır. Date, zaman yeterince spesifik olarak tanımladığı durumlarda opsiyonel olarak kullanılır. Eğer date belirtilemez ise spesifik time in belirtildiği durumlarda komut işletilebilir. today ve tomorrow at komutunun date ile ilgili olarak tanıdığı iki önemli kelimedir. at komutuna girdi sağlayacak olan dosya içinde komutların olduğu herhangi bir dosya olabilir. Komutları satırdan ctrl+d ile girmek mümkün olmasına rağmen tavsiye edilemez. Farz edelim ki aşağıdaki gibi reorg.data isimli bir dosyamız olsun. /usr/tparker/setperms /usr/tperker/sort_database /usr/tparker/index_database /usr/tparker/clean_up Bu dosyayı saat 8:30 pm de çalıştırmak istiyorsak aşağıdaki komutlardan herhangi birisini kullanabiliriz. at 20:30 < reorg.data at 8:30 pm < reorg.data at 20:30 today < reorg.data komutu Cuma günü çalıştırmak istiyorsak: at 8:30 pm Friday < reorg.data

at 0900 Monday next week < reorg.data Yukarıdaki komut gelecek hafta pazartesi dosyayı işleme koyar. Ancak at versiyonlarının tümü bu karmaşık komutları çalıştırmaz. Bunun için man sayfalarına bakılmalıdır. Bir program at a teslim edildiğinde geriye iş kimlik numarası elde edilir. Bu numara verilen işi unique olarak tanımlar örneğin; $ at 6 < do_it job 827362.a at wed Aug 31 06:00:00 EBT 1995 Bu durumda job ID:827362.a -l opsiyonu ile tüm işler listelenebilir. $at l user= tparker job 827362.a at wed Aug 31 06:00:00 EBT 1995 user= tparker job 827383.a at wed Aug 31 09:30:00 EBT 1995 Sistemden bir at girişini kaldırmak için, job ID ye ihtiyacımız vardır. Örneğin; at -r 2892732.a tanımlanan işi kaldırır. Herkes kendi işini kaldırabilir. at ile sıraya konulan tüm işler /usr/spool/cron/atjobs klasöründe job ID numarası dosya ismi olarak gözükecek şekilde tutulur. at.allow ve at.deny dosyalarında kimin at komutu kullanılacağına karar verilir. Boş bir at.deny dosyası oluşturursak, sistemdeki tüm kullanıcılar at i kullanabilir. Bir at işi çalıştığında tüm çıktılar (standart çıktı ve hata mesajları ) işi teslim eden ( başka bir yere yönlendirme olmazsa ) kullanıcı ismine geri postalanır.