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.
linux
user-accounts
home-directory
Kevin S.
sumber
sumber
Jawaban:
Satu-satunya masalah dengan pengeditan manual
/etc/passwd
adalah 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
Pastikan direktori home root tersedia saat mem-boot ke mode single-user, mis. Harus di sistem file root.
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.
sumber
vipw
atausudoedit
dapat melindungi dari # 1. Sedangkan untuk # 2, direktori home yang hilang biasanya akan menghasilkan peringatan saja.