Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ОС.doc
Скачиваний:
17
Добавлен:
05.11.2018
Размер:
2.06 Mб
Скачать

10.27.1. Ограничения

При работе с awk вы должны придерживаться следующих ограничений:

100

полей

2500

символов во вводной записи

2500

символов в выводной записи

1024

символов в индивидуальном поле

1024

символов в строке printf

400

символов в строке, заключенной в кавычки

400

символов в классе символов

15

открытых файлов

1

канал

Инициализация, сравнение и тип приведения

Каждые переменная или поле могут потенциально быть строкой или числом, либо состоять из того и другого. Когда значение переменной устанавливается при присвоении:

var = expr

то тип переменной определяется выражением. В арифметических выражениях тип - цифровой, в конкатенации - строковый, и т.д. Если назначение является простым копированием:

v1 = v2

то типом v1 становится тип v2. При сравнении, если оба операнда являются цифровыми, то производится цифровое сравнение. В противном случае, операнды рассматриваются как строковые и сравнение производится над строками. Тип любого выражения может быть приведен к цифровому таким образом:

expr + 0

и к строковому типу:

expr ""

(это конкатенация с пустой строкой)

Инициализированные переменные имеют цифровое значение 0, а строковые - значение "". Соответственно, если x проинициализировано, то оператор

if (x) ...

имеет значение "ложь", а

if (!x) ...

if (x == 0) ...

if (x == "") ...

все являются истиной, но

if (x == "0") ...

является ложью.

Тип поля определяется по контексту. Например:

$1++

означает, что $1 будет цифровым, и

$1 = $1 "," $2

означает, что и $1 и $2 являются строковыми. Приведение к типу выполняется при необходимости.

Если по контексту тип не может быть определен, например:

if ($1 == $2) ...

тип поля определяется при вводе.

Поля, которые являются нулевыми, имеют строки со значением "", они не являются цифровыми.

Определения типов для элементов массива, созданных split(), аналогичны определению типов для полей.

Так, если arr[i] не существует, то :

if (arr[i] == "") ...

приводит к тому, что он появляется со значением "".

ЗАЩИТА И НАДЕЖНОСТЬ СИСТЕМЫ

Введение

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

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

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

* терминология, используемая в описании методологии защиты

* роль администратора

* регистрация в системе, смена пароля и использование другого регистрационного счета

* запуск команд в системе с защитой

* советы и приемы защиты данных.

Терминология

При описании методологии защиты используется следующая терминология:

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

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

Подсистема защиты включает в себя файлы, устройства и команды, осуществляющие процесс защиты ресурсов.

База защиты вычислений (TCB) объединяет в себе соответствующее техническое, программное и микропрограммное обеспечение.

Ответственный за секретность

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

Защита на входе в систему

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

Регистрация

Запрос параметров регистрации имеет следующий вид:

│ login: имя_пользователя

│ password: неотображаемый_пароль

Если пароль указан верно, на экране появляются даты последних удачной и неудачной попыток регистрации данного пользователя:

────────────────────────────────────────────────────

│ Last successful login for пользователь: дата и время

│ Last unsuccessful login for пользователь: дата и время

Если эти даты не совпадают с датами аналогичных действий с вашей стороны, немедленно обратитесь к администратору. Не исключено, что ваш регистрационный счет использован кем-то другим.

Что нужно делать в случае неудачи

Если войти в систему вам не удается, последовательно рассмотрите возможность каждой из следующих причин:

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

* Администратор установил ограничение на количество неудачных попыток регистрации, связанных с данным регистрационным счетом. При превышении указанного ограничения регистрационный счет пользователя автоматически блокируется. Попросите администратора открыть счет заново. Если же вы считаете, что ввели параметры регистрации правильно, немедленно обратитесь к администратору. Не исключено, что система была повреждена в результате постороннего вмешательства.

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

* Администратор заблокировал ваш регистрационный счет или терминал. Чтобы продолжить работу, попросите администратора открыть счет заново.

* Администратор установил дату окончания действия пароля. Вам предоставляется возможность сменить пароль.

* Если вы забыли свой пароль, попросите администратора сменить его.

Смена пароля

Смена пароля производится с разрешения и по усмотрению администратора. Администратор также может устанавливать минимальный интервал времени между сменами пароля.

Если самостоятельная смена пароля вам не разрешена:

