#linux
#linux
Вопрос:
Я новичок в Linux, и мне нужна помощь со сценарием. Я хочу, чтобы скрипт создал файл и дал всем разрешение на чтение, запись и выполнение его, и через одну минуту я хочу, чтобы разрешение было доступно только для чтения и выдавало эхо-сообщение «у вас больше нет доступа».
Я попробовал следующее, и оно создает и предоставляет разрешения, но повторяет сообщение «у вас больше нет доступа»..
#!/bin/bash
echo "enter time"
read time
touch bin/jozat
echo chmod 777 bin/jozat | at now 1 minutes
echo chmod 700 bin/jozat | at now 2 minutes amp;amp; echo "you no longer have access"
Ответ №1:
Вы хотите использовать at(1).
Ответ №2:
Я не знаю, как использовать, at
но готов поспорить, что ваш echo
отправил бы вывод для какого-нибудь файла журнала. Кроме того, вы не хотите отправлять echo
после обновления разрешений? Ваш скрипт выводит его сразу после регистрации разрешений, изменяющихся в at
, а не при изменении разрешений.
Я бы заменил его на wall
, который отправляет сообщение всем пользователям на всех терминалах. Итак, я бы написал
echo 'chmod 700 bin/jozat amp;amp; echo "you no longer have access" | wall' | at now 2 minutes
вместо
echo chmod 700 bin/jozat | at now 2 minutes amp;amp; echo "you no longer have access"
Обратите внимание, что вся команда chmod 700 bin/jozat amp;amp; echo "you no longer have access" | wall
заключена в одинарные кавычки.
Это хорошее решение для вас?
Редактировать: wall
команда отправляет сообщение всем пользователям на всех терминалах. Если вы хотите отправить сообщение только пользователю, выполняющему код, вы можете использовать write
команду с текущим именем пользователя:
echo 'chmod 700 bin/jozat amp;amp; echo "you no longer have access" | write `whoami`' | at now 2 minutes
Комментарии:
1. спасибо брандицци . я думаю, это может сработать. попробую это через минуту
2. большое спасибо брандицци. я протестировал это, оно работало со стеной. еще раз спасибо
3. Рад помочь. Кстати, вы видели мое последнее обновление? Существует решение, которое не показывает сообщения всем пользователям, а только для текущего. Это может быть лучше для вас и совсем не сложно.