Ubah lokasi direktori home root

10

Saya ingin mengubah lokasi direktori home root dari / root ke / var / root. Dulu saya bisa melakukan ini dengan usermod:

usermod -d /var/root root

Namun, dengan versi terbaru dari usermod, Anda tidak dapat mengubah direktori pengguna yang saat ini masuk. Saya mencoba mengubah direktori home root saat boot di skrip pengaturan sistem yang dijalankan saat sistem pertama kali di-boot, jadi saya tidak bisa benar-benar menjadi pengguna lain.

Apakah ada cara lain untuk mengubah direktori home dari pengguna yang saat ini login (root dalam hal ini)?

Saya mungkin bisa sed / etc / passwd, tapi sepertinya ceroboh.

Kevin S.
sumber
Hard-link / root ke / var / root?
Garrett
Anda dapat memodifikasi / etc / passwd secara manual saya kira.
billc.cn

Jawaban:

11
  1. Satu-satunya masalah dengan pengeditan manual /etc/passwdadalah bahwa mungkin ada perlombaan jika beberapa pengguna atau program lain mengubah file ini saat Anda tetap buka di editor Anda. Dalam hal ini, perubahan itu akan hilang ketika Anda menyimpan file. Jika Anda yakin masalah ini tidak berlaku untuk Anda (tidak ada pengguna lain yang masuk, dll.), Maka Anda dapat melanjutkan dan mengedit/etc/passwd

  2. Pastikan direktori home root tersedia saat mem-boot ke mode single-user, mis. Harus di sistem file root.

  3. Berbagai trik seperti membuat pengguna sekunder dengan uid 0, beralih, dan mengubah direktori home root, tidak akan berfungsi. Pemeriksaan untuk pengguna yang saat ini masuk adalah berbasis uid.

haim
sumber
5
Menggunakan vipwatau sudoeditdapat melindungi dari # 1. Sedangkan untuk # 2, direktori home yang hilang biasanya akan menghasilkan peringatan saja.
user1686
@grawity: Terima kasih atas info vipw, saya tidak tahu tentang itu. Saya pikir menggunakan vipw mungkin merupakan solusi terbaik secara keseluruhan.
haimg