- •1. Цели и задачи самостоятельной работы
- •Распределение часов по семестрам и видам занятий
- •Команды по работе с текстом
- •Команды, использующие регулярные выражения
- •Сбор сведений о системе и управление процессами Команды получения сведений о системе
- •Команды по работе с процессами
- •Команды по управлению правами
- •Команды по управлению пользователями
- •Способы компоновки программ
- •Порядок отладки
- •К лабораторной работе № 5 Препроцессоры Макроопределения
- •Библиотека макроопределений.
- •Псевдооператоры Макроассемблера.
- •Считывание библиотеки макроопределений в программу
- •К лабораторной работе № 6 Организация дочерних процессов
- •К лабораторной работе /№ 7 Файловая система Основные характеристики файловой системы ms-dos
- •Функции создания и чтения файла
- •Функции прямого доступа к файлу
- •Примеры по программированию операций над файлами
- •Cписок использованных источников
Команды по управлению пользователями
su
Команда используется для временной подмены идентификатора пользователя.
Команда имеет следующий синтаксис:
su [-] [-flms] [-c класс] [пользователь [аргументы]]
Команда su позволяет пользователю временно стать другим пользователем. Если не указан параметр пользователь, то используется значение по умолчанию - суперпользователь. Если указанному пользователю назначен пароль, то потребуется его ввести, прежде чем стать другим пользователем.
Для того, чтобы стать суперпользователем, нужно ввести команду su без параметров:
user@desktop$ su
Password:
desktop#
Для того, чтобы получить окружение суперпользователя, необходимо запустить su -.
sudo
Программа sudo является логическим развитием программы su и позволяет как переходить в сеанс суперпользователя, так и запускать отдельные программы от имени суперпользователя.
Программа sudo имеет синтаксис:
sudo [-HSb] [-u пользователь] {-s | команда}
. Можно использовать следующие опции:
-H
переменная окружения HOME изменяется в соответствии с выбранным пользователем;
-b
команда исполняется на заднем фоне;
-s
вместо команды запускается командная оболочка данного пользователя.
Главным достоинством команды sudo является возможность гибкого конфигурирования – на какие программы каким пользователям разрешено повышение превилений. Конфигурация хранится в файле /etc/sudoers, рассмотрение формата которого выходит за рамки этих лекций.
passwd
Команда используется для изменения пароля.
Команда имеет следующий синтаксис:
passwd [-l] [пользователь]
Обычные пользователи могут сменить только собственные пароли. Суперпользователь может менять пароли любых пользователей. При вызове команды сначала необходимо ввести старый пароль, если он был установлен. Затем предлагается дважды ввести новый пароль. Если указанные операции были сделаны без ошибок, то пароль пользователя будет изменен.
useradd
Команда предназначена для добавления нового регистрационного имени пользователя в системе.
Команда имеет следующий синтаксис:
useradd [-u идентификатор [-o] [-i]] [-g группа] [-G
группа[[,группа] . . .]] [-d каталог] [-s shell] [-c комментарий] [-m [-k
skel_dir]] [-f inactive] [-e expire] [-p passgen] [-a событие[, . . .]]
регистрационное_имя
userdel
Команда предназначена для удаления регистрационных имен пользователей из системы.
Команда имеет следующий синтаксис:
userdel [-r] [-n месяцев] регистрационное_имя
Команда userdel удаляет определение регистрационного имени пользователя из системы. Она удаляет определение указанного регистрационного имени и выполняет соответствующие изменения в регистрационных файлах и файловой системе. Команда также запоминает идентификационный номер удаляемого пользователя (UID) в файле /etc/security/ia/ageduid, так что этот идентификатор не будет повторно использован на протяжении определенного периода времени. Эта практика не использования идентификатора пользователя называется устареванием идентификатора (UID aging). Для удаления домашней директории пользователя необходимо указать флаг -r. Параметр месяцев задает, сколько месяцев будет запрещено использовать удаляемый идентификатор.
usermod
Команда предназначена для изменения регистрационной информации о пользователе в системе.
Команда имеет следующий синтаксис:
usermod [-u идентификатор [-U] [-o]] [-g группа] [-G
группа[[,группа] . . .]] [-d каталог [-m]] [-s shell] [-c комментарий] [-l
новое_рег_имя] [-f inactive] [-e expire] [-p passgen] [-a
[оператор]событие[, . . .]] регистрационное_имя
Команда предназначена для изменения регистрационной информации о пользователе в системе.
groupadd
Команда используется для создания новой группы в системе.
Команда имеет следующий синтаксис:
groupadd [-g идентификатор [-o]] группа
Новую группу может добавить только администратор. Команда groupadd создает новое определение группы в системе путем добавления соответствующей записи в файл /etc/group.
groupdel
Команда используется для удаления определения группы из системы.
Команда имеет следующий синтаксис:
groupdel группа
Команда groupdel удаляет определение группы из системы путем удаления записи о соответствующей группе из файла /etc/group. Она, однако, не удаляет идентификаторо группы (GID) из файла паролей; удаленный GID действует для всех файлов и каталогов, которые его имели.
groupmod
Команда предназначена для изменения определения группы в системе.
Команда имеет следующий синтаксис:
groupmod [-g идентификатор [-o]] [-n имя] группа
Команда groupmod изменяет определение указанной группы путем изменения соответствующей записи в файле /etc/group. Новое имя группы задается в параметре группа, новый идентификатор группы задается в параметре идентификатор. Опция -o позволяет задать дублирующийся идентификатор группы. Если перед группой стоит символ ╚+╩, (например, +student), определение группы администрируется сетевой информационной службой (Network Information Service - NIS). В этом случае, значение идентификатора группы берется из базы данных NIS. Для таких групп использование опций -g или -o вызовет выдачу сообщения о синтаксической ошибке.
К лабораторной работе № 2
Способы адресации
Способы адресации подробно расписаны в [4-5].
К лабораторной работе № 3
Обработка прерываний
Функции прерывания с примерами рассмотрены в [4-5].
К лабораторной работе № 4
Распределение памяти
Общие положения
Любая программа обычно состоит из подпрограмм. Для удобства отладки больших по объему подпрограмм их обычно оформляют как самостоятельные модули (файлы), т.е. в виде внешних подпрограмм. Каждый такой модуль ассемблируется отдельно и генерирует собственный уникальный объектный модуль. Программа компоновщик затем объединяет объектные модули в один объединенный выполняемый модуль.
Команды и директивы межсегментного вызова
Для связей между подпрограммами используются следующие команды:
CALL имя_подпрограммы |
- команда запоминает адрес возврата и передает управление процедуре. |
EXTRN имя:тип [,...] |
- директива описывает идентификаторы, которые определены (и директиве PUBLIC) в других модулях. |
PUBLIC идентификатор [,...] |
- делает идентификатор доступным для других модулей. |