วิธีการลบผู้ใช้บน Linux (และลบทุกการติดตาม)

การลบผู้ใช้บน Linux เกี่ยวข้องมากกว่าที่คุณคิด หากคุณเป็นผู้ดูแลระบบคุณจะต้องล้างร่องรอยของบัญชีและการเข้าถึงบัญชีทั้งหมดออกจากระบบของคุณ เราจะแสดงขั้นตอนในการดำเนินการ

หากคุณเพียงแค่ต้องการลบบัญชีผู้ใช้ออกจากระบบของคุณและไม่กังวลเกี่ยวกับการยุติกระบวนการทำงานและงานล้างข้อมูลอื่น ๆ ให้ทำตามขั้นตอนในส่วน“ การลบบัญชีผู้ใช้” ด้านล่าง คุณจะต้องมีdeluserคำสั่งเกี่ยวกับการแจกแจงแบบ Debian และuserdelคำสั่งเกี่ยวกับการกระจาย Linux อื่น ๆ

บัญชีผู้ใช้บน Linux

นับตั้งแต่ระบบแบ่งปันครั้งแรกปรากฏขึ้นในช่วงต้นทศวรรษ 1960 และทำให้ผู้ใช้หลายคนสามารถทำงานบนคอมพิวเตอร์เครื่องเดียวได้จึงจำเป็นต้องแยกและแยกไฟล์และข้อมูลของผู้ใช้แต่ละคนออกจากผู้ใช้รายอื่นทั้งหมด ดังนั้นบัญชีผู้ใช้และรหัสผ่านจึงถือกำเนิดขึ้น

บัญชีผู้ใช้มีค่าใช้จ่ายในการดูแลระบบ ต้องสร้างขึ้นเมื่อผู้ใช้ต้องการเข้าถึงคอมพิวเตอร์เป็นครั้งแรก พวกเขาจะต้องถูกลบออกเมื่อไม่จำเป็นต้องเข้าถึงอีกต่อไป บน Linux มีลำดับขั้นตอนที่ควรปฏิบัติเพื่อลบผู้ใช้ไฟล์และบัญชีของผู้ใช้ออกจากคอมพิวเตอร์อย่างถูกต้องและเป็นระบบ

หากคุณเป็นผู้ดูแลระบบความรับผิดชอบจะตกอยู่กับคุณ นี่คือวิธีดำเนินการ

สถานการณ์ของเรา

มีสาเหตุหลายประการที่อาจต้องลบบัญชี พนักงานอาจย้ายไปอยู่ทีมอื่นหรือออกจาก บริษัท ไปเลย บัญชีอาจถูกตั้งค่าสำหรับความร่วมมือระยะสั้นกับผู้เยี่ยมชมจาก บริษัท อื่น การทำทีมเป็นเรื่องปกติในสถาบันการศึกษาซึ่งโครงการวิจัยสามารถครอบคลุมหน่วยงานมหาวิทยาลัยต่างๆและแม้แต่หน่วยงานเชิงพาณิชย์ ในตอนท้ายของโครงการผู้ดูแลระบบจะต้องดำเนินการทำความสะอาดและลบบัญชีที่ไม่จำเป็นออก

สถานการณ์ที่เลวร้ายที่สุดคือเมื่อมีคนจากไปใต้ก้อนเมฆเพราะความผิดทางอาญา เหตุการณ์ดังกล่าวมักเกิดขึ้นอย่างกะทันหันโดยมีคำเตือนล่วงหน้าเพียงเล็กน้อย ทำให้ผู้ดูแลระบบมีเวลาในการวางแผนน้อยมากและมีความเร่งด่วนในการล็อกปิดและลบบัญชีโดยมีการสำรองสำเนาไฟล์ของผู้ใช้ไว้ในกรณีที่จำเป็นสำหรับการตรวจพิสูจน์หลังการปิดบัญชี

ในสถานการณ์ของเราเราจะแสร้งทำเป็นว่าผู้ใช้ Eric ได้ทำบางสิ่งที่รับประกันว่าเขาจะถูกลบออกจากสถานที่โดยทันที ในขณะนี้เขาไม่รู้เรื่องนี้เขายังทำงานอยู่และเข้าสู่ระบบทันทีที่คุณพยักหน้าให้กับการรักษาความปลอดภัยเขาจะถูกพาออกจากอาคาร

ทุกอย่างพร้อมแล้ว ทุกสายตาจับจ้องคุณ

ตรวจสอบการเข้าสู่ระบบ

