Вы можете создать сценарий bash, который запрашивает подтверждение, а затем запускает запрошенную программу. Создайте файл с именем ask, содержащий:
#!/bin/bash
echo "Are you sure to run $1 command?"
read RES
if [ "$RES" = "Y" ] || [ "$RES" = "y" ] ; then
echo "Running the command..."
$@
else
echo "Command aborted"
fi
Скопируйте скрипт в / usr / bin / и установите его как исполняемый файл (или добавьте путь скрипта к переменной PATH):
sudo mv path_to_ask_script/ask /usr/bin/ask
cd /usr/bin/
sudo chmod 777 ask
Затем вы должны создать псевдоним в файле ~/.bashrc:
alias dd='ask dd'
Теперь, набрав dd, скрипт ask должен быть выполнен, попросить подтверждения и в конце концов вызовите команду dd.
Чтобы перейти к другой команде, просто добавьте псевдоним типа:
alias command_name='ask command_name' в качестве примера: alias rm='ask rm'
Для команды rm вы можете просто создать псевдоним как: alias rm='rm -i'
Скрипт пробовал и полностью работал с 16.04 с помощью gnome-terminal
Вы можете сделать следующее, если вы действительно хотите использовать эти команды только как sudo:
Перейдите к /bin (например, большинство команд здесь), поэтому:
cd /bin
# example how to make dd to posibly only for root/sudo (744)
sudo chmod go-x dd
# or even go further restrict the access to the file fully to root (700)
sudo chmod go-rx dd
# to reverse that setting you did do (755)
sudo chmod go+rx dd
Это удаляет исполняемые флаги из этих команд для группы и других. Вы можете сделать это почти со всеми командами, и до тех пор, пока не сообщите, что у вас нет разрешения, если вы не используете sudo.
Отказ от ответственности: не нужно, я имею в виду, НЕ изменяю разрешения на sudo или su, вы можете заблокировать вас необходимого материала и будет трудно фиксировать время.