Использовать пользовательскую конфигурацию без полномочий root для учетной записи root

Когда я работаю с терминалом и использую su или sudo для выполнения команды с правами пользователя root, можно ли применить конфигурацию моего «пользователя без полномочий root» (из которого я вызываю su или sudo ), хранящегося в этом пользователе домашний каталог?

Например, учтите, что (будучи зарегистрированным как пользователь без полномочий root) я хотел бы отредактировать файл конфигурации /etc/some_file с помощью vim и что мой файл конфигурации vim находится по адресу /home/myuser/.vimrc . Запустив командную строку и набрав sudo vim /etc/some_file , я хочу, чтобы появился «мой» красивый и хорошо сконфигурированный vim . Но то, что я получаю, является уродливым vim с конфигурацией по умолчанию, без плагинов и т. Д.

Могу ли я использовать su или sudo использования файлов конфигурации моего пользователя вместо файлов пользователя root, расположенных в / root?

  • Первое судо всегда медленно
  • Запустить команду с sudo по умолчанию
  • Как получить доступ к sudo после отключения питания (заводская перезагрузка) на моем компьютере?
  • sudo в неинтерактивном скрипте
  • Зачем мне tty запускать sudo, если я могу sudo без пароля?
  • подача пароля без какого-либо окна терминала (стандартный вывод)
  • Неправильное разрешение на папку / etc
  • Защитить папку от sudoers
  • 2 Solutions collect form web for “Использовать пользовательскую конфигурацию без полномочий root для учетной записи root”

    Используйте 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 если вы единственный пользователь этой системы.

    Настройте sudo для сохранения переменной среды HOME .

    Запустите visudo чтобы отредактировать конфигурацию sudo. Убедитесь, что параметр always_set_home не установлен, и этот HOME присутствует в списке env_keep . Добавьте следующие строки:

     Defaults !always_set_home Defaults env_keep+="HOME" 

    Удалите строку, такую ​​как Defaults always_set_home если она есть.

    Interesting Posts

    Запуск экземпляра xterm с различными конфигурациями

    Проблема при получении ответов от DNS-сервера привязки

    Локальная доставка по электронной почте Fedora

    Вход SSH с четким текстовым паролем в качестве параметра?

    ошибочно удаленная / загрузочная папка и перезагрузка

    ошибка сжатия, никакая файловая система не может монтировать root, панику ядра не синхронизировать

    Разрезает ли вырезать любые поля, если разделитель не существует

    Как настроить переменные среды для www-данных?

    virt-install и / dev / hda vs. / dev / sda

    Журналист сообщает о результатах 13, отрицает 5, но pam_tally2 говорит, что никаких сбоев

    GRUB больше не может загружать машину (разные сообщения об ошибках)

    Псевдонимы в сценариях не установлены глобально

    Почему perl regex находит шаблон \\ label \ {. *? \}, Но не \\ ref. *? \} Или \\ autoref \ {. *? \} В файлах TeX?

    Что я должен ожидать, если переключиться с Ubuntu на openSuse

    Пользователь Netatalk как в rwlist, так и в rolist

    Linux и Unix - лучшая ОС в мире.