มาดูกันว่าเขาเข้าสู่ระบบจริงหรือไม่และถ้าเป็นเขาทำงานด้วยกี่เซสชัน whoคำสั่งจะแสดงรายการการประชุมที่ใช้งาน

Who

เอริคล็อกอินครั้งเดียว มาดูกันว่าเขากำลังใช้กระบวนการอะไรอยู่

การตรวจสอบกระบวนการของผู้ใช้

เราสามารถใช้psคำสั่งเพื่อแสดงรายการกระบวนการที่ผู้ใช้กำลังทำงานอยู่ -u(ผู้ใช้) ตัวเลือกที่ช่วยให้เราบอกpsเพื่อ จำกัด การส่งออกไปยังกระบวนการทำงานภายใต้การครอบครองของบัญชีผู้ใช้ว่า

ps -u eric

เราสามารถดูกระบวนการเดียวกันพร้อมข้อมูลเพิ่มเติมได้โดยใช้topคำสั่ง top นอกจากนี้ยังมี-Uตัวเลือก (ผู้ใช้) เพื่อ จำกัด เอาต์พุตให้กับกระบวนการที่เป็นของผู้ใช้คนเดียว โปรดทราบว่าคราวนี้เป็นตัวพิมพ์ใหญ่“ U. ”

ด้านบน -U eric

เราสามารถดูหน่วยความจำและการใช้งาน CPU ของแต่ละงานและสามารถค้นหาสิ่งที่มีกิจกรรมที่น่าสงสัยได้อย่างรวดเร็ว เรากำลังจะบังคับให้ฆ่ากระบวนการทั้งหมดของเขาดังนั้นจึงปลอดภัยที่สุดที่จะใช้เวลาสักครู่เพื่อตรวจสอบกระบวนการอย่างรวดเร็วและตรวจสอบและตรวจสอบให้แน่ใจว่าผู้ใช้รายอื่นจะไม่เกิดความไม่สะดวกเมื่อคุณยุติericกระบวนการของบัญชีผู้ใช้

ดูเหมือนเขาจะทำอะไรไม่ได้มากแค่ใช้  lessดูไฟล์ เราปลอดภัยที่จะดำเนินการต่อ แต่ก่อนที่เราจะฆ่ากระบวนการของเขาเราจะหยุดบัญชีโดยการล็อกรหัสผ่าน

ที่เกี่ยวข้อง: วิธีใช้คำสั่ง ps เพื่อตรวจสอบกระบวนการของ Linux

การล็อคบัญชี

เราจะล็อกบัญชีก่อนที่จะฆ่ากระบวนการเพราะเมื่อเราฆ่ากระบวนการนั้นจะทำให้ผู้ใช้ออกจากระบบ หากเราเปลี่ยนรหัสผ่านไปแล้วเขาจะไม่สามารถกลับเข้าสู่ระบบได้อีก

รหัสผ่านผู้ใช้ที่เข้ารหัสจะถูกเก็บไว้ใน/etc/shadowไฟล์ โดยปกติคุณจะไม่ต้องกังวลกับขั้นตอนถัดไปเหล่านี้ แต่เพื่อที่คุณจะได้เห็นว่าเกิดอะไรขึ้นใน/etc/shadow ไฟล์เมื่อคุณล็อกบัญชีเราจะเบี่ยงออกเล็กน้อย เราสามารถใช้คำสั่งต่อไปนี้เพื่อดูสองช่องแรกของรายการสำหรับ  eric บัญชีผู้ใช้

sudo awk -F: '/ eric / {พิมพ์ $ 1, $ 2}' / etc / shadow

คำสั่ง awk จะแยกวิเคราะห์ฟิลด์จากไฟล์ข้อความและเลือกที่จะจัดการฟิลด์เหล่านั้น เรากำลังใช้-Fตัวเลือก (ตัวคั่นฟิลด์) เพื่อบอกawkว่าไฟล์นั้นใช้เครื่องหมายจุดคู่” :” เพื่อแยกฟิลด์ เราจะค้นหาเส้นที่มีรูปแบบ "eric" อยู่ สำหรับบรรทัดที่ตรงกันเราจะพิมพ์ฟิลด์แรกและฟิลด์ที่สอง นี่คือชื่อบัญชีและรหัสผ่านที่เข้ารหัส

รายการสำหรับบัญชีผู้ใช้ eric ถูกพิมพ์ให้เรา

ในการล็อคบัญชีเราใช้passwdคำสั่ง เราจะใช้-lตัวเลือก (ล็อค) และส่งต่อในชื่อบัญชีผู้ใช้เพื่อล็อค

