Лекция UNIX_1 (от компании MERA) ppt
- Количество слайдов: 68
OS UNIX Командная оболочка. Пользователи Лекция 2
Командная оболочка Командная оболочка (shell) интерпретирует и выполняет команды, введенные в строке терминала Командные оболочки представляют собой самостоятельные языки программирования, с собственным синтаксисом и отличительными функциональными возможностями Командная оболочка мощное средство решения как системных, так и некоторых прикладных задач, в особенности, автоматизации часто выполняемых последовательностей команд 2
Командная оболочка Разнообразие командных оболочек в ОС UNIX привести в замешательство, но к этому нужно относиться как к результату эволюционного развития 3
Командная оболочка Основные командные оболочки UNIX: sh bash csh tcsh zsh 4
Оболочка sh Оболочка Борна (Bourne shell) Самая первая оболочка Не поддерживет возможность редактирования командной строки Данная оболочка фактически является стандартом и доступна почти в любом дистрибутиве Unixподобных. ОС 5
Оболочка bash Обновленная оболочка Борна (Bourne Again Shell) Наиболее часто используемая оболочка в UNIX Поддерживает функции редактирования командной строки, автодополнение команд и подстановку строк из истории 6
Оболочка zsh Самая новая из командных оболочек Является расширением bash Обладает широкими возможностями автодополнения 7
Shell Под Shell обычно подразумеваются POSIXсовместимые оболочки POSIX (англ. Portable Operating System Interface for Unix — Переносимый интерфейс операционных систем Unix). Этот стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем 8
Сокращенный ввод Функции автодополнения (TAB) Премещение по буферу истории команд: стрелка вверх стрелка вниз 9
Навигация по строке Переход в начало строки: Ctrl + A Переход в конец строки: Ctrl + E 10
Команды оболочки В Unix-подобных ОС, как правило, команда - это файл (это относится к большинству команд, но не ко всем. Некоторые команды реализуются непосредственно внутри оболочки ее средствами без загрузки внешней программы из файла Например, команда ls является исполняемым файлом, который расположен в каталоги bin: $ ls $ /bin/ls 11
Пути поиска Список каталогов, где оболочка отыскивает команды, назывется «путь поиска» Чтобы увидеть свой путь поиска, необходимо выполнить команду: $ echo $PATH - переменная окружения 12
Переменные окружения Переменные окружения (среды) — текстовые переменные ОС, хранящие данные о ряде настроек системы Среда представляет собой набор пар «имя переменной» и «значение переменной» Как «имя» , так и «значение» чувствительны к регистру символов, «Имя» обычно указывается в верхнем регистре, использование пробелов недопустимо: ИМЯ_ПЕРЕМЕННОЙ = "значение переменной" 13
Переменные окружения Переменные среды окружения не имеют типа и считается, что они содержат строку. Если в строке встречаются пробелы, значение переменной берут в двойные кавычки После входа пользователя в систему у пользователя существует большое количество заранее определенных переменных среды окружения Можно самостоятельно определять новые переменные или изменять старые 14
Переменные окружения Утилита printenv выводит переменные окружения. Для получения значения конкретной переменной необходимо перед её именем поставить символ доллара: $ echo $VAR Утилита export используется для из изменения существующих переменных среды и добавления новых: $ export VAR=“value” Утилита unset удаляет указанную переменную (уничтожая и саму переменную, и её значение 15
Переменные окружения Некоторые переменные окружения PATH – пути для поиска программ (список директорий, разделенных двоеточиями) HOME – домашняя директория пользователя USER – имя пользователя SHELL – имя основного shell PWD – текущий каталог 16
Основные команды Про большинство команд можно узнать подробную информацию, обратившись к справочной системе с помощью команды: $ man <command> 17
Основные команды $ pwd Вывести имя текущего каталога $ cd <dir> Cменить текущий каталог. Если имя каталога не указывается, то текущим становится домашний каталог пользователя 18
Основные команды $ pushd Запомнить директорию (добавить в стек директории) $ popd Удалить верхнюю директорию из стека и перейти в следующую $ dirs Показать список запомненных директорий 19
Основные команды $ ls Выдать список файлов в текущем каталоге $ du Показать размер файла 20
Основные команды $ rm <file/files> Удалить файлы $ mkdir <dir> Создать новый каталог $ rmdir <dir> Удалить пустой каталог $ rm -r <dir> Удалить каталог, содержащий файлы 21
Основные команды $ cp <source> <dest> Копировать файл $ mv <source> <dest> Переместить или переименовать файл 22
Основные команды $ find <dir> -name <file_name> Найти файл с заданным именем и отобразить результат поиска на экране 23
Wildcards В интерпретаторах командной строки применяются символы-джокеры: знак вопроса (? ) в качестве замены одного символа звёздочка (*) в качестве замены любого символа квадратные скобки ([. . . ]) один из символов заключенных в скобки 24
Регулярные выражения Реглярные выражения (англ. regular expressions, сокр. Reg. Exp) — система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска Образец (англ. pattern), задающий правило поиска, порусски также иногда называют «шаблоном» , «маской» Сейчас регулярные выражения используются многими текстовыми редакторами и утилитами для поиска и изменения текста на основе выбранных правил 25
Представление символов Любой символ Метасимвол. (точка) означает один любой символ Символьные классы (наборы символов) 26
Символьные классы Набор символов в квадратных скобках [ ] именуется символьным классом и позволяет указать интерпретатору регулярных выражений, что на данном месте в строке может стоять один из перечисленных символов. В частности, [абв] задаёт возможность появления в тексте одного из трёх указанных символов. ([1234567890], [0 -9], [a-z]) Если требуется указать символы, которые не входят в указанный набор, то используют символ ^ внутри квадратных скобок, например [^0 -9] 27
Позиция ^ - Начало строки $ - Конец строки 28
Квантификация - поиск последовательностей Квантификатор после символа, символьного класса или группы определяет, сколько раз предшествующее выражение может встречаться: {n} Ровно n {m, n} От m до n включительно {m, } Не менее m {, n} Не более n 29
Квантификация Представление Число повторений Эквивалент * Ноль или более + Одно или более ? Ноль или одно {0, } {1, } {0, 1} 30
Пример Reg. Exp Регулярное выражение для проверки правильности ввода e-mail: [0 -9 a-z. A-Z_]+@[0 -9 a-z]+. [a-z]{2, 3} 31
Основные команды $ grep Утилита для поиска подстроки в файле 32
Основные команды $ gzip/gunzip Cжать/восстановить файл $ tar Показать тип файла $ zip/unzip Cжать/восстановить файл 33
Основные команды $ file Показать тип файла $ cmp/diff Сравнивает 2 файла $ cat Вывод содержимого файла $ pg/more Пострничный вывод содержимого файла 34
Полезные команды !! - повтор последней команды !<n> - повтор n-ой команды (номер из ”history”) !$ - последний аргумент alias/unalias - добавить/удалить алиас source - выполнить команды указанные в файле Обратные апострофы (`команда`) подставляют результат выполнения команды 35
Группировка команд ; - определяют последовательное выполнение команд && - выполнение последующей команды при условии нормального завершения предыдущей, иначе игнорировать || выполнение последующей команды при ненормальном завершении предыдущей, иначе игнорировать 36
Группировка команд Например, введена следующая последовательность команд: с1 && с2; с3 "с2" будет выполнена только при успешном завершении "с1", после любого из исходов обработки "с2" будет выполнена "с3" 37
Группировка команд Для группировки команд также могут использоваться фигурные "{}" скобки: с1 && {с2; с3} Обе команды ("с2" и "с3") будут выполнены только при успешном завершении "с1" 38
Пользователи UNIX - это многопользовательская ОС, поэтому пользователь – это одно из ключевых понятий в организации системы доступа к ресурсам Пользователь - сущность, выполняющая различные действия с файлами и каталогами, для решения конкретных задач Пользователи имеют определенный набор права доступа к ресурсам Каждая программа (процесс) выполняется от имени определённого пользователя. Её возможности работы с файлами и каталогами определяются правами доступа, заданными для этого пользователя 39
Пользователи Каждый пользователь имеет в системе свое имя (username) и пароль (password) Если при входе в ОС имя и пароль введены правильно, то машина выдает приглашение пользователю для начала работы Приглашение имеет вид определенного символа, например, знак $ (его можно установить по желанию пользователя) 40
Категории пользователей Существует две категории пользователей: Суперпользователь Обычные пользователи 41
Суперпользователь Суперпользователь или системный администратор имеет имя root и обладает правом доступа ко всем файлам и каталогам, отвечая за устойчивую работу системы и ее безопасность Суперпользователь регистрирует остальных пользователей, организует их работу и обеспечивает взаимодействие всех компьютеров в сети Не стоит использовать root'а для выполнения обычных задач 42
Обычные пользователи Права обычного пользователя в системе ограничены, например, он не может зарегистрировать нового пользователя, не имеет доступа к файлам другого пользователя, если суперпользователь не предоставит ему такие права 43
Обычные пользователи Команда su используется для смены пользователя Команда sudo используется для запуска программ от имени другого пользователя 44
Учетные записи Когда пользователь регистрируется в системе (проходит процедуру авторизации: вводит username и password), он идентифицируется с учётной записью Сведения о пользователе называются профилем пользователя или учётной записью пользователя Именно с учётными записями, а не с самими пользователями, и работает система 45
Сведения о пользователе Имя пользователя (user name) Это имя используется также в качестве имени учётной записи Оно может содержать только латинские буквы и знак “_” 46
Сведения о пользователе Идентификатор пользователя (UID) UNIX связывает имя пользователя c идентификатором пользователя в системе - UID (User ID) UID - это положительное целое число, по которому система и отслеживает пользователей 47
Сведения о пользователе Идентификатор группы (GID) В UNIX существуют также группы пользователей Группы пользователей применяются для организации доступа нескольких пользователей к некоторым ресурсам Кроме идентификационного номера пользователя с учётной записью связан идентификатор группы. У группы, так же, как и у пользователя, есть имя и идентификационный номер — GID (Group ID) 48
Сведения о пользователе Идентификатор группы (GID) - продолжение В UNIX каждый пользователь должен принадлежать как минимум к одной группе (группа по умолчанию) При создании учётной записи пользователя обычно создаётся и группа, имя которой совпадает с системным именем, именно эта группа будет использоваться как группа по умолчанию для этого пользователя Пользователь может входить более чем в одну группу, но в учётной записи указывается только номер группы по умолчанию 49
Сведения о пользователе Полное имя (full name) Помимо системного имени в учётной записи содержится и полное имя (имя и фамилия) использующего данную учётную запись человека. Конечно, пользователь может указать что угодно в качестве своего имени и фамилии. Полное имя необходимо не столько системе, сколько людям - чтобы иметь возможность определить, кому принадлежит учётная запись 50
Сведения о пользователе Домашний каталог (home directory) Файлы всех пользователей в UNIX хранятся раздельно, у каждого пользователя есть собственный домашний каталог, в котором он может хранить свои данные. Доступ других пользователей к домашнему каталогу пользователя может быть ограничен. Информация о домашнем каталоге обязательно должна присутствовать в учётной записи, потому что именно с него начинает работу пользователь, зарегистрировавшийся в системе 51
Сведения о пользователе Начальная оболочка (login shell) Командная оболочка по-умолчанию 52
Сведения о пользователе Учетная запись: Имя пользователя (user name) Идентификатор пользователя (UID) Идентификатор группы (GID) Полное имя (full name) Домашний каталог (home directory) Начальная оболочка (login shell) 53
Учетные записи Конфигурация UNIX имеет в своей основе текст Большинство конфигурационных файлов UNIX распологаются в каталоге /etc Вся информация об учетных записях хранится в файле /etc/passwd. Это текстовый файл, право на чтение которого имеют все пользователи, а право на запись имеет только суперпользователь Каждая строка содержит нового пользователя с параметрами, разделенными двоеточием: mike: x: 1000: mike, , , : /home/mike: /bin/bash 54
Пароли Символ ”x” в учетной записи (см. предыдущий слайд) означает, что пароль спрятан в другом месте В UNIX пароль хранится в зашифрованном виде Обычно применяются так называемые «теневые пароли» (shadow passwords), которые хранятся отдельно от остальных сведений об учётной записи, а также позволяют назначать дополнительные ограничения, в частности, «срок годности» пароля Обычно зашифрованные пароли пользователей хранятся в файле /etc/shadow, закрытом для чтения и записи 55
Выбор безопасного пароля Не рекомендуется использовать простые для угадывания пароли: Имена, даты рождения, номера телефонов и просто корректно написанные русские и английские слова В идеале пароль должен представлять собой строку из случайного набора символов, включая буквы верхнего и нижнего регистров, цифры и специальные символы 56
Группы пользователей Информация о группах хранится в файле /etc/group 57
Редактирование уч. записей Стандартные команды для редактирования учетных записей: useradd создаёт новую учётную запись usermod изменяет данные учётной записи userdel удаляет существующую учётную запись 58
Создание уч. записей Утилита useradd добавляет учётную запись, заполняя её значениями по умолчанию и проводя все необходимые изменения в системе: $ useradd test_user Имя пользователя является обязательным параметром. С помощью дополнительных параметров при вызове useradd можно явно указать значение для того или иного поля учётной записи 59
Изменение уч. записей Для для модификации параметров уже существующей учётной записи используется утилита usermod: $ usermod -l test_user test. User $ usermod -G mike -a test. User 60
Изменение пароля Программа passwd изменяет пароли путям внесения изменений в файл /etc/shadow Чтобы изменить свой собственный пароль, наберите: $ passwd В случае, если у вас есть права root'а, вы можете изменить пароль другого пользователя: $ passwd <user name> 61
Удаление уч. записей Запустите userdel с именем удаляемой учётной записи в качестве аргумента. Вам следует сначала убедиться, что пользователь вышел из системы, и отсутствуют процессы, выполняемые от его имени: $ userdel test. User Пользователь будет удалён из файлов /etc/passwd, /etc/shadow и /etc/group, однако не был удалён его домашний каталог. Если вы хотите удалить и его каталог, вам нужно было использовать команду со опцией “r”: $ userdel -r test. User 62
Управление группами Для управления группами существует комплект утилит: groupdel groupadd groupmod Подробности о работе с ними можно найти в соответствующих руководствах (утилита man) 63
Редактирование конф. файлов Необходимо соблюдать осторожность при прямом редактировании файлов /etc/passwd и /etc/group Возможно случайное дублирование идентификационного номера. Все ресурсы предпочитают использовать не имя пользователя или группы, а именно ID. (Если вы случайно продублируете его, то дадите доступ туда, куда не собирались) 64
Кто я? Команда whoami выводит имя пользователя, ассоциированное с текущим эффективным идентификатором пользователя Пример использования: $ whoami mike 65
Информация о пользователе Утилита id, выводит информацию об указанном пользователе или текущем пользователе, который запустил данную команду и не указал явно имя пользователя: root@mike-laptop: /home/mike# id uid=0(root) groups=0(root) 66
Вопросы?
Спасибо =)
Лекция UNIX_1 (от компании MERA) ppt