Пользователи системы



страница4/42
Дата01.12.2017
Размер5.38 Mb.
ТипПрограмма
1   2   3   4   5   6   7   8   9   ...   42

Простейшие команды


Работа в Linux при помощи командной строки напоминает диалог с системой: пользователь вводит команды (реплики), получая от системы ответные реплики, содержащие сведения о произведенных операциях, дополнительные вопросы к пользователю, сообщения об ошибках или просто согласие выполнить следующую команду1).

Простейшая команда в Linux состоит из одного "слова" - названия программы, которую необходимо выполнить. Одну такую команду (passwd) Мефодий уже использовал для того, чтобы изменить свой пароль. Теперь Мефодий решил вернуться на одну из виртуальных консолей, на которой он зарегистрировался, и попробовать выполнить несколько простых команд:

[methody@localhost methody]$ whoami

methody


[methody@localhost methody]$

Пример 1.8. Команда whoami (html, txt)

Название этой команды происходит от английского выражения "Who am I?" ("Кто я?"). В ответ на эту команду система вывела только одно слово: "methody" и завершила свою работу, о чем свидетельствует вновь появившееся приглашение командной строки. Программа whoami возвращает название учетной записи того пользователя, от имени которого она была выполнена. Эта команда полезна в системах, в которых работает много разных пользователей, чтобы никто из них не мог по ошибке воспользоваться чужой учетной записью. Однако вприглашении командной строки зачастую указывается имя пользователя (как и в наших примерах), поэтому без команды whoami можно обойтись. Следующий пример демонстрирует программу, которая выдаст Мефодию уже больше полезной информации: who ("Кто"):

[methody@localhost methody]$ who

methody tty1 Sep 23 16:31 (localhost)

methody tty2 Sep 23 17:12 (localhost)

[methody@localhost methody]$

[methody@localhost methody]$ who am i

methody tty2 Sep 23 17:12 (localhost)

[methody@localhost methody]$

Пример 1.9. Команда who (html, txt)

Команда who выводит список пользователей, которые в настоящий момент зарегистрированы в системе (вошли в систему). Данная программа выводит по одной строке на каждого зарегистрированного пользователя: в первой колонке указывается имя пользователя, во второй - "точка входа" в систему, далее следует дата и время регистрации и имя хоста. Из выведенной who информации можно заключить, что в системе дважды зарегистрирован пользователь methody, который сначала зарегистрировался на первой виртуальной консоли(tty1), а примерно через сорок минут - на второй (tty2). Конечно, Мефодий и так это знает, однакоадминистратору больших систем, когда пользователи могут зарегистрироваться со многих компьютеров и даже по сети, программа who может быть очень полезна. Могло создаться впечатление, что who - очень интеллектуальная программа, понимающая английский, но это не так. Из всех английских слов она понимает только сочетание "am i" - таким способом Мефодий узнал, за какой консолью он сейчас работает.

Еще одна программа, выдающая информацию о пользователях, работавших в системе в последнее время - last2). Выводимые этой программой строки напоминают вывод программы who, с той разницей, что здесь перечислены и те пользователи, которые уже завершили работу:

[methody@localhost methody]$ last

methody tty2 localhost Thu Sep 23 17:12 still logged in

methody tty1 localhost Thu Sep 23 16:31 still logged in

cacheman ??? localhost Thu Sep 23 16:15 - 16:17 (00:01)

cacheman ??? localhost Thu Sep 23 16:08 - 16:08 (00:00)

cyrus ??? localhost Thu Sep 23 16:08 - 16:08 (00:00)

cyrus ??? localhost Thu Sep 23 16:08 - 16:08 (00:00)

reboot system boot 2.4.26-std-up-al Thu Sep 23 16:03 (04:13)

reboot system boot 2.4.26-std-up-al Thu Sep 23 16:03 (04:13)



Пример 1.10. Команда last (html, txt)

В этом примере Мефодий неожиданно обнаружил, кроме себя самого, неизвестных ему пользователей cacheman иcyrus - он точно знает, что не создавал учетных записей с такими именами. Это псевдопользователи (или системные пользователи) - специальные учетные записи, которые используются некоторыми программами. Поскольку эти "пользователи" регистрируются в системе без помощи монитора и клавиатуры, их "точка входа" в систему не определена (во второй колонке записано "???"). В выводе программы last появляется даже пользователь reboot (перезагрузка). В действительности такой учетной записи нет, программа last таким способом выводит информацию о том, когда была загружена система.


Выход из системы


В строках, выведенных программой last, указан не только момент регистрации пользователя в системе, но и момент завершения работы. Можно представить Linux как закрытое помещение: чтобы начать работу, нужно сначала войти в систему (зарегистрироваться, пройти процедуру идентификации), а когда работа закончена, следует из системы выйти. В том случае, если в систему вошло несколько пользователей, каждый из них должен выйти, завершив работу, причем не имеет значения, разные это пользователи или "копии" одного и того же.

Вход пользователя в систему означает, что нужно принимать и выполнять его команды и возвращать ему отчеты о выполненных действиях, например, предоставив ему интерфейс командной строки. Выход означает, что работа от имени данного пользователя завершена и более не следует принимать от него команды. Весь процесс взаимодействия пользователя с системой от момента регистрации до выхода называется сеансом работы. Причем если пользователь входит в систему несколько раз под одним и тем же именем, ему будут доступны несколькоразных сеансов работы, не связанных между собой.

В наших примерах Мефодий зарегистрирован в системе дважды: на первой и второй виртуальных консолях. Чтобы завершить работу на любой из них, ему достаточно в соответствующей командной строкe набрать команду logout:

[methody@localhost methody]$ logout

Welcome to Some Linux / tty1

localhost login:



Пример 1.11. Команда logout (html, txt)

В ответ на эту команду вместо очередного приглашения командной строки возобновляется приглашение к регистрации в системе. На данной виртуальной консоли работа с Мефодием завершена, и теперь здесь снова может зарегистрироваться любой пользователь.

Есть и другой, еще более "немногословный" способ сообщить системе, что пользователь хочет завершить текущийсеанс работы. Нажав Alt+F2, Мефодий попадет на вторую виртуальную консоль, где все еще открыт сеанс для пользователя "methody", и нажмет сочетание клавиш Ctrl+D, чтобы прекратить и этот сеанс. Нажатие комбинации клавиш Ctrl+D приводит не к передаче компьютеру очередного символа, а к закрытию текущего входного потока данных. В сущности, командная оболочка вводит команды пользователя с консоли, как если бы она читала их построчно из файла. Нажатие Ctrl+D сигнализирует ей о том, что этот "файл" закончился, и теперь ей неоткуда больше считывать команды. Такой способ завершения аналогичен явному завершению командной оболочки командой logout.




Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   ...   42


База данных защищена авторским правом ©vossta.ru 2019
обратиться к администрации

    Главная страница