Linux'ta Bir Kullanıcı Nasıl Silinir (ve Her İzi Kaldırmak)

Linux'ta bir kullanıcıyı silmek sandığınızdan daha fazlasını içerir. Bir sistem yöneticisiyseniz, hesabın tüm izlerini ve sisteminizden erişimini temizlemek isteyeceksiniz. Size atmanız gereken adımları göstereceğiz.

Yalnızca bir kullanıcı hesabını sisteminizden silmek istiyorsanız ve çalışan herhangi bir işlemi ve diğer temizleme görevlerini sonlandırmakla ilgilenmiyorsanız, aşağıdaki "Kullanıcı Hesabını Silme" bölümündeki adımları izleyin. Şunlar gerekir deluserDebian tabanlı dağıtımlarında komuta ve userdeldiğer Linux dağıtımlarında komutu.

Linux'ta Kullanıcı Hesapları

1960'ların başında ilk kez paylaşımlı sistemler ortaya çıktığından ve onlarla birlikte birden fazla kullanıcının tek bir bilgisayarda çalışabilmesini sağladığından beri, her bir kullanıcının dosyalarını ve verilerini diğer tüm kullanıcılardan ayırma ve bölümlere ayırma ihtiyacı doğmuştur. Ve böylece kullanıcı hesapları ve parolalar doğdu.

Kullanıcı hesaplarının bir yönetim ek yükü vardır. Kullanıcının bilgisayara ilk kez erişmesi gerektiğinde yaratılmaları gerekir. Bu erişim artık gerekli olmadığında kaldırılmaları gerekir. Linux'ta, kullanıcıyı, dosyalarını ve hesaplarını bilgisayardan doğru ve metodik olarak kaldırmak için izlenmesi gereken bir dizi adım vardır.

Sistem yöneticisi iseniz bu sorumluluk size aittir. İşte bunun nasıl yapılacağı.

Senaryomuz

Bir hesabın silinmesi için pek çok neden vardır. Bir personel başka bir ekibe taşınıyor veya şirketten tamamen ayrılıyor olabilir. Hesap, başka bir şirketten gelen bir ziyaretçiyle kısa vadeli bir işbirliği için ayarlanmış olabilir. Araştırma projelerinin departmanları, farklı üniversiteleri ve hatta ticari kuruluşları kapsayabildiği akademide ekipler yaygındır. Projenin sonunda, sistem yöneticisi temizlik işini yapmalı ve gereksiz hesapları kaldırmalıdır.

En kötü durum senaryosu, bir kişinin bir kabahat nedeniyle bulutun altında kalmasıdır. Bu tür olaylar genellikle çok az ön uyarı ile aniden olur. Bu, sistem yöneticisine planlama yapması için çok az zaman ve kapatma sonrası adli tıp için gerekli olması durumunda kullanıcı dosyalarının bir kopyasının yedeklenmesiyle hesabı kilitlemek, kapatmak ve silmek için aciliyet sağlar.

Senaryomuzda, Eric adlı bir kullanıcının tesisten derhal kaldırılmasını garanti eden bir şey yaptığını varsayacağız. Şu anda bunun farkında değil, hala çalışıyor ve oturum açmış durumda. Güvenliğe selam verir vermez, binadan dışarı çıkarılacak.

Her şey ayarlandı. Tüm gözler senin üzerinde.

Girişi kontrol edin

Bakalım gerçekten oturum açmış mı ve eğer öyleyse kaç seans ile çalışıyor. whoKomut aktif oturumlar listelenir.

DSÖ

Eric bir kez oturum açtı. Bakalım hangi süreçleri çalıştırıyor.

Kullanıcının Süreçlerini Gözden Geçirme

psBu kullanıcının çalıştırdığı işlemleri listelemek için komutu kullanabiliriz . -u(Kullanıcı) seçeneği bize bildirmenizi sağlar psbu kullanıcı hesabının sahipliği altında çalışan süreçlere çıkışını kısıtlamak için.

ps -u eric

topKomutu kullanarak aynı işlemleri daha fazla bilgi ile görebiliriz . top ayrıca, -Uçıktıyı tek bir kullanıcının sahip olduğu işlemlerle sınırlamak için bir (kullanıcı) seçeneğine sahiptir. Bu sefer büyük "U" olduğunu unutmayın.

top -U eric

