จะลบผู้ใช้ & โฟลเดอร์บ้านอย่างปลอดภัยได้อย่างไร


43

ฉันเพิ่งสร้างผู้ใช้ใหม่ & โฟลเดอร์บ้านของมัน & จำเป็นต้องลบตอนนี้ & ฉันไม่สามารถหาไฟล์ดาวน์โหลด, เอกสาร, รูปภาพ, ฯลฯ ของผู้ใช้เก่าใน/home/olduser& .Xauthorityไฟล์ได้ด้วย ไม่ทราบว่าจะลบอย่างไร ฉันดำเนินการstartxคำสั่งด้วยการกดAlt+Ctrl+F3เมื่อผู้ใช้ใหม่ไม่สามารถเข้าสู่ระบบได้

ฉันลบผู้ใช้ออกจากUsers & Groupsแต่ไม่ได้ลบโฟลเดอร์เริ่มต้น ฉันจะแก้ไขสิ่งนี้ได้อย่างไร

  • ฉันจะลบโฟลเดอร์หลักของผู้ใช้ใหม่อย่างปลอดภัยได้อย่างไร

  • ฉันจะคืนค่าเอกสารเก่าดาวน์โหลดโฟลเดอร์ของฉันได้อย่างไร

  • ถ้าไม่เช่นนั้นฉันจะสร้างโฟลเดอร์ใหม่ / โฮมและลิงก์กับ OS ได้อย่างไร


คุณใช้กระบวนการอะไรในการเพิ่มผู้ใช้ ดูเหมือนว่าพฤติกรรมบางอย่างที่แปลกมาก
Chuck R

ฉันใช้Users & Groupsแอปที่ดาวน์โหลดภายนอกจากศูนย์ซอฟต์แวร์ (บัญชีผู้ใช้ใหม่ที่ไม่ใช่บัญชีเก่า)
ลึกมากขึ้น

ฉันไม่สามารถค้นหาแพ็คเกจนั้นใน Software Center แม้ว่าฉันจะมีคำถามเพิ่มเติมอีกสองสามข้อสำหรับคุณ: 1) โฟลเดอร์บ้านของคุณเข้ารหัสหรือไม่? 2) ถ้าเป็นเช่นนั้นคุณเข้าสู่ระบบในฐานะผู้ใช้หลักของคุณเมื่อคุณตรวจสอบเนื้อหาของโฟลเดอร์บ้านหรือไม่?
Chuck R

1) ไม่ 2) ใช่ฉันตรวจสอบกับผู้ใช้เมื่อฉันเข้าสู่ระบบและเห็นไม่มีโฟลเดอร์เหมือนเอกสารดาวน์โหลด ฯลฯ
ลึกมากขึ้น

แปลกมากอย่างแน่นอน คุณจำชื่อไฟล์เฉพาะในโฟลเดอร์เหล่านั้นได้หรือไม่? คุณสามารถค้นหาได้ทางfind /home -type f -iname '[full filename]'
Chuck R

คำตอบ:


51

เพื่อแสดงรายการผู้ใช้ทั้งหมด:

cut -d: -f1 /etc/passwd

วิธีลบผู้ใช้:

sudo userdel username

ในการลบโฮมไดเรกทอรี:

sudo rm -r /home/username

ในการเพิ่มโฮมไดเร็กทอรีไปยังผู้ใช้ที่มีอยู่:

สร้างโฮมไดเร็กตอรี่

chown ไดเรกทอรีนี้สำหรับผู้ใช้

sudo usermod -d /home/directory user

มันซับซ้อนกว่านี้เล็กน้อย OP กล่าวว่ามีบางอย่างเกิดขึ้นกับโฟลเดอร์บัญชีดั้งเดิมของเขาในระหว่างกระบวนการนี้ ดังนั้นฉันจึงไม่แนะนำให้เขาลบที่อยู่ของผู้ใช้ใหม่จนกว่าจะถึงที่ตั้งของข้อมูล (บางทีอาจจะถูกย้ายไปยังผู้ใช้ใหม่ - เราไม่รู้)
Chuck R

เป็นครั้งแรกบน Askubuntu ฉันพบคำตอบเฉพาะ! ขอบคุณมาก ๆ! :)
ลึกมากขึ้น

ฉันดำเนินการ sudo usermod -d / home / ชื่อผู้ใช้ชื่อผู้ใช้เอาท์พุท usermod นี้: ไม่มีการเปลี่ยนแปลง
ลึกมากขึ้น

@nux รีบูตและทำงานได้อย่างสมบูรณ์แบบ! ขอขอบคุณ! :)
ลึกมากขึ้น

31

คุณสามารถใช้deluserคำสั่งขั้นสูงเพิ่มเติมได้:

sudo deluser --remove-home user

คุณยังสามารถลองใช้--remove-all-filesตัวเลือก จากman deluser:

By  default,  deluser  will  remove  the user without removing the home
directory, the mail spool  or any other files on the  system  owned  by
the  user.  Removing  the home directory and mail spool can be achieved
using the --remove-home option.

The --remove-all-files option removes all files on the system owned  by
the  user.  Note  that  if you activate both options --remove-home will
have no effect because all files including the home directory and  mail
spool are already covered by the --remove-all-files option.

ตามที่คาดไว้ตัวเลือกที่สองอาจใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์


8
หมายเหตุ: นี่ทำให้ฉันกลายเป็นปัญหาใหญ่เพราะมันเข้าสู่การติดตั้ง NFS ของฉันและลบไฟล์ที่สร้างโดยผู้ใช้คนเดียวกันบน VMs อื่น ๆ บนเซิร์ฟเวอร์ไฟล์ NFS! โชคดีที่ฉันหยุดมันก่อนที่ฉันจะสูญเสียไปมากและ extundelete ก็ช่วยได้เช่นกัน! (- ลบไฟล์ทั้งหมด)
FreeSoftwareServers

4

วิธีที่ดีที่สุดคือการใช้OPTIONSให้โดยuserdelคำสั่ง

sudo userdel -rfRZ <username>

นี่จะ:

  1. บังคับลบ

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

  3. ใช้การเปลี่ยนแปลงในไดเรกทอรี CHROOT_DIR และใช้ไฟล์การกำหนดค่าจากไดเรกทอรี CHROOT_DIR

  4. ลบการแมปผู้ใช้ SELinux ใด ๆ สำหรับการเข้าสู่ระบบของผู้ใช้

หวังว่านี่จะช่วยได้!


0

หากคุณได้ลบผู้ใช้ผ่านปกติuserdel <username>และไดเรกทอรีบ้านยังคงมีอยู่เหมือนที่ฉันมีประสบการณ์ในเหมืองคุณเพียงแค่เรียกใช้rm -rf /home/<username>


2
-fตัวเลือกเป็นอันตรายจริง ๆ ถ้าคุณพิมพ์ไดเรกทอรีที่ไม่ถูกต้องพูดข้อมูล Good bye :(
damadam

@addamam จริงและนั่นคือเหตุผลที่ฉันระบุอาร์กิวเมนต์อย่างเต็มที่ เพื่อความปลอดภัยจะมีการละเว้นและแจ้งให้ดีขึ้นระหว่างการลบ
HCM
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.