Могут ли удачные действия удалить / изменить файлы внутри существующего дома пользователя?

Я почему-то всегда предполагал, что когда я запускаю команду, такую ​​как apt-get install, remove, purge, то самое большее, apt может добавить файлы с точечными файлами конфигурации в мой существующий локальный дом (даже не уверен в этом), но НИКОГДА не изменять или удалите все файлы там (без резервного копирования).

Есть ли такое ограничение или хотя бы руководящие указания?

1
задан 9 January 2018 в 07:56

2 ответа

Есть две проблемы:

  1. Политика Debian определяет, как домашние каталоги управляются и правильно упаковываются .deb не должен ничего изменять в домашних каталогах пользователей.

9.2.3. Несуществующие домашние каталоги Каноническим несуществующим домашним каталогом является / nonexisting. Пользователи, у которых не должно быть домашнего каталога, должны иметь свой домашний каталог с этим значением.

Автоматические сборщики Debian установили для HOME значение / nonexisting, поэтому пакеты, которые пытаются записать в домашний каталог, не будут собраны.

10.7.5. Файлы конфигурации пользователя («точечные файлы») Файлы в / etc / skel будут автоматически скопированы в новые учетные записи пользователей adduser. Ни одна другая программа не должна ссылаться на файлы в /etc/skel.

Поэтому, если программе необходимо заранее создать точечный файл в $ HOME для правильной работы, этот точечный файл должен быть установлен в / etc / skel и рассматриваться как файл конфигурации.

Однако программы, которым для правильной работы требуются точечные файлы, являются плохой вещью, если они сами не создают сами точечные файлы.

Кроме того, программы должны быть настроены установкой Debian по умолчанию так, чтобы они вели себя как можно ближе к поведению по умолчанию в исходной версии.

Следовательно, если программа в пакете Debian должна быть настроена каким-либо образом для разумной работы, это следует сделать с помощью файла конфигурации для всего сайта, помещенного в / etc. Только если программа не поддерживает конфигурацию по умолчанию для всего сайта и сопровождающий пакета не может добавить ее, файл по умолчанию для каждого пользователя может быть помещен в /etc/skel.

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

См .: https://www.debian.org/doc/debian-policy/ для получения подробной информации


ОДНАКО .....

  1. Для установки .deb требуется авторизация root, и пакеты могут запускать сценарии до и после установки, которые изменяют файлы в домашних каталогах в нарушение политики debian, или люди, которые упаковывают .deb, могут игнорировать политику debian.

Так что .deb может нарушать политику debian и изменять файлы в домашних каталогах пользователей.

Это одно из многих соображений или причин, по которым вам следует быть очень осторожными при установке .deb извне репозиториев Ubuntu.

5
ответ дан 9 January 2018 в 07:56
  • 1
    Спасибо за справку - я выяснил, что должен установить плагин в самом Exaile. – Kazark 3 June 2012 в 00:43
  • 2
    Спасибо за справку - я выяснил, что должен установить плагин в самом Exaile. – Kazark 3 June 2012 в 00:43

Никакая установка, обновление, удаление и т. Д. Не должны изменять файлы в домашних каталогах пользователей. Даже не точечные файлы.

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

Для этого есть причины:

  1. Домашние каталоги определяются стандартом FHS как каталоги, контролируемые отдельным пользователем, а не системой.

  2. У сценариев установки / обновления / удаления нет причин знать или заботиться о том, какие пользователи существуют в системе, и нет причин делать что-то конкретное для какого-либо конкретного пользователя.

  3. Любая общесистемная конфигурация для любого программного обеспечения будет находиться в системном каталоге (то есть /etc). Файлы Dot внутри учетных записей пользователей предназначены только для изменений конфигурации, выполненных конкретным пользователем.

  4. Система не несет ответственности за обновление специфичной для пользователя конфигурации. Если часть программного обеспечения нуждается в изменении способа их настройки, то программное обеспечение должно выполнять миграцию самостоятельно при запуске от имени этого пользователя, а не при установке или обновлении.

4
ответ дан 9 January 2018 в 07:56

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

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