Her görevin bellek ve CPU kullanımını görebilir ve şüpheli aktivite olan her şeyi hızlıca arayabiliriz. Tüm süreçlerini zorla öldürmek üzereyiz, bu nedenle en güvenli olanı, süreçleri hızlı bir şekilde gözden geçirmek ve kullanıcı hesabının ericişlemlerini sonlandırdığınızda diğer kullanıcıların rahatsız olmayacağından emin olmaktır .

Görünüşe göre pek bir şey yapmıyor, sadece lessdosyayı görüntülemek için kullanıyor  . Devam etmek için güvendeyiz. Ancak işlemlerini sonlandırmadan önce, şifreyi kilitleyerek hesabı donduracağız.

İLGİLİ: Linux İşlemlerini İzlemek için ps Komutu Nasıl Kullanılır

Hesabı Kilitleme

İşlemleri sonlandırmadan önce hesabı kilitleyeceğiz çünkü işlemleri sonlandırdığımızda kullanıcı oturumunu kapatacaktır. Daha önce şifresini değiştirmişsek, tekrar giriş yapamaz.

Şifrelenmiş kullanıcı şifreleri /etc/shadowdosyada saklanır . Normalde bu sonraki adımlarla uğraşmazsınız, ancak /etc/shadow hesabı kilitlediğinizde dosyada ne olduğunu görebilmeniz için küçük bir sapma yapacağız. eric Kullanıcı hesabına ait girişin ilk iki alanına bakmak için aşağıdaki komutu kullanabiliriz  .

sudo awk -F: '/ eric / {baskı $ 1, $ 2}' / etc / shadow

Awk komutu, metin dosyalarındaki alanları ayrıştırır ve isteğe bağlı olarak onları işler. Dosyanın alanları ayırmak için iki nokta üst üste ” ” kullandığını -Fsöylemek için (alan ayırıcı) seçeneğini awkkullanıyoruz :. İçinde "eric" olan bir çizgi arayacağız. Eşleşen satırlar için birinci ve ikinci alanları yazdıracağız. Bunlar hesap adı ve şifrelenmiş şifredir.

Eric kullanıcı hesabı girişi bizim için basılmıştır.

Hesabı kilitlemek için passwdkomutunu kullanıyoruz. -l(Kilitle) seçeneğini kullanacağız ve kilitlemek için kullanıcı hesabının adını vereceğiz.

sudo passwd -l eric

/etc/passwdDosyayı tekrar kontrol edersek , ne olduğunu göreceğiz.

sudo awk -F: '/ eric / {baskı $ 1, $ 2}' / etc / shadow

Şifrelenmiş parolanın başına bir ünlem işareti eklendi. İlk karakterin üzerine yazmaz, sadece şifrenin başına eklenir. Bir kullanıcının o hesapta oturum açmasını önlemek için gereken tek şey bu.

Artık kullanıcının tekrar oturum açmasını engellediğimize göre, işlemlerini durdurabilir ve oturumu kapatabiliriz.

Süreçleri Öldürmek

Bir kullanıcının işlemlerini öldürmenin farklı yolları vardır, ancak burada gösterilen komut yaygın olarak mevcuttur ve bazı alternatiflerden daha modern bir uygulamadır. pkillKomut bulup öldürme süreçleri olacaktır. KILL sinyalini iletiyoruz ve -u(kullanıcı) seçeneğini kullanıyoruz.

sudo pkill -KILL -u eric

Kesinlikle iklim dışı bir şekilde komut istemine geri döndünüz. Bir şey olduğundan emin olmak için whotekrar kontrol edelim :

DSÖ

Seansı bitti. Oturumu kapatıldı ve işlemleri durduruldu. Bu durum aciliyetin bir kısmını aldı. Şimdi biraz rahatlayabiliriz ve güvenlik Eric'in masasına doğru yürürken paspaslamanın geri kalanına devam edebiliriz.

İLGİLİ: Linux Terminalinden İşlemler Nasıl Öldürülür

Kullanıcının ana dizinini arşivleme

Bunun gibi bir senaryoda, gelecekte kullanıcının dosyalarına erişimin gerekeceği söz konusu değildir. Ya bir soruşturmanın parçası olarak ya da basitçe değiştirilmelerinin selefinin çalışmalarına geri dönmesi gerekebileceği için. tarKomutu, tüm ana dizinlerini arşivlemek için kullanacağız .

Kullandığımız seçenekler şunlardır:

  • c : Bir arşiv dosyası oluşturun.
  • f : Arşivin adı için belirtilen dosya adını kullanın.
  • j : bzip2 sıkıştırmasını kullan.
  • v : Arşiv oluşturulurken ayrıntılı çıktı sağlayın.
