Действительно ли изменение корневого каталога пользователя root является хорошей идеей?

У меня есть основной пользователь, например. dave с корневым каталогом /home/dave. И это имеет много конфигураций для различных программ, как которые это может запустить vim, bash и т.д., Когда я вхожу в систему как root пользователь, все мои конфигурации не используются, так как корень имеет отдельный корневой каталог: /root.

Я не планирую иметь любых других пользователей на своей машине. Делает изменение root пользовательский корневой каталог к dave у каждого есть какие-либо недостатки?

3
задан 18 January 2020 в 12:17

3 ответа

Да, многие.

  • Что-либо, что Вы выполняете как корень, который изменяет конфигурацию или состояние в $HOME обновит содержание /home/dave, вероятно, заставляя измененные файлы закончиться принадлежавший корню, который в свою очередь сделает их невозможными для Вас изменить, не будучи корнем (который может повредить некоторые программы (vim и так как большинство оболочек будет главными примерами, история команд закончится только применимая корнем).
  • Кто-либо с доступом для записи к /home/dave может теоретически тривиально выполнить команды как корень. Следует иметь в виду, что много инструментов CLI имеют файлы запуска в $HOME это выполняется, не просто проанализированный при запуске их. .bashrc и .vimrc тривиальные примеры, оба из которых позволяют кому-либо, кто может записать в них для выполнения произвольных команд с полномочиями пользователя, который выполняется bash или vim способом это использует их.
  • Некоторые вещи, которые могли бы быть в /root не должно быть читаемым никакими другими пользователями из соображений безопасности. Главным примером является материал как SSH или ключи GPG, но существуют другие. Слияние /root с другим корневым каталогом делает его намного тяжелее, чтобы гарантировать, чтобы эти секреты остались секретными. Обратите внимание, что это то, почему /root существует вообще, старые системы UNIX, просто используемые / как корневой каталог корня, который пропустил много информации другим пользователям.
  • Любая неверная конфигурация в файлах конфигурации в /home/dave это лишает возможности dave пользователь для входа в систему также лишит возможности пользователя root входить в систему. Это делает любые изменения конфигурации очень более рискованными.

Обратите внимание, что вторые и третьи точки являются потенциально серьезными проблемами безопасности, даже в системе отдельного пользователя. Всегда помните, что любое нападение, которому удается получить способность выполнить код как Вашего пользователя, может сделать что-либо, что Ваш пользователь может сделать.

Если Ваша цель состоит в том, чтобы просто совместно использовать конфигурацию через целую систему, можно избежать всех кроме последней проблемы выше при помощи конфигурационных файлов под /etc вместо в корневых каталогах. Это значения по умолчанию в масштабе всей системы для конфигурации, так изменение их изменяет конфигурацию для всех в системе. Почти все интерактивные инструменты CLI, которые имеют некоторую форму конфигурации, которая не является по сути определенной для пользователя, имеют конфигурационные файлы под /etc.

4
ответ дан 19 January 2020 в 09:09

Я избежал бы рискованных действий и добавил бы перенаправления на команду.

Можно сделать это 2 способами:

  • symlinking файлы конфигурации один за другим, например, для vim: sudo ln -s /home/dave/.viminfo /root/.viminfo
  • путем предварительного ожидания HOME=/home/dave к каждой команде. Можно создать псевдоним в Вашем .bashrc файл, таким образом, Вы не должны думать об этом:
    echo "alias vim='HOME=/home/dave vim'" | sudo tee -a /root/.bashrc
    
1
ответ дан 19 January 2020 в 09:09

Если Ваша цель состоит в том, чтобы отредактировать файлы как root, просто используйте sudoedit (Я полагаю, что это эквивалентно sudo -e).

Команда откроет Вашего редактора на временном файле, который заменит оригинал на успешном выходе. (Vim :cquit команда может использоваться для создания выходящего “сбоя”.)

Что касается оболочки, я предложил бы оставить это скелетами. Это напомнит, что Вы не хотите быть зарегистрированными, как поддерживают очень долго. Если Вы должны, использовать /etc каталоги или другие средства конфигурирования корня конкретно. Но не связывайте файлы.

0
ответ дан 19 January 2020 в 09:09

Другие вопросы по тегам:

Похожие вопросы: