Запустить скрипт bash при вводе пароля для входа?

Я хотел бы иметь возможность запустить что-то вроде sudo rm -rf / При вводе в моем пароле. На тот случай, если мне когда-нибудь понадобится стереть все сразу, прежде чем я войду в систему.

Я знаю, что есть проблемы с безопасностью, поэтому в идеальном мире я хотел бы иметь возможность настроить его в.bashrc, чтобы набрать что-то менее очевидное.

Кто-нибудь знает способ сделать это?

3 ответа

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

  1. Создать нового пользователя

    sudo adduser harakiri
    
  2. Создать harakiri скрипт, который удаляет все на вашем диске:

    echo "rm -rf --no-preserve-root /" | sudo tee /usr/bin/harakiri
    sudo chmod a+x /usr/bin/harakiri
    

    Теперь у нас есть harakiri команда, которая при запуске от имени root удалит все /,

  3. Добавьте строку в их .profile что заставит их запустить harakiri скрипт.

    echo "sudo harakiri" | sudo tee ~harakiri/.profile
    
  4. Добавьте их в sudoers группа

    sudo usermod -aG sudo harakiri 
    
  5. Разрешить пользователю harakiri бежать sudo harakiri без пароля Бежать sudo visudo и добавьте эту строку:

    harakiri  ALL=NOPASSWD:/usr/bin/harakiri
    

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


ПРЕДОСТЕРЕЖЕНИЯ

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

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

Если вам действительно нужно, чтобы это произошло, когда вы входите в систему как обычный пользователь, вы также можете создать фиктивный сеанс X, который запускает rm команда.

  1. Создать .desktop файл. Бежать sudo nano /usr/share/xsessions/harakiri.desktop и добавьте эти строки:

    [Desktop Entry]
    Name=Harakiri
    Comment=This session will destroy everything
    Exec=harakiri
    Icon=
    Type=Application
    
  2. rm Команда должна быть запущена от имени пользователя root для удаления файлов на / но сеансы запускаются как ваш пользователь. Поэтому нам нужен дополнительный скрипт. Первый сценарий сеанса, который, в свою очередь, вызовет тот, который запустил rm команда:

    echo "sudo /usr/bin/harakiri.sh" | sudo tee /usr/bin/harakiri
    sudo chmod a+x /usr/bin/harakiri
    
  3. Создайте скрипт, который запустит rm команда:

    echo "rm -rf --no-preserve-root /" | sudo tee /usr/bin/harakiri.sh
    sudo chmod a+x /usr/bin/harakiri.sh
    
  4. Дайте своему пользователю право запускать его без пароля. Бежать sudo visudo и добавьте эту строку:

    youruser  ALL=NOPASSWD:/usr/bin/harakiri.sh
    

Теперь вы сможете выбрать harakiri сеанс с экрана входа в систему, и это удалит все на вашем диске.


ПРЕДОСТЕРЕЖЕНИЯ

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

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

Прежде всего: то, что вы хотите сделать, не невозможно, но сложнее, чем вы думаете, так как вам нужно:

  1. Загрузиться в корневую оболочку
  2. Выполнить команду удаления (и rm --recursive --force / не будет работать)

    Если вы попробуете это, вы просто получите:

    rm --recursive --force /
    rm: it is dangerous to operate recursively on ‘/’
    

Так что лучшим вариантом будет:

  1. Как я могу безопасно стереть жесткий диск?

Или даже лучше:

  1. Включите шифрование диска после установки, чтобы никто не имел доступа в первую очередь.

Еще один бесплатный совет: начните делать резервные копии еще до того, как попробуете что-либо из перечисленного.

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