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:
IP Listesi: Tüm tahtaların IP adreslerini içeren bir metin dosyanız olmalı (Örn:
tahtalar.txt).SSH Erişimi: Tahtalarda SSH servisinin açık ve yetkili bir kullanıcıya (genelde
etapadmin) erişiminizin olması gerekir.Yedekleme:
ogrencikullanı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:
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
#!/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
sudo apt update && sudo apt install ansible -y
2. Adım: Envanter Dosyası Oluşturun (hosts.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:
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:
deluserkomutunu çalıştırırkensudoyetkisine 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:
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:
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:
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).awkvegrep: Çı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:
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:
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