เปลี่ยนตำแหน่งของโฮมไดเรกทอรีของรูท


10

ฉันต้องการเปลี่ยนตำแหน่งของโฮมไดเร็กตอรี่ของรูทจาก / root เป็น / var / root. ฉันเคยสามารถทำสิ่งนี้กับ usodod:

usermod -d /var/root root

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

มีวิธีอื่นในการเปลี่ยนโฮมไดเร็กตอรี่ของผู้ใช้ที่ล็อกอินในปัจจุบัน (รูทในกรณีนี้) หรือไม่?

ฉันอาจจะ sed / etc / passwd แต่ดูเหมือนว่าเลอะเทอะ


ฮาร์ดลิงก์ / รูทไปยัง / var / root?
Garrett

คุณสามารถแก้ไข / etc / passwd ด้วยตนเองฉันเดา
billc.cn

คำตอบ:


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

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

  3. เทคนิคต่าง ๆ เช่นการสร้างผู้ใช้รองด้วย uid 0 การเปลี่ยนไปใช้และการเปลี่ยนผู้ใช้หลักของรูทจะไม่ทำงาน การตรวจสอบผู้ใช้ที่เข้าสู่ระบบในปัจจุบันนั้นเป็นแบบ uid


5
การใช้vipwหรือsudoeditสามารถป้องกัน # 1 สำหรับ # 2 โฮมไดเร็กตอรี่ที่ขาดหายไปจะส่งผลให้มีคำเตือนเท่านั้น
user1686

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