sudo passwd -l eric

หากเราตรวจสอบ/etc/passwdไฟล์อีกครั้งเราจะพบว่าเกิดอะไรขึ้น

sudo awk -F: '/ eric / {พิมพ์ $ 1, $ 2}' / etc / shadow

มีการเพิ่มเครื่องหมายตกใจที่จุดเริ่มต้นของรหัสผ่านที่เข้ารหัส มันไม่ได้เขียนทับอักขระตัวแรก แต่จะถูกเพิ่มเข้าไปในจุดเริ่มต้นของรหัสผ่าน นั่นคือทั้งหมดที่จำเป็นเพื่อป้องกันไม่ให้ผู้ใช้สามารถเข้าสู่ระบบบัญชีนั้นได้

ตอนนี้เราได้ป้องกันไม่ให้ผู้ใช้กลับเข้าสู่ระบบอีกครั้งเราสามารถฆ่ากระบวนการของเขาและออกจากระบบได้

ฆ่ากระบวนการ

มีหลายวิธีในการฆ่ากระบวนการของผู้ใช้ แต่คำสั่งที่แสดงที่นี่สามารถใช้ได้อย่างกว้างขวางและเป็นการใช้งานที่ทันสมัยกว่าทางเลือกอื่น ๆ pkillคำสั่งจะค้นหาและฆ่ากระบวนการ เรากำลังส่งสัญญาณ KILL และใช้-uตัวเลือก (ผู้ใช้)

sudo pkill -KILL -u eric

คุณกลับไปที่พรอมต์คำสั่งในรูปแบบต่อต้านจุดสุดยอด เพื่อให้แน่ใจว่ามีบางอย่างเกิดขึ้นโปรดตรวจสอบwhoอีกครั้ง:

Who

เซสชั่นของเขาหายไป เขาถูกออกจากระบบและกระบวนการของเขาถูกหยุด นั่นคือความเร่งด่วนบางประการจากสถานการณ์ ตอนนี้เราสามารถผ่อนคลายได้เล็กน้อยและดำเนินการต่อด้วยการถูส่วนที่เหลือเนื่องจากการรักษาความปลอดภัยเดินไปที่โต๊ะทำงานของ Eric

ที่เกี่ยวข้อง: วิธีฆ่ากระบวนการจาก Linux Terminal

การเก็บถาวรไดเร็กทอรีหลักของผู้ใช้

ไม่หมดคำถามที่ว่าในสถานการณ์เช่นนี้จะต้องมีการเข้าถึงไฟล์ของผู้ใช้ในอนาคต ไม่ว่าจะเป็นส่วนหนึ่งของการสอบสวนหรือเพียงเพราะการแทนที่อาจต้องอ้างอิงกลับไปที่งานของบรรพบุรุษ เราจะใช้tarคำสั่งเพื่อเก็บถาวรโฮมไดเร็กทอรีทั้งหมด

ตัวเลือกที่เราใช้คือ:

  • c : สร้างไฟล์เก็บถาวร
  • f : ใช้ชื่อไฟล์ที่ระบุสำหรับชื่อของไฟล์เก็บถาวร
  • j : ใช้การบีบอัด bzip2
  • v : ระบุเอาต์พุต verbose เมื่อสร้างไฟล์เก็บถาวร
sudo tar cfjv eric-20200820.tar.bz / home / eric

เอาต์พุตหน้าจอจำนวนมากจะเลื่อนในหน้าต่างเทอร์มินัล หากต้องการตรวจสอบว่ามีการสร้างไฟล์เก็บถาวรแล้วให้ใช้lsคำสั่ง เรากำลังใช้ตัวเลือก-l(รูปแบบยาว) และ-h(มนุษย์อ่านได้)

ls -lh eric-20200802.tar.bz

สร้างไฟล์ขนาด 722 MB แล้ว ซึ่งสามารถคัดลอกได้ในที่ปลอดภัยเพื่อตรวจสอบในภายหลัง

การลบงาน cron

เราควรที่จะตรวจสอบในกรณีที่มีผู้ใดเป็นงานที่กำหนดสำหรับบัญชีผู้ใช้cron งานเป็นคำสั่งที่ถูกเรียกในช่วงเวลาที่ระบุหรือช่วงเวลา เราสามารถตรวจสอบว่ามีงานที่กำหนดไว้สำหรับบัญชีผู้ใช้นี้หรือไม่โดยใช้:ericcroncronls

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

