วิธีการลบผู้ใช้บน 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
งานเป็นคำสั่งที่ถูกเรียกในช่วงเวลาที่ระบุหรือช่วงเวลา เราสามารถตรวจสอบว่ามีงานที่กำหนดไว้สำหรับบัญชีผู้ใช้นี้หรือไม่โดยใช้:eric
cron
cron
ls
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 ตามคำสั่งและสำหรับส่วนที่เหลือของโลกลินุกซ์ก็เป็นdeluser
userdel
จริงๆแล้วบน 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
มันเป็นห่อ
เอริคเพราะบาปของเขาหายไป การรักษาความปลอดภัยยังคงพาเขาออกจากอาคารและคุณได้รักษาความปลอดภัยและเก็บไฟล์ของเขาแล้วลบบัญชีของเขาและล้างระบบของส่วนที่เหลือ
ความแม่นยำเหนือกว่าความเร็วเสมอ อย่าลืมพิจารณาแต่ละขั้นตอนก่อนที่จะดำเนินการ คุณไม่ต้องการให้ใครบางคนเดินมาที่โต๊ะทำงานของคุณและพูดว่า "ไม่อีกคนเอริค"