ระบบปฏิบัติการที่คล้าย Unix จะแยกชื่อผู้ใช้ออกจากข้อมูลประจำตัวของผู้ใช้ดังนั้นคุณสามารถเปลี่ยนชื่อได้อย่างปลอดภัยโดยไม่ส่งผลกระทบต่อ ID สิทธิ์ทั้งหมดไฟล์ ฯลฯ เชื่อมโยงกับข้อมูลประจำตัวของคุณ (uid) ไม่ใช่ชื่อผู้ใช้ของคุณ
เพื่อจัดการทุกด้านของฐานข้อมูลผู้ใช้คุณใช้usermod
เครื่องมือ
หากต้องการเปลี่ยนชื่อผู้ใช้ (เป็นการดีที่สุดที่จะทำเช่นนี้โดยไม่ต้องเข้าสู่ระบบ):
sudo usermod -l newUsername oldUsername
อย่างไรก็ตามนี่ไม่ได้เปลี่ยนชื่อโฟลเดอร์บ้าน
ในการเปลี่ยนโฮมโฟลเดอร์ให้ใช้
sudo usermod -d /home/newHomeDir -m newUsername
หลังจากคุณเปลี่ยนชื่อผู้ใช้
ตัวอย่างเช่นคุณสามารถออกจากระบบไปที่คอนโซล ( Ctrl+ Alt+ F1) และsudo su -
กลายเป็นรูทที่แท้จริง (ตรงข้ามกับsudo -s
ที่ $ HOME ยังคง / home / yourname.) บางทีคุณอาจต้องฆ่ากระบวนการที่ยังทำงานอยู่บางส่วนจากผู้ใช้รายนี้ เป็นครั้งแรก ต้องการทำเช่นนั้นป้อนps -u username
ให้มองหา PID kill PID-number
ที่ตรงกันและฆ่าพวกเขาโดย
อัปเดต: ตามที่ระบุไว้บางไฟล์อาจอ้างอิงโฮมไดเร็กตอรี่เก่าของคุณ คุณสามารถเก็บ symlink ไว้สำหรับความเข้ากันได้แบบย้อนหลังได้เช่นln -s /home/newname /home/oldname
หรือคุณสามารถเปลี่ยนเนื้อหาไฟล์ด้วยsed -i.bak 's/*oldname*/*newname*/g' *list of files*
มันจะสร้างการสำรองข้อมูลสำหรับแต่ละไฟล์ที่มีนามสกุล. bak
ข้อมูลเพิ่มเติมบางอย่างสำหรับผู้ใช้ที่ไม่ค่อยมีประสบการณ์เช่นฉัน:
เนื่องจากฉันมีบัญชีผู้ใช้เพียงหนึ่งบัญชีเท่านั้น (ผู้ดูแลระบบ) มันจะไม่ให้ฉันเปลี่ยนชื่อผู้ใช้ ("คุณเข้าสู่ระบบแล้ว" เป็นการตอบสนองใน TTY1 ( Ctrl+ Alt+ F1) รอบนี้
เข้าสู่ระบบด้วยข้อมูลประจำตัวเก่าของคุณและเพิ่มผู้ใช้ใหม่เช่น "ชั่วคราว" ใน TTY1:
sudo adduser temporary
ตั้งรหัสผ่าน
อนุญาตให้ผู้ใช้ชั่วคราวเรียกใช้ sudo โดยเพิ่มผู้ใช้ไปยังกลุ่ม sudo:
sudo adduser temporary sudo
exit
ออกจากระบบที่มีคำสั่ง
- กลับไปที่ tty1: เข้าสู่ระบบด้วยบัญชีผู้ใช้และรหัสผ่าน 'ชั่วคราว' เปลี่ยนชื่อผู้ใช้และโฟลเดอร์ของคุณดังกล่าวข้างต้น
exit
(จนกว่าคุณจะได้รับข้อความแจ้งการเข้าสู่ระบบ)
- กลับไปที่ TTY7 ( Ctrl+ Alt+ F7) เพื่อเข้าสู่ระบบบนหน้าจอ GUI / เดสก์ท็อปปกติและดูว่าใช้งานได้หรือไม่
ลบผู้ใช้และโฟลเดอร์ชั่วคราว:
sudo deluser temporary
sudo rm -r /home/temporary