Pardus /dev Dizini

Pardus ETAP 23, Debian tabanlı ve özellikle eğitim ortamları (etkileşimli tahtalar) için optimize edilmiş bir işletim sistemidir. Linux mimarisinin temel taşlarından biri olan /dev dizini, sistemin donanım ile iletişim kurduğu ana kapıdır.

Bu makalede, Pardus üzerindeki /dev dizininin yapısını, işleyişini ve neden kritik olduğunu detaylandıracağız


Linux’te Donanımın Yazılımla Buluştuğu Nokta

📌 Giriş

Linux felsefesinde "Her şey bir dosyadır" (Everything is a file) kuralı geçerlidir. Device - Aygıt) dizini, donanım bileşenlerinin işletim sistemi tarafından dosya olarak temsil edildiği yerdir. Linux tabanlı işletim sistemlerinde donanım, klasik anlamda “sürücü dosyaları” ile değil, özel aygıt dosyaları ile temsil edilir.

Bu aygıt dosyalarının tamamına yakını /dev dizini altında yer alır.



📁 /dev Dizini Nedir?

/dev (device) dizini, sistemdeki:

  • Diskler

  • USB aygıtlar

  • Klavyeler

  • Fareler

  • Seri portlar

  • Rastgelelik kaynakları

gibi donanım ve sanal aygıtların dosya olarak temsil edildiği yerdir.

📌 Linux’te temel ilke:

“Her şey dosyadır”

Donanım da buna dahildir.

Bu dizin fiziksel olarak diskte yer kaplamaz; bir sanal dosya sistemidir (devtmpfs). Sistem her önyüklendiğinde (boot) çekirdek (kernel) tarafından bellekte oluşturulur.


⚙️ /dev Dizini Nasıl Çalışır?

Modern Pardus (Debian tabanlı) sistemlerde /dev:

  • Diskte kalıcı değildir

  • RAM üzerinde (tmpfs) çalışır

  • Açılışta udev tarafından otomatik oluşturulur

🔁 Süreç Akışı

  1. Kernel donanımı algılar

  2. udev kurallarını uygular

  3. /dev altında ilgili aygıt dosyası oluşturulur


/dev İçindeki Temel Aygıt Türleri

/dev dizini altındaki dosyalar genellikle iki ana kategoriye ayrılır. Bunları ls -l /dev komutuyla incelediğinizde satır başındaki harflerden ayırt edebilirsiniz:
https://miro.medium.com/0%2AuN0Pd0dCXkxCs8hK
https://serverspace.us/wp-content/uploads/2024/06/schema-en.png

1️⃣ Blok Aygıtlar (Block Devices)

Veriyi bloklar halinde okur/yazar. Verileri bloklar halinde (genellikle 512 veya 4096 bayt) transfer eden aygıtlardır. Genellikle depolama birimleridir.

ÖrnekAçıklama
/dev/sdaBirinci disk
/dev/sda1Diskin 1. bölümü
/dev/mmcblk0eMMC (akıllı tahta diskleri)
/dev/nvme0n1NVMe SSD

📌 ETAP 23 akıllı tahtalarda en sık:

  • mmcblk0

  • sda
    kullanılır.


2️⃣ Karakter Aygıtlar (Character Devices)

Veriyi karakter karakter, bir akış (stream) şeklinde ileten aygıtlardır. Arabelleğe alma işlemi genellikle yapılmaz.

ÖrnekGörev
/dev/ttyTerminal
/dev/input/eventXKlavye / dokunmatik
/dev/usb/lp0USB yazıcı
/dev/video0Kamera

🛑 Dokunmatik ekran, klavye ve fare:

/dev/input/

altında bulunur.


3️⃣ Sanal (Özel) Aygıtlar

Gerçek donanım değildir.

AygıtAçıklama
/dev/nullÇöp kutusu
/dev/zeroSıfır üretir
/dev/randomRastgelelik
/dev/urandomHızlı rastgelelik

📌 Kriptografi, SSL, sınav sistemleri için kritiktir.


🔐 Pardus’da /dev Güvenliği Neden Önemli?

