ルートのホームディレクトリの場所を変更する


10

ルートのホームディレクトリの場所を/ rootから/ var / rootに変更したいと思います。私はこれまでusermodでこれを行うことができました:

usermod -d /var/root root

ただし、最新バージョンのusermodでは、現在ログインしているユーザーのディレクトリを変更することはできません。システムの初回起動時に実行されるシステムセットアップスクリプトで、起動時にルートのホームディレクトリを変更しようとしているので、他のユーザーになることはできません。

現在ログインしているユーザー(この場合はroot)のホームディレクトリを変更する別の方法はありますか?

おそらく/ etc / passwdをsedすることができましたが、それはずさんなようです。


/ rootを/ var / rootにハードリンクしますか?
Garrett

/ etc / passwdは手動で変更できると思います。
billc.cn 2011

回答:


11
  1. 手動で編集する場合の唯一の問題/etc/passwdは、エディターで開いたまま、他のユーザーまたはプログラムがこのファイルを変更すると競合が発生する可能性があることです。この場合、ファイルを保存するとその変更は失われます。この問題があなたに当てはまらない(他のユーザーがログインしていないなど)ことが確かな場合は、先に進んで編集できます。/etc/passwd

  2. シングルユーザーモードで起動するときは、ルートのホームディレクトリが利用可能であることを確認してください。たとえば、ルートファイルシステム上にある必要があります。

  3. uid 0でセカンダリユーザーを作成し、それに切り替え、ルートのホームディレクトリを変更するなど、さまざまなトリックは機能しません。現在ログインしているユーザーのチェックは、uidベースです。


5
#1 を使用vipwまたはsudoedit保護できます。#2と同様に、ホームディレクトリがない場合、通常は警告のみが表示されます。
user1686

@grawity:vipw情報をありがとう、知らなかった。vipwを使用することは、おそらく全体として最良のソリューションだと思います。
haimg
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.