Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНСПЕКТ QNX6_часть 2.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
275 Кб
Скачать
☆

Работа в файловой системе qnx

Работа в файловой системе QNX , как и в UNIX-системах, осуществляется с помощью стандартных для UNIX-систем командных интерпритаторов.

Командных интерпретаторов для UNIX-систем существует несколько: Bourn Shell или просто Shell (sh), Korn Shell (ksh), C-Shell (csh), Bourn Again Shell (bash) . Для систем с ограниченными ресурсами используют командные интерпретаторы Embedded Shell (esh) или Fat Embedded Shell (fesh).

В QNX стандартным считается интерпретатор Korn Shell (ksh).

Описание методов работы в Shell содержится во многих руководствах по администрированию UNIX и вы их будете изучать самостоятельно).

Некоторые наиболее используемые команды следующие:

Назначение команды

Команда

В каком каталоге находимся

pwd

Просмотр содержимого каталога

Is

Перейти в другой каталог

cd

Создать пустой файл

touch

Создать каталог

mkdir

Создать связь (ссылку)

ln

Копировать файл

cp

Копировать каталог

cp -R

Удалить файл

rm

Удалить каталог

rmdir, rm -R

Просмотреть файл

cat

Переименовать файл

mv

Большинство стандартных QNX-утилит содержат краткую информацию об аргументах запуска утилиты. Для просмотра этой информации существует команда use. Например, для просмотра информации по использованию утилиты ls выполните такую команду: use Is

Для редактирования файлов, в частности файлов конфигурации в UNIX-системах и в QNX используется редактор vi.

Редактор vi запускается из командной строки командой просто: "vi имя_файла". Если файла с именем имя_файла не существует, то он будет создан. Редактор может находиться в одном из двух режимов: в режиме ввода или в командном режиме. После запуска редактор находится в командном режиме. Переход из командного режима в режим ввода осуществляется нажатием клавиши "i" ("input") или "а" ("add"). При выполнении команды "i" текст будет вводиться с текущей позиции курсора, а при выполнении команды "а" текст будет вводиться со следующей позиции после курсора. Возврат в командный режим осуществляется нажатием клавиши "ESC".

(Описание методов работы в vi , как и в Shell содержится во многих руководствах по администрированию UNIX и вы их будете изучать самостоятельно).

При работе в командной строке важную роль играют так назы­ваемые переменные системного окружения. Список этих переменных можно получить командой set.

Команды выполнения базовых операций

Имя

переменной

Что означает переменная

НОМЕ

Домашний каталог пользователя

PATH

Перечень каталогов для поиска запускаемых программ

LD_LIBRARY_PATH

Перечень каталогов для поиска динамиче­ских библиотек

LOGNAME

Имя пользователя

IPS

Разделитель полей ввода

PWD

Имя текущего каталога

PS1

Вид первичного приглашения

PS2

Вид вторичного приглашения ( для ввода незаконченной команды)

UID

Идентификатор пользователя

TZ

Временной пояс

?

Код завершения последней выполненной команды

Для запуска графической среды Photon microGUI используется команда ph.

Следует обратить внимание на следующие программы:

Photon Terminal — pterm. Это штатный псевдотерминал, позволяющий работать с инструментами командной строки (в том числе и с нашим старым приятелем: vi);

Helpviewer — программа доступа к штатной электронной документации;

Photon File Manager (pfm) -- штатный файловый менеджер. Для любителей Norton Commander есть продукт "третьего" производителя mqc (MiShell QNX Commander) аналог Linux-ового Midnight Commander.

Если выбрать элемент Preferences в меню Edit файл-менеджера, то появится соответствующие окно верхний флажок которого указывает, показывать или нет файлы с именами, начинающимися с точки.

ПРАВА ДОСТУПА К ФАЙЛУ.

В операционной системе QNX существуют три базовых класса доступа к файлу, в каждом из которых установлены соответствующие права доступа:

User access (u) Для владельца – пользователя, создавшего файл

Group access (g) Для группы пользователей, в которую входит владелец файла

Other access (о) Для остальных пользователей (кроме суперпользователя)

Владельцем файла является пользователь вновь создавший файл.

Группой называется определенный список пользователей системы.

QNX поддерживает три типа прав доступа для каждого класса: на чтение (read, обозначается символом r), на запись (write, обозначается символом w и на выполнение (execute, обозначается символом х).

Список прав доступа к файлу можно получить c помощью команды:

ls –l [полное имя файла]

- rwxr-xr-- 1 user group 3687 Dec 22 15:13 a.aut

Права доступа отображаются в первой колонке листинга (за исключение первого символа, обозначающего тип файла). Наличие права доступа обозначается соответствующим символом, а отсутствие — символом минус '-'. Во второй колонки – число жестких связей данного файла. Третья колонка содержит имя владельца, а четвертая – имя группы. Пятая –размер файла.

В первой колонки первый символ обозначает тип файла (минус '-' – обычный файл; d – каталог; l – мягкую ссылку), три следующих – права владельца-пользователя, затем три символа – права владельца-группы и последние три – права остальных пользователей.

Права доступа могут быть изменены только владельцем файла или суперпользователем – администратором системы (пользователем root). Для изменения прав пользователя используется команда chmod.

Дополнительные атрибуты файла

Дополнительные атрибуты файла предназначены для изменения стандартного выполнения различных операций.

Set UID, SUID – Установить UID процесса при выполнении

Set GID, SGID –Установить GID процесса при выполнении

Дополнительные атрибуты также устанавливаются утилитой chmod(l), но вместо кодов r , w или х используются код s.

Атрибуты (или флаги) SUID и SGID позволяют изменить права пользователя при запуске на выполнение файла, имеющего эти атрибуты. При этом привилегии будут изменены (обычно расширены) лишь на время выполнения и только в отношении этой программы.

Обычно запускаемая программа получает права доступа к системным ресурсам на основе прав доступа пользователя, запустившего программу. Установка флагов SUID и SGID изменяет это правило, назначая права доступа исходя из прав доступа владельца файла. Установка SUID приведет к наследованию прав владельца-пользователя файла, а установка SGID — владельца-группы.

Каждая выполняющаяся программа (т. е. процесс) имеет четыре идентификатора, наследуемых от файла запущенного на выполнение: идентификатор владельца (UID), идентификатор группы (GID), эффективный идентификатор владельца (EUID) и эффективный идентификатор группы (EGID).

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

Когда процесс пытается открыть для записи какой-либо файл, QNX сначала смотрит, совпадает ли EUID процесса с идентификатором владельца файла. Если совпадает, то проверяется, имеет ли владелец права на запись. Если владелец имеет такие права, то файл открывается с разрешением на запись, если не имеет — процесс получит уведомление "Доступ запрещен". Если EUID не совпадает с идентификатором владельца файла, то проверяется, совпадает ли EGID процесса с файловым идентификатором группы. Если никакие идентификаторы не совпали, то к данному процессу применяются атрибуты доступа, установленные для "остальных".

Для процессов с EUID = 0 (т. е. для пользователя "root") доступ к файлам предоставляется без процедуры проверки прав.