🎯 Olası Riskler

  • USB bellek bağlanması

  • Klavye emülasyonu (Rubber Ducky)

  • Harici diskten veri sızdırma

  • Yetkisiz kamera / mikrofon

Tüm bunlar doğrudan /dev üzerinden sisteme ulaşır.


ETAP 23 İçin Güvenlik Önlemleri

1️⃣ USB Depolama Engelleme

echo "blacklist usb_storage" | sudo tee /etc/modprobe.d/usb-storage.conf

📌 /dev/sdX oluşmaz → USB bellek tanınmaz.


2️⃣ /dev Yetkilerini Sıkılaştırma

sudo mount -o remount,noexec,nosuid,nodev /dev
ParametreAnlam
noexecÇalıştırılamaz
nosuidYetki yükseltme yok
nodevYeni aygıt yok

⚠️ Dikkat: Yanlış yapılandırma sistemi kilitleyebilir.


3️⃣ udev Kuralları ile İnce Ayar

SUBSYSTEM=="usb", ACTION=="add", RUN+="/bin/sh -c 'echo USB yasaklandı'"

📌 Hangi USB, hangi kullanıcı, hangi saatte → hepsi kontrol edilebilir.


LiderAhenk ile Merkezi /dev Politikası

LiderAhenk MYS ile:

  • USB engelleme

  • Kamera devre dışı

  • Klavye/fare sabitleme

  • Sınav profili uygulama

tek merkezden yapılabilir.

Örnek Senaryo

📝 Sınav başlatıldığında:

  • USB portlar kapalı

  • Kamera kapalı

  • Yeni /dev aygıtları engelli

⏹ Sınav bitince:

  • Politikalar otomatik kaldırılır


🧪 Tanılama ve Kontrol Komutları

ls -l /dev lsblk mount | grep dev udevadm monitor

📌 Özellikle akıllı tahtalarda donanım sorunları için çok faydalıdır.

Pardus ETAP 23 (ve genel olarak Linux) sistemlerinde udev kuralları, cihazlar takıldığında veya sistem açıldığında belirli eylemleri otomatikleştirmek için kullanılır. Kurallar genellikle /etc/udev/rules.d/ dizini altında .rules uzantılı dosyalarda tutulur.

İşte ETAP yüklü etkileşimli tahtalarda veya bilgisayarlarda işinize yarayabilecek birkaç yaygın senaryo ve kural örneği:


1. Belirli Bir USB Belleğe Sabit İsim Verme (Symlink)

Sürekli kullandığınız bir USB belleğin (örneğin yedekleme diski) sistem her açıldığında farklı bir isim (sdb1, sdc1 gibi) almasını istemiyorsanız ona bir takma ad verebilirsiniz.

  • Önce cihazın seri numarasını bulun: udevadm info -a -n /dev/sdb | grep 'serial'

  • Kuralı oluşturun: /etc/udev/rules.d/10-yerel-disk.rules dosyasına şunu ekleyin:

    Bash:
    SUBSYSTEM=="block", ATTRS{serial}=="1234567890", SYMLINK+="ozel_disk"
    

    Bu kuraldan sonra cihaz takıldığında /dev/ozel_disk adıyla da erişilebilir olur.


2. USB Portlarını Belirli Aygıtlara Kısıtlama (Güvenlik)

Sadece belirli farelerin veya klavyelerin çalışmasını, yabancı USB belleklerin engellenmesini istiyorsanız Vendor ID (Üretici Kimliği) üzerinden kısıtlama yapabilirsiniz.

  • Örnek: Sadece belirli bir markanın (örneğin ID 046d) cihazlarına izin ver, diğerlerini engelle:

    Bash:
    # /etc/udev/rules.d/99-usb-yasak.rules
    ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}!="046d", ATTR{authorized}="0"
    

3. Dokunmatik Panel İçin Örnek Yapılandırma

ETAP tahtalarında dokunmatik panel bazen yanlış algılanabilir veya üzerinde özel bir komut çalıştırılması gerekebilir.

  • Kural: Dokunmatik panel algılandığında bir betiği tetiklemek:

    Bash:
    SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="*Touch*", RUN+="/usr/local/bin/dokunmatik-ayar.sh"
    

