Cara Menghapus Pengguna di Linux (dan Menghapus Setiap Jejak)

Menghapus pengguna di Linux melibatkan lebih dari yang Anda pikirkan. Jika Anda seorang administrator sistem, Anda pasti ingin membersihkan semua jejak akun dan aksesnya dari sistem Anda. Kami akan menunjukkan kepada Anda langkah-langkah yang harus diambil.

Jika Anda hanya ingin menghapus akun pengguna dari sistem Anda dan tidak khawatir tentang mengakhiri proses yang sedang berjalan dan tugas pembersihan lainnya, ikuti langkah-langkah di bagian "Menghapus Akun Pengguna" di bawah. Anda memerlukan deluserperintah pada distribusi berbasis Debian dan userdelperintah pada distribusi Linux lainnya.

Akun Pengguna di Linux

Sejak sistem berbagi waktu pertama kali muncul di awal 1960-an dan membawa serta kemampuan bagi banyak pengguna untuk bekerja di satu komputer, ada kebutuhan untuk mengisolasi dan memisahkan file dan data setiap pengguna dari semua pengguna lain. Maka akun pengguna — dan kata sandi — lahir.

Akun pengguna memiliki biaya administrasi. Mereka perlu dibuat saat pengguna pertama kali membutuhkan akses ke komputer. Mereka perlu dihapus ketika akses itu tidak lagi diperlukan. Di Linux, ada urutan langkah yang harus diikuti untuk menghapus pengguna, file, dan akun mereka dari komputer dengan benar dan metodis.

Jika Anda adalah administrator sistem, tanggung jawab itu berada di tangan Anda. Berikut cara melakukannya.

Skenario Kami

Ada beberapa alasan mengapa akun mungkin perlu dihapus. Seorang anggota staf mungkin pindah ke tim yang berbeda atau meninggalkan perusahaan sama sekali. Akun tersebut mungkin telah disiapkan untuk kolaborasi jangka pendek dengan pengunjung dari perusahaan lain. Kerja sama adalah hal biasa di dunia akademis, di mana proyek penelitian dapat menjangkau departemen, universitas yang berbeda, dan bahkan entitas komersial. Pada akhir proyek, administrator sistem harus melakukan pembersihan dan menghapus akun yang tidak perlu.

Skenario terburuk adalah ketika seseorang pergi dari bawah awan karena pelanggaran ringan. Peristiwa seperti itu biasanya terjadi secara tiba-tiba, dengan sedikit peringatan sebelumnya. Hal itu memberi administrator sistem waktu yang sangat sedikit untuk merencanakan, dan urgensi untuk mengunci, menutup, dan menghapus akun — dengan salinan file pengguna dicadangkan jika diperlukan untuk forensik pasca-penutupan.

Dalam skenario kami, kami akan berpura-pura bahwa seorang pengguna, Eric, telah melakukan sesuatu yang mengharuskannya segera dikeluarkan dari lokasi. Saat ini dia tidak menyadari hal ini, dia masih bekerja, dan masuk. Segera setelah Anda memberikan anggukan kepada keamanan, dia akan diantar dari gedung.

Semuanya sudah siap. Semua mata tertuju padamu.

Periksa Login

Mari kita lihat apakah dia benar-benar masuk dan, jika dia, berapa banyak sesi yang dia kerjakan. The whoperintah akan daftar sesi aktif.

WHO

Eric masuk sekali. Mari kita lihat proses apa yang dia jalankan.

Meninjau Proses Pengguna

Kita dapat menggunakan psperintah untuk membuat daftar proses yang dijalankan pengguna ini. Opsi -u(pengguna) memungkinkan kami memberi tahu psuntuk membatasi outputnya ke proses yang berjalan di bawah kepemilikan akun pengguna tersebut.

ps -u eric

Kita dapat melihat proses yang sama dengan lebih banyak informasi menggunakan topperintah. top juga memiliki -Uopsi (pengguna) untuk membatasi keluaran ke proses yang dimiliki oleh satu pengguna. Perhatikan bahwa kali ini huruf besar "U."

atas -U eric