В этом случае при попытке использования команды passwd выдается соответствующее сообщение, приведенное ниже. За новым паролем обратитесь к администратору.

────────────────────────────────────────────────────

│ Password cannot be changed. Reason: Not allowed to execute

│ password for the given user.

Если самостоятельная смена пароля вам разрешена:

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

Если вы введете команду passwd, она запросит ваш текущий пароль:

────────────────────────────────────────────────────

│ Old password:

Если вы ответили правильно, на экране появится информация о времени последнего изменения вашего пароля:

────────────────────────────────────────────────────

│ Last successful login for пользователь: дата и время

│ Last unsuccessful login for пользователь: дата и время

Сверьте эти данные с вашими реальными действиями. При наличии несоответствия немедленно поставьте в известность администратора.

Затем появляется следующий запрос:

────────────────────────────────────────────────────

│ Choose password

│ You can choose whether you pick your own password,

│ or have the system create one for you.

│ 1. Pick your own password

│ 2. Pronounceable password will be generated for you

│ Enter choice (default is 1):

Если вы ответите "1" (этот же ответ принимается по умолчанию), вам будет предложено ввести новый пароль самостоятельно.

Чтобы избежать недоразумений, пароль вводится дважды.

Если вы ответили "2", пароль будет сгенерирован системой. На экране при этом появится следующее сообщение:

────────────────────────────────────────────────────

│ Generating random pronounceable password for пользователь.

│ The password, along with the hyphenated version, is shown.

│ Hit <RETURN> or <ENTER> until you like the choice.

│ When you have chosen the password you want, type it in.

│ Note: Type your interrupt character or 'quit' to abort at any

│ time.

│ Password:xxxxxx Hyphenation:xx-xx-xx Enter password:

Вам предлагается нажимать клавишу <RETURN> или <ENTER> до тех пор, пока один из предлагаемых вам паролей не удовлетворит вас.

Как только последнее произойдет, вам следует ввести выбранный пароль в машину. Чтобы легче было запомнить пароль, он разбивается на экране на несколько частей, связанных символом "дефис".

Если же вы передумали менять пароль, введите "quit" или нажмите клавишу прерывания (обычно <DEL>). В этом случае попытка смены пароля будет признана неудачной и на экране появится следующее сообщение:

────────────────────────────────────────────────────

│ Password cannot be changed. Reason: user stopped program.

Использование другого регистрационного счета

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

Командный аспект секретности

────────────────────────────────────────────────────

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

Распределение полномочий

В механизме защиты используются два уровня санкционирования: уровень ядра и уровень подсистемы. Санкционирование на уровне ядра включает в себя выдачу разрешений на запуск определенных процессов в данной операционной среде. Санкционирование на уровне подсистемы касается выполнения определенных команд в подсистеме с защитой данных.

Команды санкционирования на уровне ядра:

execsuid Позволяет запускать SUID-программы. SUID-программа получает доступ ко всем файлам, процессам и ресурсам, принадлежащим пользователю, который запустил программу, или владельцу программного файла.

nopromain Определяет поведение SUID-программы. Если разрешение данного типа установлено, SUID-программы запускаются, как в традиционных UNIX-подобных системах. В противном случае создается т.н. промен (promain - от "protected domain", что означает "защищенный домен"), в котором программы имеют меньше возможностей разрушить или использовать принадлежащие вам данные.

chmodsugid Позволяет с помощью команды chmod менять атрибуты setuid и setgid для файла или каталога.

chown Позволяет с помощью команды chown производить смену владельцев файлов.

