私は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
。