Kami dapat melihat penggunaan memori dan CPU untuk setiap tugas, dan dapat dengan cepat mencari apa pun dengan aktivitas yang mencurigakan. Kami akan secara paksa menghentikan semua prosesnya, jadi yang paling aman adalah meluangkan waktu sejenak untuk meninjau proses dengan cepat, dan memeriksa serta memastikan bahwa pengguna lain tidak akan direpotkan saat Anda menghentikan ericproses akun pengguna .

Sepertinya dia tidak melakukan banyak hal, hanya menggunakan  lessuntuk melihat file. Kami aman untuk melanjutkan. Tetapi sebelum kami menghentikan prosesnya, kami akan membekukan akun dengan mengunci kata sandi.

TERKAIT: Cara Menggunakan Perintah ps untuk Memantau Proses Linux

Mengunci Akun

Kami akan mengunci akun sebelum kami menghentikan proses karena ketika kami menghentikan proses, pengguna akan keluar. Jika kita sudah mengubah kata sandinya, dia tidak akan bisa login kembali.

Kata sandi pengguna terenkripsi disimpan di dalam /etc/shadowfile. Biasanya Anda tidak akan repot dengan langkah-langkah selanjutnya ini, tetapi agar Anda dapat melihat apa yang terjadi di /etc/shadow file saat Anda mengunci akun, kami akan mengambil jalan memutar. Kita dapat menggunakan perintah berikut untuk melihat dua bidang entri pertama untuk  eric akun pengguna.

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

Perintah awk mengurai bidang dari file teks dan secara opsional memanipulasinya. Kami menggunakan opsi -F(pemisah bidang) untuk memberi tahu awkbahwa file menggunakan titik dua " :" untuk memisahkan bidang. Kami akan mencari garis dengan pola "eric" di dalamnya. Untuk garis yang cocok, kami akan mencetak bidang pertama dan kedua. Ini adalah nama akun dan kata sandi terenkripsi.

Entri untuk akun pengguna eric dicetak untuk kami.

Untuk mengunci akun kami menggunakan passwdperintah. Kami akan menggunakan opsi -l(kunci) dan memasukkan nama akun pengguna untuk mengunci.

sudo passwd -l eric

Jika kami memeriksa /etc/passwdfile itu lagi, kami akan melihat apa yang terjadi.

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

Tanda seru telah ditambahkan ke awal kata sandi terenkripsi. Itu tidak menimpa karakter pertama, itu hanya ditambahkan ke awal kata sandi. Itu saja yang diperlukan untuk mencegah pengguna masuk ke akun itu.

Sekarang kita telah mencegah pengguna untuk masuk kembali, kita dapat menghentikan prosesnya dan mengeluarkannya.

Membunuh Proses

Ada berbagai cara untuk menghentikan proses pengguna, tetapi perintah yang ditampilkan di sini tersedia secara luas dan merupakan implementasi yang lebih modern daripada beberapa alternatif. The pkillperintah akan menemukan dan proses kill. Kami mengirimkan sinyal KILL, dan menggunakan opsi -u(pengguna).

sudo pkill -KILL -u eric

Anda kembali ke prompt perintah dengan cara yang sangat anti-klimaks. Untuk memastikan sesuatu terjadi, mari kita periksa wholagi:

WHO

Sesi dia hilang. Dia telah dikeluarkan dan prosesnya telah dihentikan. Itu menghilangkan beberapa urgensi dari situasi tersebut. Sekarang kita bisa sedikit bersantai dan melanjutkan dengan sisa pengepel saat petugas keamanan berjalan ke meja Eric.

TERKAIT: Cara Membunuh Proses Dari Terminal Linux

Mengarsipkan Direktori beranda Pengguna

Tidak keluar dari pertanyaan bahwa dalam skenario seperti ini, akses ke file pengguna akan diperlukan di masa mendatang. Baik sebagai bagian dari penyelidikan atau hanya karena penggantinya mungkin perlu merujuk kembali ke pekerjaan pendahulunya. Kami akan menggunakan tarperintah untuk mengarsipkan seluruh direktori home mereka.

Opsi yang kami gunakan adalah:

  • c : Buat file arsip.
  • f : Gunakan nama file yang ditentukan untuk nama arsip.
  • j : Gunakan kompresi bzip2.
  • v : Memberikan keluaran verbose saat arsip dibuat.
sudo tar cfjv eric-20200820.tar.bz / home / eric