4. USB Takıldığında Otomatik Yedekleme Başlatma

Bir USB bellek takıldığı anda arka planda bir yedekleme scripti çalıştırmak için:

Bash:
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z][0-9]", RUN+="/usr/bin/systemctl start yedekleme.service"

(Not: udev doğrudan uzun süren işlemleri yönetemez, bu yüzden bir systemd servisini tetiklemek daha sağlıklıdır.)


Kurallar Nasıl Devreye Alınır?

Bir kuralı yazdıktan sonra sistemin bunu hemen fark etmesi için şu komutu çalıştırmalısınız:

Bash:
sudo udevadm control --reload-rules && sudo udevadm trigger


6. Yararlı Komutlar

/dev diziniyle etkileşime geçmek ve donanımları listelemek için şu komutları kullanabilirsiniz:

  • lsblk: Blok aygıtlarını (diskleri) hiyerarşik olarak listeler.

  • ls -l /dev | grep '^b': Sadece blok aygıtlarını gösterir.

  • ls -l /dev | grep '^c': Sadece karakter aygıtlarını gösterir.

  • fdisk -l: Sistemdeki disklerin bölümlerini detaylıca gösterir.

Bash:
# Örnek: Diskleri görüntüleme
lsblk

📌 Sonuç ve Özet

  • /devDonanımın kalbi

  • Pardus → Güvenlik odaklı kullanım

  • Yanlış yapılandırma → Sistem kilidi

  • Doğru politika → Tam sınav güvenliği

/dev dizini, Pardus sistem yöneticileri için sistemin "sinir uçlarını" temsil eder. Dokunmatik panellerden disk yönetimine, ses kartlarından terminal bağlantılarına kadar her şey bu dizin üzerinden yönetilir. Bu dizindeki dosyaların doğrudan silinmesi veya yanlış değiştirilmesi sistemin donanım erişimini kesebilir, bu nedenle işlemler genellikle udev kuralları veya sistem araçları üzerinden yapılmalıdır.

5. Dinamik Aygıt Yönetimi: udev

Pardus, cihazların takılıp çıkarılmasını yönetmek için udev servisini kullanır. Bir USB bellek taktığınızda, udev bunu fark eder ve /dev altında otomatik olarak bir sdb1 (veya benzeri) dosyası oluşturur.

  • Yapılandırma: /etc/udev/rules.d/ dizini altında özel kurallar tanımlayarak, belirli bir donanım takıldığında otomatik işlemler (örneğin yedekleme başlatma veya belirli bir aygıta sabit isim verme) yapılması sağlanabilir.


🔐 udev Kuralları ile Akıllı Tahta Güvenliği

Pardus ETAP 23 için Donanım Tabanlı Koruma Rehberi

📌 Giriş

Akıllı tahtalarda güvenlik yalnızca yazılım (kiosk, kullanıcı kısıtları) ile sağlanamaz.
Gerçek risk, donanım seviyesinde başlar:

  • USB bellek

  • Sahte klavye (Rubber Ducky)

  • Harici fare / gamepad

  • Yetkisiz kamera

  • Dokunmatik emülasyonu

👉 Linux’te bu risklerin tamamı udev ile kontrol altına alınabilir.


udev Nedir?

udev, Linux çekirdeğinin donanım olaylarını (takıldı / çıkarıldı) yöneten dinamik aygıt yöneticisidir.

📌 udev sayesinde:

  • Hangi donanım tanınacak

  • Hangisi engellenecek

  • Hangi yetkilerle çalışacak

tamamen kural tabanlı belirlenir.


🔁 udev Akış Mantığı

  1. Donanım takılır (USB, dokunmatik, klavye)

  2. Kernel algılar

  3. udev kuralı eşleştirir

  4. İzin ver / engelle / yetkilendir

  5. /dev altında sonuç oluşur


📁 udev Kural Dosyaları Nerede?

/etc/udev/rules.d/

