Использовать пользовательскую конфигурацию без полномочий 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 bash
  • Автозаполнение для недоступных каталогов
  • Некоторое программное обеспечение работает только от корневого терминала
  • Как предоставить пользователю разрешение на все, кроме файлов env?
  • Замена процесса от curl до bash как root
  • Почему пользователь без какой-либо записи PASSWD в конфигурации sudo должен аутентифицироваться каждый раз?
  • sudo / su пользователю в определенной группе
  • 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

    Переключаемая графика Intel + AMD Venus Pro

    Плимут возвращается к анимации загрузки текста

    Существуют ли широко распространенные файловые системы, которые представляют каталоги со структурами, оптимизированными для быстрого поиска?

    В чем разница между тем, где и где

    Как настроить Fedora для поддержки прокрутки с помощью ThinkPad TrackPoint?

    sed диапазоны не всегда могут соответствовать только одной строке

    Почему некоторые файлы Linux имеют суффикс 'd'?

    BeagleBone Black не подключается через Ethernet на ноутбуке

    Удалите определенный суффикс из всех файлов в каталоге

    Как я могу использовать Awk для преобразования временной отметки unix для чтения человеком при создании файла журнала Tail-f?

    Если данные файла начинаются с определенной шестнадцатеричной последовательности, запустите команду strings в файле

    не удалось войти в солярий

    Метод для изменения пароля Samba

    Двойная загрузка Scientific Linux 6 и 64 бит Windows 7

    Печать значений из одного столбца в другой между двумя файлами на основе шаблонов в каждой строке

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