На уровне подсистемы имеются два подуровня санкционирования: первичный и вторичный. На первичном подуровне выдается разрешение на использование команд с присвоением привилегий администратора. Все эти привилегии полностью описаны в руководстве администратора (Administrator's Guide). Простым пользователям могут быть переданы следующие привилегии:

mem Разрешение использования команды ps для проверки статуса выполнения процессов, принадлежащих другим пользователям, и команды ipcs для исследования статуса взаимодействия процессов. Пользователи, не имеющие указанного разрешения, могут наблюдать только за своими собственными процессами.

terminal Разрешение использования команды write для осуществления связи с другими пользователями. При отсутствии указанного разрешения команда write преобразует все содержащиеся в сообщении управляющие коды и esc-последовательности в символы ASCII.

На вторичном подуровне выдается разрешение на использование команд подсистемы без передачи привилегий администратора. Вторичные полномочия включают в себя:

printqueue Разрешение на просмотр очереди заданий, запущенных другими пользователями и ожидающих вы вода на печать.

printerstat Разрешение использования команд enable и disable для изменения статуса печатающего устройства.

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

Обратите внимание на то, что на уровне подсистемы разрешение на смену регистрационного счета командой su не выдается.

Команда auths

Команда auths позволяет просматривать перечень выделенных вам на уровне ядра полномочий и перезапускать Shell с указанными полномочиями на использование тех или иных команд. Перейдем к объяснению порядка использования команды auths с различными аргументами (примеры даны для пользователя с полномочиями типа execsuid и chown):

* Команда auths без аргументов выдает список полномочий уровня ядра. Например:

───────────────────────────────────────────────────

│ $ auths

│ Kernel authorizations: execsuid, chown

* Команда auths с опцией -a позволяет ограничивать набор выделяемых полномочий. Так, например, пользователь, уже имеющий полномочия execsuid и chown, может сократить их до полномочия chown:

──────────────────────────────────────────────────

│ $ auths -a chown

│ $ auths

│ Kernel authorizations: chown

Для восстановления полномочий вам следует выйти из Shell'а, запущенного с командой auths -a.

* Команда auths с опцией -r позволяет указывать снимаемые полномочия. Например:

───────────────────────────────────────────────────

│ $ auths -r chown

│ $ auths

│ Kernel authorizations: execsuid

Для восстановления полномочий вам следует выйти из Shell'а, запущенного с командой auths -r.

* Команда auths с опцией -c позволяет вместо запуска интерактивной подоболочки вводить команду. В нижеприведенном примере после удаления полномочий chown запускается команда auths.

────────────────────────────────────────────────────

│ $ auths -r chown -c auths

│ Kernel authorizations: execsuid

Когда же пользователь вновь обратится к списку полномочий, которыми он располагает, полномочия chown восстановятся:

────────────────────────────────────────────────────

│ $ auths

│ Kernel authorizations: execsuid, chown

Промены

Благодаря наличию променов можно управлять степенью разрушений, порождаемых в ваших данных SUID-программой. Напомним, что SUID-программа начинает свое выполнение под исполнительным кодом пользователя, равным коду владельца SUID-программы, и действительным кодом пользователя, вызвавшего программу. В традиционных UNIX-подобных системах SUID-программа имеет полный доступ ко всем файлам, процессам и IPC-об'ектам (т.е. ко всему, что имеет общее название "ресурсы"), к которым владелец программы ИЛИ инициатор ее запуска сам имеет доступ, поскольку программа с помощью команды setuid может переходить с кода владельца на код запускающего. Снаружи промена эта возможность ограничивается ресурсами, к которым инициатор запуска и владелец имеют доступ одновременно, что видно из настоящего раздела.

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

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

Если при запуске SUID-программы привилегия nopromain отсутствует, промен создается и текущий каталог становится корнем промена. Файлы в поддереве, начинающемся с этого корня, находятся внутри промена, все прочие файлы являются по отношению к промену внешними. Промены защищают данные пользователя от программы-нарушителя, ограничивая способы доступа последней к содержимому промена. Выполняясь под кодом идентификации пользователя, инициировавшего ее запуск, SUID-программа может обращаться только к тем файлам, к которым имеют доступ как сам инициатор, так и владелец (т.е. к общим файлам). Внутри же промена все обращения программ подчиняются обычным правилам. Примеры использования променов см. в UNIX User's Reference.

Защита файлов в каталогах, имеющих признак sticky-bit

Удаление файла из каталога, имеющего признак sticky-bit, разрешено только владельцу файла.

Запрещенные команды

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

Рекомендуемая практика защиты данных

Данный раздел содержит в себе набор практических сведений по защите данных, предназначенных для простого пользователя.

Защита пароля

Защита вашего пароля является вашей обязанностью. При выборе и сохранении пароля руководствуйтесь следующими указаниями:

* Пароль должен иметь длину не менее 8 символов и включать в себя буквы, цифры и знаки пунктуации. Например: frAiJ6*.

* Не используйте пароль, который легко разгадать. Паролем не должно быть имя, прозвище или слово, имеющееся в каталоге. Не пользуйтесь также датой вашего рождения и вашими адресными данными.

* Не используйте обратное написание слов.

* Не вставляйте в начало или конец пароля цифры (например, terry9).

* На разных машинах используйте различные пароли. Не используйте в паролях наименования машин.

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

* Не используйте один и тот же пароль многократно. Иначе возрастает вероятность его угадывания посторонними лицами.

* Никогда не вводите пароль в машину в чьем-либо присутствии.

Вход и выход

Ниже приводятся некоторые практические рекомендации, к которым полезно было бы прислушаться на стадиях входа в систему и выхода из системы:

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

* Будьте внимательны при вводе пароля.

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

* Никогда не оставляйте терминал, не выйдя предварительно из системы.

Защита файлов

При создании, копировании и перемещении файлов следуйте следующим рекомендациям:

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

* В результате использования команды cp для копирования SUID-файла, принадлежащего не вам, будет создан новый SUID-файл, владельцем которого уже будете вы. Обратите внимание на то, что этот файл имеет доступ ко всем вашим файлам и каталогам. Будет разумным шагом использовать команду chmod для такого изменения прав доступа к файлу, после которого файл остался бы доступен только для вас.

* В результате использования команды cp для копирования файла будет создан новый файл, наследующий права доступа от исходного файла. Не забудьте проверить эти данные и в случае необходимости внесите в них изменения командой chmod.

* Помните о том, что временные каталоги открыты для всех.

* Для проверки прав доступа к вашей оболочке, почте и загрузочному файлу используйте команду ls. Если окажется, что файлы открыты для посторонних на чтение и модификацию, ограничьте доступ к ним командой chmod.

Запуск ненадежных программ

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

Защищенный фрагмент иерархической файловой структуры может быть создан путем использования т.н. "шлюзового" (промежуточного) каталога, выполняющего роль "клапана" или пропускного устройства по отношению к программам, выполняющимся в каталогах ниже "шлюзового". Такой механизм становится на пути возможности открытия файлов по относительным составным именам (т.е. по именам, не начинающимся с "/"), а также возможности поиска, открытия и удаления файлов по полным составным именам.

Прислушайтесь к следующим рекомендациям:

1. Снимите полномочия типа execsuid, chmodsugid и chown с вашей программы командой auths. Такая операция не позволит программе запускать другие SUID-программы, создавать SUID-файлы с передачей их в ваше владение и отбирать их обратно с помощью команды chown. auths -r execsuid,chmodsugid,chown

2. Создайте "шлюзовой" каталог. Затем перенесите все файлы, обрабатываемые программой, в подкаталог указанного каталога. После этого смените маску защиты для "шлюзового" каталога на 000 командой chmod:

mkdir /usr/you/gateway

mkdir /usr/you/gateway/test

cd /usr/you/gateway/test

cp /usr/you/testfiles/* .

chmod 000 /usr/you/gateway

ls -ldu /usr/you/gateway

Обратите внимание на время, содержащееся в сообщении команды ls. Это время является моментом выполнения предыдущей команды chmod.

3. Закройте доступ к вашему загрузочному каталогу:

chmod 000 /usr/you

4. Обратите внимание на сообщение команды ls:

cd

ls -ldu

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

5. Запустите программу. Все обращения к файлам по относительным составным именам, начинающимся от каталога /usr/you/gateway/test, остановятся на уровне "шлюзового" каталога и любые другие попытки получить доступ к файлам в вашей иерархии остановятся на уровне вашего загрузочного каталога.

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

7. После запуска программы следите за появляющимися сообщениями об ошибках и файлами-невидимками (используя команду ls с опцией -a). Обращайте особое внимание на время последнего обращения к вашему загрузочному и "шлюзовому" каталогам:

ls -ldu /usr/you

chmod 750 /usr/you

ls -ldu /usr/you/gateway

8. В зависимости от вашего желания вы можете восстановить прежние права доступа к "шлюзовому" каталогу:

chmod 750 /usr/you/gateway

Теперь вы можете вывести результаты программы, убрать "шлюзовой" каталог и т.д.

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

Шифрование информации - команды и описания

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

-----------------------------------------------------------------

Замечание.

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

-----------------------------------------------------------------

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

┌───────────┬────────────────────────────────────────────────────┐

│ Командная │ Описание │

│ строка │ │

├───────────┼────────────────────────────────────────────────────┤

│ crypt │ Эта команда используется для кодирования и декоди- │

│ │ рования файлов. Она считывает данные из стандартно- │

│ │ го ввода или с клавиатуры и записывает в стандарт- │

│ │ ный вывод или на терминал. │

├───────────┼────────────────────────────────────────────────────┤

│ makekey │ Эта команда создает ключ шифрования. │

├───────────┼────────────────────────────────────────────────────┤

│ ed -x │ Редактирует уже существующий закодированный файл │

│ │ или создает новый закодированный файл средствами │

│ │ редактора ed. │

├───────────┼────────────────────────────────────────────────────┤

│ vi -x │ Редактирует уже существующий закодированный файл │

│ │ или создает новый закодированный файл средствами │

│ │ редактора vi. │

└───────────┴────────────────────────────────────────────────────┘

┌───────────┬────────────────────────────────────────────────────┐

│ ex -x │ Редактирует уже существующий закодированный файл │

│ │ или создает новый закодированный файл средствами │

│ │ редактора ex. │

├───────────┼────────────────────────────────────────────────────┤

│ edit -x │ Редактирует уже существующий закодированный файл │

│ │ или создает новый закодированный файл средствами │

│ │ редактора edit. │

├───────────┼────────────────────────────────────────────────────┤

│ X │ Эта команда выполняет кодирование файла, находяще- │

│ │ гося в режиме редактирования (ed, ex или edit). │

└───────────┴────────────────────────────────────────────────────┘

Команда crypt - кодирование/декодирование файлов

Команда crypt выполняет кодирование и декодирование файлов. По этой команде файлу присваивается пароль (ключ) шифрования. Тот же самый пароль используется при декодировании файла. Закодированный файл не доступен для чтения без пароля.

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

Защита пароля - наиболее уязвимое место команды crypt. Любой человек, узнавший ваш пароль, получает доступ к вашим файлам. Старайтесь избегать известных сочетаний символов при выборе пароля.

Файл может быть закодирован в режиме оболочки (командой crypt) и в режиме редактирования (с помощью опций -x и X). Декодирование файла осуществляется командой crypt в режиме оболочки. Формат команды кодирования файла:

crypt <старый_файл> новый_файл

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

-----------------------------------------------------------------

Замечание.

Помните всегда о необходимости удаления старых, незакодированных файлов. Закодированным останется лишь новый файл.

-----------------------------------------------------------------

Команда crypt без аргументов принимает стандартный ввод с клавиатуры и кодирует его перед направлением в стандартный вывод (на экран). Чтобы закодировать существующий файл, сделайте указание команде crypt принять ввод (<) из файла вместо клавиатуры. Точно также вывод команды (>) можно направить вместо дисплея в новый файл.

Чтобы декодировать файл, перенаправьте вывод из закодированного файла в новый файл, доступный для чтения. Формат команды декодирования файла:

crypt <закодированный_файл> имя_нового_файла

-----------------------------------------------------------------

Замечание.

Кодирование и декодирование файлов всегда выполняйте по отдельности.

-----------------------------------------------------------------

Кодирование данных в редакторах

Такие редакторы, как ed, edit, ex и vi, могут использоваться как для редактирования существующего закодированного файла, так и для создания нового закодированного файла (с помощью опции -x). При выполнении кодирования вами назначается пароль, который используется и при выполнении декодирования. Закодированный файл не доступен для чтения без пароля.

Командные строки вызова редакторов (ed, edit, ex и vi) с опцией -x имеют вид:

ed -x [имя_файла]

edit -x [имя_файла]

ex -x [имя_файла]

vi -x [имя_файла]

Опция -x используется либо для редактирования уже существующего закодированного файла, либо для создания нового закодированного файла. Система предложит вам ввести пароль.

Для декодирования файла следует в режиме оболочки вызвать команду crypt.

Другим способом кодирования файла в режиме редактирования является использование команды редактора X. Эта команда работает только в редакторах ed, edit и ex. (В редакторе vi ей соответствует команда :X.) Для выполнения кодирования/декодирования ей так же требуется пароль.

Воспользоваться командой X вы можете и сразу после редактирования файла, для этого:

1. Оставаясь в редакторе, укажите в строке символ X.

2. Система предложит вам ввести пароль.

3. Выйдите из файла.