หากมีสิ่งใดอยู่ในตำแหน่งนี้หมายความว่ามีcronงานอยู่ในคิวสำหรับบัญชีผู้ใช้นั้น เราสามารถลบได้ด้วยcrontabคำสั่งนี้ -r(ลบ) ตัวเลือกที่จะลบงานและ-u(ผู้ใช้) ตัวเลือกที่บอกว่าcrontabมีงานที่จะลบ

sudo crontab -r -u eric

งานจะถูกลบโดยไม่โต้ตอบ สำหรับทุกสิ่งที่เรารู้ถ้าอีริคสงสัยว่าเขากำลังจะถูกขับไล่เขาอาจกำหนดให้มีงานที่มุ่งร้าย ขั้นตอนนี้เป็นแนวทางปฏิบัติที่ดีที่สุด

การลบงานพิมพ์

บางทีผู้ใช้อาจรองานพิมพ์อยู่? เพียงเพื่อให้แน่ใจว่าเราสามารถล้างคิวการพิมพ์ของงานใด ๆ ericที่อยู่ในบัญชีผู้ใช้ lprmคำสั่งเอางานจากคิวการพิมพ์ -U(username) ตัวเลือกที่ช่วยให้คุณลบงานที่เป็นเจ้าของโดยบัญชีผู้ใช้ชื่อ:

lprm -U eric

งานจะถูกลบออกและคุณจะกลับไปที่บรรทัดคำสั่ง

การลบบัญชีผู้ใช้

เราได้สำรองไฟล์จาก/home/eric/ไดเร็กทอรีไว้แล้วดังนั้นเราจึงสามารถลบบัญชีผู้ใช้และลบ/home/eric/ไดเร็กทอรีได้ในเวลาเดียวกัน

คำสั่งที่จะใช้ขึ้นอยู่กับการกระจายของ Linux ที่คุณใช้ สำหรับลินุกซ์ Debian ตามคำสั่งและสำหรับส่วนที่เหลือของโลกลินุกซ์ก็เป็นdeluseruserdel

จริงๆแล้วบน Ubuntu มีทั้งคำสั่ง ฉันคาดว่าครึ่งหนึ่งจะเป็นนามแฝงของอีกคนหนึ่ง แต่เป็นไบนารีที่แตกต่างกัน

พิมพ์ deluser
พิมพ์ userdel

แม้ว่าจะพร้อมใช้งานทั้งคู่คำแนะนำคือให้ใช้deluserกับการแจกแจงที่ได้จาก Debian:

userdelเป็นยูทิลิตี้ระดับต่ำสำหรับการลบผู้ใช้ ใน Debian ผู้ดูแลระบบควรใช้deluser(8) แทน”

นั่นเป็นที่ชัดเจนเพียงพอดังนั้นคำสั่งที่ใช้ในคอมพิวเตอร์ของ Ubuntu deluserนี้อยู่ เนื่องจากเราต้องการให้โฮมไดเร็กทอรีของพวกเขาถูกลบเราจึงใช้--remove-homeแฟล็ก:

sudo deluser - ลบบ้าน eric

คำสั่งที่ใช้สำหรับการแจกแจงแบบไม่ใช่ Debian คือuserdelโดยมี--removeแฟล็ก:

sudo userdel - ลบ eric

ลบร่องรอยของบัญชีผู้ใช้ทั้งหมดericแล้ว เราสามารถตรวจสอบว่า /home/eric/ไดเร็กทอรีถูกลบ:

ls / home

ericกลุ่มที่ยังได้ถูกลบออกเนื่องจากบัญชีผู้ใช้ericเป็นเพียงรายการเดียวในนั้น เราสามารถตรวจสอบสิ่งนี้ได้อย่างง่ายดายโดยการไพพ์เนื้อหา/etc/groupผ่านgrep:

sudo น้อยลง / etc / group | grep eric

มันเป็นห่อ

เอริคเพราะบาปของเขาหายไป การรักษาความปลอดภัยยังคงพาเขาออกจากอาคารและคุณได้รักษาความปลอดภัยและเก็บไฟล์ของเขาแล้วลบบัญชีของเขาและล้างระบบของส่วนที่เหลือ

ความแม่นยำเหนือกว่าความเร็วเสมอ อย่าลืมพิจารณาแต่ละขั้นตอนก่อนที่จะดำเนินการ คุณไม่ต้องการให้ใครบางคนเดินมาที่โต๊ะทำงานของคุณและพูดว่า "ไม่อีกคนเอริค"