18.3.12. Проверка пользователя, выполняющего сценарий
18.3.12. Проверка пользователя, выполняющего сценарий
В следующем примере для проверки условия используется переменная среды. Здесь проверяется, присвоено ли переменной LOGNAME значение "root". Обычно этот тип оператора добавляется в начале сценариев в качестве дополнительной меры безопасности. Несомненно, переменная LOGNAME может проверяться для каждого действительного пользователя.
Если значение переменной не равно строке "root", на экран выводится сообщение из стандартного потока ошибок. Пользователь информируется о том, что он не является пользователем root, а сценарий завершается со значением ошибки, равным 1.
Если строка "root" равна значению переменной LOGNAME, выполняется оператор, который находится после else.
На практике в этом случае сценарий продолжает обработку задания в обычном режиме. Соответствующие операторы находятся после конструкции fi, поскольку все пользователи, отличные от пользователя root, лишаются доступа к сценарию еще на первом этапе проверки.
$ pg ifroot
#!/bin/sh
# ifroot
if [ "$LOGNAME" != "root" ]
# если пользователь не является пользователем root
echo "You need to be root to run this script" >&2
exit 1
else
# да, это пользователь root
echo "Yes indeed you are $LOGNAME proceed"
fi
# выполнение операторов в обычном режиме
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
11.4. Проверка для эффективного пользователя: euidaccess() (GLIBC)
11.4. Проверка для эффективного пользователя: euidaccess() (GLIBC) GLIBC предоставляет дополнительную функцию, которая работает подобно access(), но проверяет в соответствии с эффективными UID, GID и набором групп:#include <unistd.h> /* CLIBC */int euidaccess(const char *path, int amode);Аргументы и возвращаемое
Сценарий входа для одного пользователя
Сценарий входа для одного пользователя Сценарии входа для отдельных пользователей назначаются с помощью оснастки Локальные пользователи и группы (Local users and groups). Замечание В Windows NT для этого использовался Диспетчер пользователей (User Manager for Domain). Для добавления этой
Простейший Web-сценарий
Простейший Web-сценарий Первый Web-сценарий, который мы напишем, будет совсем простым. Он выведет на Web-страницу текущую дату.В самом начале этой книги, приступив к изучению HTML, мы создали небольшую Web-страничку 1.1.htm. Найдем ее и откроем в Блокноте. В самом конце ее HTML- кода,
Написание Web-сценария, выполняющего поиск
Написание Web-сценария, выполняющего поиск Осталось написать Web-сценарий, который будет искать Web-страницы, удовлетворяющие заданным посетителем условиям.Откроем файл Web-сценария main.js и поместим где-либо в теле функции, передаваемой в качестве параметра методу onReady объекта
Написание Web-сценария, выполняющего поиск
Написание Web-сценария, выполняющего поиск Осталось создать (точнее, переделать уже созданный в главе 20) Web-сценарий, который, собственно, будет выполнять поиск.Откроем файл Web-сценария main.js в Блокноте и добавим в его начало такое выражение:var cSearchHeight = 0;Оно объявляет
Написание Web-сценария, выполняющего поиск
Написание Web-сценария, выполняющего поиск Осталось написать Web-сценарий, который будет искать Web-страницы, удовлетворяющие заданным посетителем условиям.Откроем файл Web-сценария main.js и поместим где-либо в теле функции, передаваемой в качестве параметра методу onReady объекта
Написание Web-сценария, выполняющего поиск
Написание Web-сценария, выполняющего поиск Осталось создать (точнее, переделать уже созданный в главе 20) Web-сценарий, который, собственно, будет выполнять поиск.Откроем файл Web-сценария main.js в Блокноте и добавим в его начало такое выражение:var cSearchHeight = 0;Оно объявляет
24.4.1 Сценарий 1
24.4.1 Сценарий 1 Технология Message Digest (резюме сообщения) подойдет для сценария 1 — аутентифицировать отправителя и определить изменения в данных. Рассмотрим, как работает этот механизм (см. рис. 24.1):? Источник и назначение знают секретный ключ.? Источник выполняет вычисление,
24.4.5 Сценарий 2
24.4.5 Сценарий 2 В сценарии 1 безопасность реализована на уровне хостов. Но предположим, что имеется пользователь или роль, требующие другого уровня безопасности. Основы безопасности должны обеспечиваться на уровнях пользователя, роли и важной информации.Допустим, что
24.4.6 Сценарий 3
24.4.6 Сценарий 3 Сценарий 3 показан на рис. 24.4. Цель состоит в том, чтобы сделать невидимым для внешнего мира весь трафик, который компания XYZ посылает через недоверенную сеть. Для этого используется инкапсуляция в режиме туннеля, т.е. датаграммы шифруются и инкапсулируются
Линейный сценарий
Линейный сценарий Как уже было сказано, веб-аналитики описывают сценарий убеждения как последовательность шагов. Такие шаги посетитель делает или в самом начале, или уже в конце процесса конверсии. В первом случае это может быть:переход по ссылке из поисковой системы
Нелинейный сценарий
Нелинейный сценарий Маркетологи хорошо понимают покупательскую психологию и знают, что люди не любят выполнять действия в предписанном порядке. В процессе покупки у них возникает множество сомнений, которые необходимо разрешить. Вы сможете это сделать, только если
Режим Сценарий
Режим Сценарий Итак, режим Сценарий лучше всего подходит для задания или проверки последовательности сцен, из которых составляется фильм проекта. Каждая сцена в этом режиме представлена кадром на киноленте. Кроме сцен в кадрах ленты могут быть показаны титры и меню. Как
29.4.1. Базовый сценарий cgi
29.4.1. Базовый сценарий cgi Все сценарии обычно находятся в каталоге cgi?bin Web–сервера, хотя подобное размещение может быть изменено. Для изменения размещения сценариев и подключения сервера cgi следует обратиться к файлам конфигурации srm.conf и разделу ScriptAlias. Все сценарии