Banyak output layar akan bergulir di jendela terminal. Untuk memeriksa arsip telah dibuat, gunakan lsperintah. Kami menggunakan opsi -l(format panjang) dan -h(dapat dibaca manusia).

ls -lh eric-20200802.tar.bz

File 722 MB telah dibuat. Ini dapat disalin di tempat yang aman untuk ditinjau nanti.

Menghapus Pekerjaan cron

Sebaiknya kami memeriksa apakah ada cronpekerjaan yang dijadwalkan untuk akun pengguna eric. Sebuah cronpekerjaan adalah perintah yang dipicu pada waktu atau selang waktu tertentu. Kami dapat memeriksa apakah ada cronpekerjaan yang dijadwalkan untuk akun pengguna ini dengan menggunakan ls:

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

Jika ada sesuatu di lokasi ini, artinya ada cronpekerjaan yang antri untuk akun pengguna tersebut. Kami dapat menghapusnya dengan crontabperintah ini . Opsi -r(hapus) akan menghapus pekerjaan, dan opsi -u(pengguna) memberi tahu crontabtugas siapa yang akan dihapus.

sudo crontab -r -u eric

Pekerjaan dihapus secara diam-diam. Sejauh yang kita tahu, jika Eric curiga dia akan diusir, dia mungkin telah menjadwalkan pekerjaan yang berbahaya. Langkah ini adalah praktik terbaik.

Menghapus Pekerjaan Cetak

Mungkin pengguna memiliki pekerjaan cetak yang tertunda? Hanya untuk memastikan, kami dapat membersihkan antrian cetak dari semua pekerjaan milik akun pengguna eric. The lprmperintah menghapus pekerjaan dari antrian cetak. Opsi -U(nama pengguna) memungkinkan Anda menghapus pekerjaan yang dimiliki oleh akun pengguna yang disebutkan:

lprm -U eric

Pekerjaan dihapus dan Anda kembali ke baris perintah.

Menghapus Akun Pengguna

Kami telah mencadangkan file dari /home/eric/direktori, jadi kami dapat melanjutkan dan menghapus akun pengguna dan menghapus /home/eric/direktori pada saat yang bersamaan.

Perintah yang akan digunakan bergantung pada distribusi Linux yang Anda gunakan. Untuk distribusi Linux berbasis Debian, perintahnya adalah deluser, dan untuk dunia Linux lainnya, adalah userdel.

Sebenarnya, di Ubuntu kedua perintah tersebut tersedia. Saya setengah berharap yang satu menjadi alias dari yang lain, tetapi mereka adalah biner yang berbeda.

ketik deluser
ketik userdel

Meskipun keduanya tersedia, rekomendasinya adalah untuk digunakan deluserpada distribusi turunan Debian:

userdelAdalah utilitas tingkat rendah untuk menghapus pengguna. Di Debian, administrator biasanya menggunakan deluser(8) sebagai gantinya. ”

Itu cukup jelas, jadi perintah yang akan digunakan di komputer Ubuntu ini adalah deluser. Karena kami juga ingin direktori home mereka dihapus, kami menggunakan --remove-homebendera:

sudo deluser - eric hapus-rumah

Perintah yang digunakan untuk distribusi non-Debian adalah userdel, dengan --removebendera:

sudo userdel --hapus eric

Semua jejak akun pengguna erictelah dihapus. Kami dapat memeriksa bahwa /home/eric/direktori telah dihapus:

ls / home

The erickelompok juga telah dihapus karena account pengguna ericadalah satu-satunya masuk di dalamnya. Kita dapat memeriksanya dengan cukup mudah dengan menyalurkan konten /etc/groupmelalui grep:

sudo kurang / etc / group | grep eric

Ini Bungkus

Eric, karena dosa-dosanya, telah pergi. Keamanan masih memintanya keluar dari gedung dan Anda telah mengamankan dan mengarsipkan file-nya, menghapus akunnya, dan membersihkan sistem dari semua sisa.

Akurasi selalu mengalahkan kecepatan. Pastikan Anda mempertimbangkan setiap langkah sebelum mengambilnya. Anda tidak ingin seseorang berjalan ke meja Anda dan berkata "Tidak, Eric yang lain."