Пример 9-5. Я -- root?

Пример 9-5. Я -- root?

#!/bin/bash

# am-i-root.sh: Root я, или не root?

ROOT_UID=0 # $UID root-а всегда равен 0.

if [ "$UID" -eq "$ROOT_UID" ] # Настоящий "root"?

then

echo "- root!"

else

echo "простой пользователь (но мамочка вас тоже любит)!"

fi

exit 0

# ============================================================= #

# Код, приведенный ниже, никогда не отработает,

#+ поскольку работа сценария уже завершилась выше

# Еще один способ отличить root-а от не root-а:

ROOTUSER_NAME=root

username=`id -nu` # Или... username=`whoami`

if [ "$username" = "$ROOTUSER_NAME" ]

then

echo "Рутти-тутти. - root!"

else

echo "Вы - лишь обычный юзер."

fi

См. также Пример 2-2.

Переменные $ENV, $LOGNAME, $MAIL, $TERM, $USER и $USERNAME, не являются встроенными переменными Bash. Тем не менее, они часто инициализируются как переменные окружения в одном из стартовых файлов Bash. Переменная $SHELL, командная оболочка пользователя, может задаваться в /etc/passwd или в сценарии "init" и она тоже не является встроенной переменной Bash.

tcsh% echo $LOGNAME

bozo

tcsh% echo $SHELL

/bin/tcsh

tcsh% echo $TERM

rxvt

bash$ echo $LOGNAME

bozo

bash$ echo $SHELL

/bin/tcsh

bash$ echo $TERM

rxvt

Позиционные параметры (аргументы)

$0, $1, $2 и т.д.

аргументы передаются... из командной строки в сценарий, функциям или команде set (см. Пример 4-5 и Пример 11-13)

$#

количество аргументов командной строки[ 20 ], или позиционных параметров (см. Пример 33-2)

$*

Все аргументы в виде одной строки (слова)

$@

То же самое, что и $*, но при этом каждый параметр представлен как отдельная строка (слово), т.е. параметры не подвергаются какой либо интерпретации.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

1.1.3.7. Пароль root

Из книги Fedora 8 Руководство пользователя автора Колисниченко Денис Николаевич

1.1.3.7. Пароль root После этого нам нужно установить пароль пользователя root (рис. 1.18). Пользователь root обладает максимальными привилегиями. Его можно сравнить с пользователем Администратор в Windows. Постарайтесь не забыть пароль root. Если вы его забудете, тогда вам стоит


Проблема 1. Забыт пароль root

Из книги XSLT автора Хольцнер Стивен

Проблема 1. Забыт пароль root Восстановить забытый пароль довольно просто. Для этого при загрузке системы выберите загрузочный образ (рис. A.1), а затем нажмите клавишу ‹а›. Появится возможность отредактировать параметры ядра. Укажите параметр ядра single (рис. А.2), Рис. А.1.


Проблема 2. Как войти в систему как пользователь root

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

Проблема 2. Как войти в систему как пользователь root По умолчанию нельзя войти в систему как пользователь root в графическом режиме. Чтобы получить полномочия пользователя root, придётся в окне терминала использовать команду su. Чтобы войти как пользователь root в графическом


Проблема 3. Ошибка kernel panic: VFS: Unable to mount root fs

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

Проблема 3. Ошибка kernel panic: VFS: Unable to mount root fs Данная ошибка означает, что ядро не может подмонтировать корневую файловую систему.• Если вы увидели данное сообщение при загрузке с дистрибутивного CD/DVD, скорее всего, поверхность носителя повреждена. Попробуйте извлечь диск и


Создание корня документа:

Из книги Искусство программирования на языке сценариев командной оболочки автора Купер Мендель

Создание корня документа: <fo:root> Первый форматирующий документ, который мы рассмотрим, — это <fo:root>, узел документа любого документа XSL-FO.Детьми форматирующего объекта <fo:root> являются единственный форматирующий объект <fo:layout-master-set> и последовательность из


1.5.2. Fedora Core: не удается войти в систему как root в графическом режиме

Из книги Linux программирование в примерах автора Роббинс Арнольд

1.5.2. Fedora Core: не удается войти в систему как root в графическом режиме Включена система безопасности SELinux. При установке некоторым файлам в домашнем каталоге root назначается ошибочный контекст безопасности. Для исправления этой ошибочки зарегистрируйтесь в консоли как root и


1.5.9. Я забыл пароль пользователя root

Из книги Цифровой журнал «Компьютерра» № 187 автора Журнал «Компьютерра»

1.5.9. Я забыл пароль пользователя root Бывает… Перезагрузите компьютер и в строке приглашения загрузчика lilo введите linux single. Будет запущен однопользовательский режим. Для изменения пароля введите команду passwd


2.2.2. Получение прав пользователя root

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

2.2.2. Получение прав пользователя root Весьма часто загрузка с LiveCD используется для того, чтобы восстановить ранее установленную «упавшую» систему. Вот в этом случае максимальный доступ к системе и может понадобиться. Примечание Более полно о пользователе root мы поговорим в


6.1. Учетная запись root

Из книги автора

6.1. Учетная запись root В Windows мы привыкли, что нам разрешено все. Конечно, не всегда, но в большинстве случаев именно так. В Linux все иначе — максимальными полномочиями обладает только пользователь root. Система полностью подвластна этому пользователю. Внимание! Всегда думайте


6.2. Временное получение полномочий пользователя root

Из книги автора

6.2. Временное получение полномочий пользователя root Некоторые операции, такие, например, как установка программного обеспечения или изменение конфигурационных файлов, требуют полномочий root. Чтобы их получить, нужно использовать команду sudo следующим образом: sudo


6.3. Переход к традиционной учетной записи root

Из книги автора

6.3. Переход к традиционной учетной записи root Несмотря на то, что в дистрибутиве Ubuntu традиционная учетная запись root отключена, возможность восстановить ее имеется. После чего режим ее использования будет таким же, как и в прочих дистрибутивах, — вы сможете заходить в


Пример 9-3. Еще один пример ограничения времени ожидания ввода от пользователя

Из книги автора

Пример 9-3. Еще один пример ограничения времени ожидания ввода от пользователя #!/bin/bash# timeout.sh# Автор: Stephane Chazelas,# дополнен автором документа.INTERVAL=5 # предел времени ожиданияtimedout_read() { timeout=$1 varname=$2 old_tty_settings=`stty -g` stty -icanon min 0 time ${timeout}0 eval read $varname # или просто read $varname


11.8. Пересечение минного поля безопасности: setuid root

Из книги автора

11.8. Пересечение минного поля безопасности: setuid root Настоящие минные поля трудно, но не невозможно перейти. Однако, это не является чем-то, что можно сделать легко, без тренировки или опытаТочно также написание программ, которые используют setuid root, является трудной задачей.


Голубятня: Acronis, хорошо-что-не-закипевший чайник, OpenSuse и Его Величество Root Сергей Голубицкий

Из книги автора

Голубятня: Acronis, хорошо-что-не-закипевшии? чаи?ник, OpenSuse и Его Величество Root Сергей Голубицкий Опубликовано 20 августа 2013 Всю неделю я что-то мучительно перестраивал, перекраивал и революционизировал на всех своих компьютерных устройствах — от


4.8. Получение прав root

Из книги автора

4.8. Получение прав root Теперь у нас есть достаточно информации о доступе, и мы можем рассмотреть типичный метод взломщика для получения прав root и способы маскировки в системе.Допустим, что злоумышленник приобрел возможность выполнять какие-либо системные команды от имени