Как удалить пользователя из файла dpkg-statoverride?

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

user@localhost~$ sudo apt-get install any-package

... package installation output omitted for brevity ...

dpkg: unrecoverable fatal error, aborting:
syntax error: unknown user 'puppet' in statoverride file
E: Sub-process /usr/bin/dpkg returned an error code (2)

Таким образом, / usr / bin / dpkg-statoverride имеет возможность удалить путь, но двоичный файл выдает ту же ошибку, когда я пытаюсь запустить его вне всего контекста установки apt-get.

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

Насколько я могу судить, statoverride указывает менеджеру пакетов установить определенные вещи по определенному пути и портит флаг setuid, поэтому потенциально это может открыть кучу дыр в безопасности, устанавливая программы совместно. принадлежит неиспользованному пользователю и группе. Существует ли причина, по которой dpkg-statoverride не обновляется с остальной системой при удалении пользователя? И есть ли способ обойти это, чтобы мне не приходилось: adduser -> install -> deluser: каждый раз, когда я хочу установить пакет?

4
задан 3 August 2014 в 01:37

1 ответ

Можно попробовать это:

sudo sed -i '/puppet/d' /var/lib/dpkg/statoverride

Должен удалить пользователя из statoverride и предоставить Вам доступ для установки снова

8
ответ дан 3 August 2014 в 01:37

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

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