Отчет о сбое приложения & ldquo; Этот отчет о проблеме поврежден и не может быть обработан & rdquo;

Иногда это не наши друзья, мы - наши собственные худшие враги

, я записал, что сценарий к паролю защищает rm как OP требуемые, но также и вставленные редактирования для предотвращения Вас от случайного удаления:

  • /
  • / домой
  • / мусорное ведро

Редактирование: 5 марта 2017 - метод Изменения проверки при выполнении в терминале.

Создают сценарий

Использование gksu gedit /usr/local/bin/rm и копия в этих строках:

#!/bin/bash

tty -s;
if [ "0" == "$?" ]; then Terminal="Y"; else Terminal="N"; fi

if [ $Terminal == "Y" ] ; then
    # Running from terminal don't allow delete of / or /toplevel directory even if sudo
    for i in ${@:1}
    do
        # Skip options -i -r -v -d 
        if [[ ${i:0:1} != "-" ]] ; then
            # if parameter doesn't begin with '-' it's file or directory, so get real path.
            fullname=$(realpath "$i" 2>&1) # No error messages if file doens't exist
            # We must have at least two `/` in the full path
            levels=$(echo "$fullname" | tr -cd '/' | wc -c)
            if (( $levels == 1 )); then # Test for 1, will be zero when file doesn't exist.
                echo "Attempting to remove top level directory '$fullname'"
                echo "Use 'sudo /bin/rm $@' instead."
                exit 1 # error
            fi
        fi
    done
fi


if [[ $(id -u) != 0 ]]; then # Only non-root processes enter password (ie "sudo rm ..." is ok)
  if [ $Terminal == "Y" ] ; then
  # Only running from a terminal needs password (ie not cron)

    # log rm usage to /var/log/syslog
    PARENT_COMMAND="$(ps -o comm= $PPID)"   
    logger "$PARENT_COMMAND"" - rm command was used on file: ""$fullname"

    # Get password
    Password=$(zenity --password --title="Password for rm")
    encryptPassword=$(echo -n "$Password" | md5sum)

echo "md5sum: $encryptPassword" # Comment out after viewing one time and updating line below.

    if [[ "$encryptPassword" != "d2c30dc65e59558c852ea30b7338abbe  -" ]]; then
        echo "Invalid password!"
        exit 1
    fi
  fi # non-terminals can't enter password.
fi # root doesn't need to enter password.

# Call REAL rm command with parameters passed to this wrapper sript
/bin/rm "$@"

exit 0

Изменение пароль "WE2U" к чему-либо Вы любите и сохранили файл.

Mark новый rm сценарий как исполняемый файл

Флаг, новый rm сценарий как исполняемое использование:

sudo chmod +x /usr/local/bin/rm

, Как это Работает

rm password

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

, поскольку путь /usr/local/bin выше в списке, чем /bin, нашу команду rm называют. После получения действительного пароля это звонит /bin/rm, чтобы сделать реальное удаление.

, Поскольку Thomas Ward указал в другом ответе, если бы необходимо было сделать sudo apt-get install ..., то Вас можно было бы попросить пароля тысячу раз. Проверки сценария, если sudo используется и не просит пароль. Кроме того, если rm назван из приложения GUI, никакой пароль не требуется.

вызовы сценария logger для записи каждый раз rm был вручную назван с помощью терминала. Использование команды зарегистрировано к [1 115].

4
задан 15.04.2020, 06:07

1 ответ

Кажется, это из-за неисправного ОЗУ.

У меня была такая же проблема 12.04. У меня была плохая оперативная память. Когда я удалил его, проблема, казалось, ушла. Я попробовал другой 1 ГБ DIMM, и проблема появилась снова. Я удалил 2-й модуль памяти, и проблема периодически продолжалась.

Я посмотрел в /var/crash, но не вижу ошибок сегментации в выходных данных сбоя. Просто очень трудно сказать, в чем / где проблема.

Мой опыт показывает, что Windows может лучше обрабатывать плохие модули DIMM, чем Ubuntu.

2
ответ дан 15.04.2020, 06:07
  • 1
    Гарантировать OP' s проблема действительно происходит из-за плохой RAM, они могут хотеть попытаться загрузиться в memtest86+ от GRUB или LiveDVD/USB и запустить тесты там. – Ram 15.04.2020, 06:08
  • 2
    Это действительно не отвечает на вопрос. Если у Вас есть различный вопрос, можно спросить его путем нажатия Ask Question. Вы можете также добавлять щедрость для привлечения большего внимания к этому вопросу, как только у Вас есть достаточно репутация . – Derek Beattie 15.04.2020, 06:08
  • 3
    Интересная теория Gene. Мой опыт несколько отличался с Windows, бросающим BSOD на дефектную RAM. Вы когда-либо пытались тестировать RAM, как предложено @ChristopherKyleHorton? – JEuvin 15.04.2020, 06:09
  • 4
    @guntbert, хотя это проложило под землей глубоко в ненужной информации, это все еще, отвечает на вопрос, а именно: это вызывается плохой RAM. OP прокомментировала то же заключение по его вопросу, таким образом, это, кажется, допустимое, хотя плохо записано, ответ. – doganak 15.04.2020, 06:09

Теги

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