Pardus ETAP Ağ Üzerinden Toplu Olarak ogrenci (Sınırlı Erişim) Kullanıcısını Silme

Pardus ETAP yüklü akıllı tahtalarda 30-40 tahtada tek tek işlem yapmak yerine ağ üzerinden SSH veya Ansible kullanarak bu işlemi dakikalar içinde tamamlayabilirsiniz.


Ön Hazırlıklar

İşleme başlamadan önce aşağıdaki şartların sağlandığından emin olun:

  1. IP Listesi: Tüm tahtaların IP adreslerini içeren bir metin dosyanız olmalı (Örn: tahtalar.txt).

  2. SSH Erişimi: Tahtalarda SSH servisinin açık ve yetkili bir kullanıcıya (genelde etapadmin) erişiminizin olması gerekir.

  3. Yedekleme: ogrenci kullanıcısı silindiğinde masaüstündeki ve belgelerindeki tüm veriler silinecektir. Önemli veri varsa yedekleyiniz.


Yöntem 1: Bash Script ve SSH (En Hızlı Yöntem)

Eğer sisteminizde özel bir yönetim yazılımı kurulu değilse, bir Linux terminali üzerinden döngü kullanarak bu işlemi yapabilirsiniz.

1. Adım: SSH Şifreleme Aracını Kurun

Şifreyi her seferinde elle girmemek için sshpass aracını kullanacağız:

Bash
sudo apt update && sudo apt install sshpass -y

2. Adım: Silme Komutunu Hazırlayın

Aşağıdaki script, tahtalar.txt dosyasındaki IP'leri tek tek gezer ve ogrenci kullanıcısını ev diziniyle birlikte siler.

Dosya adı: kullanici_sil.sh

Bash
#!/bin/bash

# IP listesi dosyasının adı
IP_LISTESI="tahtalar.txt"
# Tahta yetkili kullanıcı adı
ADMIN_USER="etapadmin"
# Tahta yetkili şifresi
ADMIN_PASS="Sifreniz"
# Silinecek kullanıcı
TARGET_USER="ogrenci"

for IP in $(cat $IP_LISTESI); do
    echo "Bağlanılıyor: $IP"
    sshpass -p "$ADMIN_PASS" ssh -o StrictHostKeyChecking=no $ADMIN_USER@$IP \
    "echo $ADMIN_PASS | sudo -S deluser --remove-home $TARGET_USER"
    echo "$IP üzerindeki $TARGET_USER kullanıcısı silindi."
done

Yöntem 2: Ansible Kullanımı (En Profesyonel Yöntem)

Eğer tahtaları sürekli yönetecekseniz, Ansible en güvenli yoldur.

1. Adım: Ansible Kurulumu

Bash
sudo apt update && sudo apt install ansible -y

2. Adım: Envanter Dosyası Oluşturun (hosts.ini)

Ini:
[tahtalar]
192.168.1.10
192.168.1.11
192.168.1.12
# ... diğer IP'ler

3. Adım: Playbook Çalıştırın

Terminalden şu tek satırlık komutu (Ad-hoc command) çalıştırarak tüm tahtalarda kullanıcıyı silebilirsiniz:

Bash
ansible tahtalar -i hosts.ini -m user -a "name=ogrenci state=absent remove=yes" \
--become --become-method=sudo -K
  • state=absent: Kullanıcıyı kaldırır.

  • remove=yes: Ev dizinini (/home/ogrenci) siler.

  • -K: Sizden sudo şifresini ister.


Dikkat Edilmesi Gerekenler

  • Bağlantı Sorunları: Bazı tahtalar kapalı olabilir. Script veya Ansible hata verirse o IP'leri not alıp tahtalar açıldığında işlemi tekrarlamanız gerekir.

  • Yetki Sorunu: deluser komutunu çalıştırırken sudo yetkisine sahip olduğunuzdan emin olun.

  • Giriş Ekranı: Kullanıcı silindikten sonra Pardus giriş ekranında (LightDM/GDM) bu kullanıcı otomatik olarak kaybolacaktır.

  • Eğer dosyaların kalmasını ama girişin engellenmesini istiyorsanız silmek yerine şu komutu gönderebilirsiniz: sudo passwd -l ogrenci (Bu komut şifreyi kilitler).


Ağdaki Tahtaları Otomatik Bulma

Ağdaki tahtaları tek tek tespit etmek yerine, ağ tarama araçlarını kullanarak aktif olan tüm cihazları otomatik olarak bulabilir ve içlerinden Pardus yüklü olanları süzebilirsiniz.

Bunun için en etkili araç nmap (Network Mapper) yazılımıdır. İşte adım adım ağdaki tahtaların IP listesini çıkarma rehberi:


1. Adım: Nmap Kurulumu

Eğer bilgisayarınızda yüklü değilse, terminalden şu komutla kurun:

Bash:
sudo apt update && sudo apt install nmap -y

2. Adım: Ağ Aralığınızı Belirleyin

Kendi IP adresinizi ve ağ maskenizi öğrenerek hangi aralığı tarayacağınızı bulun:

Bash:
ip a

Genellikle 192.168.1.xxx/24 veya 10.0.x.x/24 gibi bir çıktı alırsınız. Buradaki /24 ifadesi tüm ağın taranacağını belirtir.

3. Adım: Akıllı Tahtaları Tarayın ve Filtreleyin

Pardus ETAP yüklü tahtalarda genellikle SSH (port 22) açıktır. Aşağıdaki komut, ağdaki tüm cihazları tarar, SSH portu açık olanları bulur ve sadece IP adreslerini bir dosyaya kaydeder:

Bash:
nmap -p 22 --open -sV 192.168.1.0/24 | grep "Nmap scan report for" | awk '{print $NF}' | tr -d '()' > tahtalar.txt

Komutun açıklaması:

  • -p 22: Sadece SSH portuna bak.

  • --open: Sadece bağlantıya açık olanları göster.

  • 192.168.1.0/24: Sizin ağ aralığınız (Bunu kendi ağınıza göre değiştirin).

  • awk ve grep: Çıktıdaki gereksiz yazıları temizleyip sadece temiz IP listesi bırakır.


4. Adım: Alternatif (Hostname ile Tarama)

Eğer tahtalarınızın isimleri (hostname) etap- veya vestel- gibi bir standartla başlıyorsa, şu komutla isim üzerinden daha kesin bir liste alabilirsiniz:

Bash:
nmap -sL 192.168.1.0/24 | grep -i "etap"

5. Adım: Listeyi Kontrol Edin

Oluşan tahtalar.txt dosyasının içeriğine bakarak doğru cihazları bulup bulmadığınızı teyit edin:

Bash:
cat tahtalar.txt

Önemli İpucu

Eğer tahtalarda SSH portu standart dışı bir portta (örneğin 2222) ise, nmap komutundaki -p 22 kısmını o portla değiştirmeniz gerekir. Ayrıca tahtaların o an açık ve ağa bağlı olduğundan emin olun.

IP listesini oluşturduktan sonra, bir önceki mesajda paylaştığım toplu kullanıcı silme script'ini (Yöntem 1) bu dosya ile doğrudan çalıştırabilirsiniz.

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