sudo tar cfjv eric-20200820.tar.bz / ev / eric

Terminal penceresinde çok sayıda ekran çıktısı kayacaktır. Arşivin oluşturulup oluşturulmadığını kontrol etmek için lskomutu kullanın. Biz kullanıyoruz -l(uzun biçim) ve -h(okunabilir) seçenekleri.

ls -lh eric-20200802.tar.bz

722 MB'lık bir dosya oluşturuldu. Bu, daha sonra incelenmek üzere güvenli bir yere kopyalanabilir.

Cron Jobs kaldırılıyor

cronKullanıcı hesabı için planlanmış herhangi bir iş olup olmadığını kontrol etsek iyi olur eric. Bir croniş Belirtilen zamanlarda veya aralıklarla tetiklenir bir komuttur. Bunu kullanarak cronbu kullanıcı hesabı için planlanmış herhangi bir iş olup olmadığını kontrol edebiliriz ls:

sudo ls -lh / var / biriktirme / cron / crontabs / eric

Bu konumda herhangi bir şey varsa, bu crono kullanıcı hesabı için sıraya alınmış işler olduğu anlamına gelir . Bunları bu crontabkomutla silebiliriz . -r(Remove) seçeneği işleri kaldıracak ve -u(kullanıcı) seçeneği söyler crontabkimin işleri kaldırın.

sudo crontab -r -u eric

İşler sessizce silinir. Tek bildiğimiz, Eric tahliye edilmek üzere olduğundan şüphelenmiş olsaydı, kötü niyetli bir iş planlamış olabilirdi. Bu adım, en iyi uygulamadır.

Yazdırma İşlerini Kaldırma

Belki de kullanıcının bekleyen yazdırma işleri vardı? Emin olmak için, kullanıcı hesabına ait tüm işlerin yazdırma kuyruğunu temizleyebiliriz eric. lprmKomut yazdırma kuyruğundan işleri kaldırır. -U(Kullanıcı adı) seçeneği adlandırılmış kullanıcı hesaba ait işleri kaldırmak sağlar:

lprm -U eric

İşler kaldırılır ve komut satırına geri dönersiniz.

Kullanıcı Hesabını Silme

Dosyaları dizinden zaten yedekledik /home/eric/, böylece devam edip kullanıcı hesabını silebilir /home/eric/ve aynı zamanda dizini silebiliriz .

Kullanılacak komut, kullandığınız Linux dağıtımına bağlıdır. Debian tabanlı Linux dağıtımları için komut şudur deluserve Linux dünyasının geri kalanı için öyledir userdel.

Aslında, Ubuntu'da her iki komut da mevcuttur. Birinin diğerinin takma adı olmasını yarı tahmin ettim, ancak bunlar farklı ikili dosyalar.

tür ayırıcı
userdel yazın

İkisi de mevcut olsa da, öneri deluserDebian'dan türetilmiş dağıtımlarda kullanılmasıdır:

userdelKullanıcıları kaldırmak için düşük seviyeli bir yardımcı programdır. Debian'da, yöneticiler genellikle deluserbunun yerine (8) kullanmalıdır. "

Bu yeterince açık, bu yüzden bu Ubuntu bilgisayarında kullanılacak komut deluser. Ana dizinlerinin de kaldırılmasını istediğimiz için şu --remove-homebayrağı kullanıyoruz :

sudo deluser --remove-home eric

Debian dışı dağıtımlar için kullanılacak komut userdelşu --removebayrakla verilmiştir:

sudo userdel - eric'i kaldır

Kullanıcı hesabının tüm izleri ericsilindi. /home/eric/Dizinin kaldırılıp kaldırılmadığını kontrol edebiliriz :

ls / ev

ericKullanıcı hesabı nedeniyle grup da kaldırıldı ericiçinde sadece giriş oldu. İçeriğini /etc/groupkullanarak bunu oldukça kolay bir şekilde kontrol edebiliriz grep:

sudo daha az / etc / group | grep eric

Bu bir Sargı

Eric, günahlarından dolayı gitti. Güvenlik hala onu binadan çıkarıyor ve siz zaten onun dosyalarını güvenli hale getirip arşivlediniz, hesabını sildiniz ve sistemi kalıntılardan arındırdınız.

Doğruluk her zaman hızdan üstündür. Atmadan önce her adımı düşündüğünüzden emin olun. Birinin masanıza gelip "Hayır, diğer Eric" demesini istemezsiniz.