Rootのホームディレクトリの場所を/ rootから/ var/rootに変更したいと思います。以前はusermodでこれを行うことができました:
usermod -d /var/root root
ただし、usermodの最新バージョンでは、現在ログインしているユーザーのディレクトリを変更することはできません。システムの最初の起動時に実行されるシステムセットアップスクリプトで、起動時にrootのホームディレクトリを変更しようとしているので、他のユーザーになることはできません。
現在ログインしているユーザー(この場合はroot)のホームディレクトリを変更する別の方法はありますか?
私はおそらく/ etc/passwdをsedすることができましたが、それはずさんなようです。
/etc/passwd
を手動で編集する場合の唯一の問題は、他のユーザーまたはプログラムがこのファイルをエディターで開いたままに変更すると、競合が発生する可能性があることです。この場合、ファイルを保存すると、その変更は失われます。この問題が自分に当てはまらないことが確実な場合(他のユーザーがログインしていないなど)、先に進んで/etc/passwd
を編集できます。
シングルユーザーモードで起動するときは、ルートのホームディレクトリが使用可能であることを確認してください。ルートファイルシステム上にある必要があります。
Uid 0でセカンダリユーザーを作成する、それに切り替える、rootのホームディレクトリを変更するなどのさまざまなトリックは機能しません。現在ログインしているユーザーのチェックはuidベースです。