ルートに切り替えて一般ユーザーと同じドットファイルを使用するにはどうすればよいですか?

ルートに切り替えて一般ユーザーと同じドットファイルを使用するにはどうすればよいですか?

私はMac OSXでzshを実行していますが、時々ターミナルからrootに切り替えたいと思います。

すべてのドットファイル、環境パスの設定、スクリプトを通常のユーザーとして維持し、rootとして多くのことをしたいと思います。

sudo bash私はrootに切り替える簡単な方法で実行しましたが、sudo zsh通常のユーザーとしてすべてのzsh設定を実行できないという欠点があります。

一連のコマンドを実行し、一般ユーザーのすべての構成/環境設定を維持するために「root」になる最善の方法は何ですか? 」

たとえば、一般ユーザーのために以下をカスタマイズし、rootユーザーも使用できるようにしたいとします。

  • .zshrc
  • ~/空
  • .別名
  • vimモード入力

編集:頻繁に「root権限で実行」しないでください。しかし、私はそうは思いません。ただし、時にはいくつかの簡単なコマンドをルートとして実行し続ける必要があり、他の目的には使用せず、その目的にのみtmux分割をオンにします。

答え1

共通のドットファイルを取得するために環境変数をsudo変更しないでください。HOMEこの問題が発生するかどうかは、sudo のコンパイル時とランタイム構成によって異なります。を保存するには、ファイルをHOME編集しsudoers(実行してvisudoこのファイルを直接編集しないでください)、ファイルに次のものが含まれていることを確認してください。

Defaults !always_set_home, !set_home
Defaults env_keep+=HOME

(コンパイルオプションによっては、これらの一部は不要になる場合があります。)もちろんsudo -i

しかし、ルートとしてあまりにも多くのことをしないでください。たとえば、エディタをrootとして実行する代わりにsudoedit

答え2

あなたはほとんど確かにこれをしたくありません。

ルートユーザーが一般ユーザーのドットファイルを指している場合、そのドットファイルの権限が変更され、一般ユーザーの状況が複雑になる可能性があります。

あなたができることは、ログインするたびにrootユーザーのホームディレクトリにファイルをコピーすることです。

このファイルを ~/.zshenv (root ユーザー用) にコピーし、権限を調整します。これにより、環境を引き続き実行し、カスタム設定を使用できます。

個人的に複数のrootコマンドを実行したいのですが、ユーザーエクスペリエンスを保存してみるsudo su -こともできます。sudo -E su -p

義務的な警告!

走るには妥当な理由はありませんsudo su。遠くより良いものsudoすべてのコマンドの前に実行してください。つまり、たまにsudo suそのようなことをします。しかし、一般的な規則はそうではありませんsudo su

関連情報