端末を使用してsu
root権限でコマンドを実行するときは、sudo
そのユーザーのホームディレクトリに保存されているsu
「root以外のユーザー」(私が電話したか送信者)の設定を適用できますか?sudo
たとえば、/etc/some_file
edit config filesを使用したいとし、vim
vim設定ファイルがにあるとします/home/myuser/.vimrc
。コマンドラインを実行し、と入力すると、sudo vim /etc/some_file
「my」が美しく、うまく設定されるようになります。vim
表示される内容です。しかし、私が得たのはvim
プラグインなどがない醜い基本構成です。
/ rootにあるrootユーザーファイルの代わりに自分のユーザープロファイルを作成またはsu
使用できますか?sudo
答え1
使用sudo -E
環境を保護する:
$ export FOO=1
$ sudo -E env | grep FOO
FOO=1
これにより、他の環境変数が保存されるため、起動したのと$HOME
同じ構成ファイルがrootとして実行されているプログラムにアクセスできます。
更新sudoers
して無効にすることができます。env_reset
設定は通常、デフォルトで有効になっているすべての環境変数を消去します。sudo -E
そこで使用される機能を有効にする必要があるかもしれません。sudoers
関連する可能性があるいくつかの異なる設定があります。env_keep
デフォルトでは、保持される特定の変数を指定できる設定と、env_remove
常に削除される変数を宣言する設定があります。sudo sudo -V
を使用して、どの変数が保持または維持されていないかを確認できます。
変更できない場合のsudoers
他のオプションは、環境を明示的に提供することです。
sudo env HOME=$HOME command here
これを自動的に実行するようにシェルエイリアスを作成できるため、直接入力する必要はありません。
いずれにせよ、これを行うと、望ましくない副作用が発生する可能性があります。たとえば、ホームディレクトリにファイルを作成したいプログラムを実行すると、そのファイルはrootとして生成され、通常のユーザーはこれを実行できません。彼らに手紙を書こうとします。
特別な場合は、システムの唯一のユーザーである場合は、システム全体のユーザーvim
にすることもできます。.vimrc
/etc/vimrc
答え2
HOME
環境変数を保存するには、sudoを設定します。
visudo
sudo設定を編集するには実行してください。オプションがalways_set_home
オフになっていて、リストにあることをHOME
確認してください。env_keep
次の行を追加します。
Defaults !always_set_home
Defaults env_keep+="HOME"
Defaults always_set_home
行があるかのように行を削除します。