กู้คืนผู้ใช้คน


34

ด้วยเหตุผลบางอย่างไม่ยืดหยุ่น (หรือยังไม่ได้นอนหลับเพียงพอ) ฉันพิมพ์

deluser man

แทนที่จะเป็นเรื่องธรรมดา

man deluser

... อย่างที่คุณสามารถจินตนาการได้ฉันเพิ่งลบผู้ใช้คน! ไม่เคยเกิดขึ้นมาก่อน ...

ฉันจะกู้คืนผู้ใช้ระบบอย่างเหมาะสมได้อย่างไร?


5
นี่เป็นตัวอย่างที่สมบูรณ์แบบว่าทำไมคุณไม่ใช้รูทสำหรับสิ่งที่ไม่ต้องการรูท
แรนดี้ออร์ริสัน

คำตอบ:


33

มียูทิลิตี้ที่เรียกupdate-passwdว่าทำอย่างปลอดภัยสำหรับคุณ:

NAME
       update-passwd - safely update /etc/passwd, /etc/shadow and /etc/group

SYNOPSIS
       update-passwd [options]

DESCRIPTION
       update-passwd   handles   updates   of   /etc/passwd,  /etc/shadow  and
       /etc/group on running Debian systems.  It compares the current files to
       master  copies, distributed in the base-passwd package, and updates all
       entries in the global system range (that is, 0–99).

ตรวจสอบรายการปัจจุบันก่อน

$ getent passwd man
man:x:6:12:man:/var/cache/man:/bin/sh

ตอนนี้เราจะลบมัน

$ sudo deluser man
[sudo] password for steeldriver: 
Removing user `man' ...
Warning: group `man' has no more members.
Done.

ตรวจสอบว่ามันหายไปจริงๆ

$ getent passwd man
$ 

แล้วก็

$ sudo update-passwd --dry-run
Adding group "man" (12)
Adding user "man" (6)
Would commit 2 changes

ตกลงกันเถอะ

$ sudo update-passwd
2 changes have been made, rewriting files

ตอนนี้ยืนยันรายการไฟล์รหัสผ่านที่กู้คืน

$ getent passwd man
man:*:6:12:man:/var/cache/man:/bin/sh

2
+ ยอดเยี่ยม upvoted โปรดยอมรับสิ่งนี้แทนของฉัน;)
Rinzwind
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.