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


Программирование на языке сценариев командной оболочки - стр. 182


/p>

id

Команда id выводит идентификатор пользователя (реальный и эффективный) и идентификаторы групп, в состав которых входит пользователь. По сути -- выводит содержимое переменных $UID, $EUID и $GROUPS.

bash$ id

uid=501(bozo) gid=501(bozo) groups=501(bozo),22(cdrom),80(cdwriter),81(audio)

bash$ echo $UID

501

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

who

Выводит список пользователей, работающих в настоящий момент в системе.

bash$ who

bozo tty1 Apr 27 17:45 bozo pts/0 Apr 27 17:46 bozo pts/1 Apr 27 17:47 bozo pts/2 Apr 27 17:49

С ключом -m -- выводит информацию только о текущем пользователе. Если число аргументов, передаваемых команде, равно двум, то это эквивалентно вызову who -m, например who am i или who The Man.

bash$ who -m

localhost.localdomain!bozo pts/2 Apr 27 17:49

whoami -- похожа на who -m, но выводит только имя пользователя.

bash$ whoami

bozo

w

Выводит информацию о системе, список пользователей, подключенных к системе и процессы, связанные с пользователями. Это расширенная версия команды who. Вывод от команды w может быть передан по конвейеру команде grep, с целью поиска требуемого пользователя и/или процесса.

bash$ w | grep startx

bozo tty1 - 4:22pm 6:41 4.47s 0.45s startx

logname

Выводит имя текущего пользователя (из файла /var/run/utmp). Это довольно близкий эквивалент команды whoami.

bash$ logname

bozo

bash$ whoami

bozo

Однако...

bash$ su

Password: ......

bash# whoami

root

bash# logname

bozo

su

Команда предназначена для запуска программы или сценария от имени другого пользователя. su rjones -- запускает командную оболочку от имени пользователя rjones. Запуск команды su без параметров означает запуск командной оболочки от имени привилегированного пользователя root. См. Пример A-17.

sudo

Исполняет заданную команду от имени пользователя root (или другого пользователя).

#!/bin/bash

# Доступ к "секретным" файлам. sudo cp /root/secretfile /home/bozo/secret

Имена пользователей, которым разрешено использовать команду sudo, хранятся в файле /etc/sudoers.




Начало  Назад  Вперед



Книжный магазин