📌 Önerilen isimlendirme:

10-touchscreen.rules 20-usb-block.rules 30-input-security.rules

Sayı → öncelik sırasıdır.


🖥️ Akıllı Tahtalarda Kritik Donanımlar

DonanımRisk
USB BellekVeri sızdırma
USB KlavyeSınav ihlali
FareKontrol ele geçirme
KameraGizlilik
DokunmatikYetkisiz input

🔐 1️⃣ USB Depolama Tamamen Engelleme

🎯 Amaç

  • USB bellek hiç tanınmasın

  • /dev/sdX oluşmasın

🛠️ Kural

# /etc/udev/rules.d/20-usb-storage-block.rules SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="08", ACTION=="add", OPTIONS+="ignore_device"

📌 Sonuç:

  • Klavye çalışır

  • Dokunmatik çalışır

  • USB bellek yok sayılır


2️⃣ Sadece Dahili Klavyeye İzin Ver

Önce tanımla:

cat /proc/bus/input/devices

Örnek:

Name="AT Translated Set 2 keyboard"

udev Kuralı

SUBSYSTEM=="input", ATTRS{name}!="AT Translated*", OPTIONS+="ignore_device"

📌 USB klavye takılsa bile çalışmaz.


3️⃣ Dokunmatik Ekranı Sabitleme (En Kritik Kısım)

🎯 Amaç

  • Sadece tahtanın kendi dokunmatiği

  • Başka hiçbir input kabul edilmesin

Örnek Dokunmatik:

Name="ILITEK Multi-Touch"

udev Kuralı

SUBSYSTEM=="input", ATTRS{name}=="ILITEK*", MODE="0660", GROUP="input" SUBSYSTEM=="input", ATTRS{name}!="ILITEK*", OPTIONS+="ignore_device"

📌 Sonuç:

  • Dokunmatik çalışır

  • Fare / klavye / gamepad devre dışı


4️⃣ Fare Emülasyonunu Kapatma

Bazı dokunmatik sürücüler mouse olarak da görünür.

SUBSYSTEM=="input", ATTRS{phys}=="*mouse*", OPTIONS+="ignore_device"

📌 Dokunma kalır, fare davranışı gider.


5️⃣ Kamera ve Mikrofonu Engelleme

SUBSYSTEM=="video4linux", ACTION=="add", OPTIONS+="ignore_device" SUBSYSTEM=="sound", ACTION=="add", OPTIONS+="ignore_device"

📌 Sınav ve gizlilik için kritik.


🧪 Kuralları Test Etme

udevadm control --reload udevadm trigger

Takip için:

udevadm monitor

🧩 ETAP 23 Sınav Modu Senaryosu (Altın Senaryo)

📝 Sınav Başlarken

  • USB bellek kapalı

  • Harici klavye kapalı

  • Fare kapalı

  • Kamera kapalı

  • Sadece dokunmatik açık

Sınav Bitince

  • Kurallar kaldırılır

  • Sistem normale döner

📌 Öğrenci fiziksel müdahale etse bile sonuç değişmez.


LiderAhenk ile Merkezi udev Yönetimi

LeaderAhenk MYS ile:

  • udev dosyaları tek merkezden dağıtılır

  • Sınav profili → otomatik aktif

  • Ders profili → serbest

🎯 100+ PC için tek politika


⚠️ Kritik Uyarılar

❗ Yanlış udev kuralı:

  • Klavye çalışmaz

  • Dokunmatik gider

  • Sistem kilitlenebilir

✔ Her zaman:

ssh erişimi

veya

root konsol

bulunsun.


📌 En İyi Uygulamalar

✔ Event numarasına güvenme
İsim / Vendor ID kullan
✔ Kuralları küçük küçük yaz
✔ Önce test, sonra dağıt
✔ Sınav için ayrı profil


🧠 Özet

  • udev → donanım seviyesinde güvenlik

  • Akıllı tahta → yüksek riskli ortam

  • Yazılım tek başına yetmez

  • udev + ETAP 23 = tam koruma

Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Başlangıç Onarma