updatedb не может создать временный файл для пользовательского файла базы данных

В той форме (, которая предшествует /etc/shadowи без префикса $...$), это, вероятно, (3 )хеширование на основе DES , см.https://en.wikipedia.org/wiki/Crypt_%28C%29#Traditional_DES-based_schemeи таблицу выше. этот пункт:

The original password encryption scheme was found to be too fast and thus subject to brute force enumeration of the most likely passwords.[10] In Seventh Edition Unix,[12] the scheme was changed to a modified form of the DES algorithm

Если вы используете этот инструмент https://github.com/psypanda/hashID, он указывает на ваше значение:

Analyzing 'hgZXuon0A2DxN'
[+] DES(Unix)
[+] Traditional DES
[+] DEScrypt

Инструмент грубой силы, такой как hashcat, должен быть в состоянии найти исходный пароль на основе этого.Он также сообщает вам для вашего конкретного хэша, что значение хеш-функции неверно (по этой причине:https://hashcat.net/forum/thread-3809.html)и в этом случае, если это действительно хэш, скорее всего, hgZXuon0A2DxM.

Обратите внимание на интересную «особенность» такого типа хранения паролей (, если это действительно древнее хранилище на основе DES -Unix ):только первые 8 байтов (следовательно, символы, потому что UTF -8 было неслыханно )учитываются, так что ограничивает пространство возможных значений.

3
01.09.2020, 12:12
1 ответ

Как предположил @fra -san, проблема была вызвана политиками безопасности. Решение

  1. Убедитесь, что у вас запущен демон аудита и audit2allowустановлены. Демон аудита opensuse находится в пакете audit, и audit2allowнаходится в policycoreutils. Установить, если нет и запустить демон как root
systemctl start auditd
  1. Запустите программу-нарушитель, например. updatedb -o ~/custom-mlocate.db -U ~/как обычный пользователь. Остальные должны выполняться под учетной записью root (bad )или добавлять перед каждой строкойsudo(good ).

  2. Изучите последние несколько строк/var/log/audit/audit.log

    tail -n 20 /var/log/audit/audit.log | grep -i denied
    

    Вас интересует строка, начинающаяся с type=AVCи где появляется имя оскорбительной команды. Есть две возможности:

  • Строка содержит avc: denied. Ваша система использует SELinux.
  • Строка содержит apparmor="DENIED". Это означает, что ваша система использует AppArmor для обеспечения безопасности.

Если это AppArmor, обратитесь к руководствам AppArmor. Например.https://doc.opensuse.org/documentation/leap/security/html/book.security/part-apparmor.htmlдля OpenSuse.

Для SELinux:

  1. Скопируйте строку, указанную на шаге 3, в отдельный файл. Например.
    tail -n 20 /var/log/audit/audit.log | grep -i "denied.*updatedb" > /var/log/audit/audit-partial-tmp.log
    
    Проверьте, что это нормально
    cat /var/log/audit/audit-partial-tmp.log
    
    а также
    audit2allow -w -i /var/log/audit/audit-partial-tmp.log
    
  2. Создать модуль SELinux
    audit2allow -i /var/log/audit/audit-partial-tmp.log -M custom-selinux-module
    
  3. Сделать новую политику активной
    semodule -i custom-selinux-module.pp
    
  4. Запустите программу от имени обычного пользователя, чтобы проверить, все ли в порядке. Например.
    updatedb -o ~/custom-mlocate.db -U ~/
    
  5. Очистка
    rm /var/log/audit/audit-partial-tmp.log custom-selinux-module.pp 
    
2
18.03.2021, 23:08

Теги

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