На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

СТРУКТУРА КАТАЛОГОВ и файлы UNIX

Как в Windows NT и Novell NetWare, в Unix существуют файлы, каталоги и их пути. Единственное отличие от файлов и каталогов других операционных систем заключается в использовании наклонной черты в качестве разделителей катало­гов. Напомню, что в Windows NT и Novell NetWare в качестве разделителя ис­пользуется обратная наклонная черта.
Имена путей — это достаточно простое понятие. При чтении следующих пара­графов почаще обращайтесь к рисунку 17.1.
Корневым называется каталог, расположенный в самом верху дерева. Местопо­ложение всех остальных каталогов определяется по отношению к этому катало­гу. Как показано на рисунке, у корневого каталога есть два подкаталога: и happy. В каталоге usr расположены файлы junk и source, а в каталоге happy рас­положены файлы memo и degrees. Для определения путей нужно воспользоваться наклонной чертой — символом корневого каталога. Все пути начинаются с этого символа. После него следуют имена подкаталогов, разделенные все той
же наклонной чертой.
Базовая структура дерева каталогов и файлов.
Например, путь файла junk - /usr/junk, а файлов memo и degrees - /happy/memo и /happy/degrees. Путь каталога usr - /usr, а каталога happy - /happy.
Кроме того, можно использовать относительные пути. Относительный путь -это путь, отсчитываемый от текущего каталога. Например, если вы находитесь в каталоге usr, то для указания пути файла junk достаточно набрать его имя. Точно так же, находясь в корневом каталоге, можно сослаться на каталог happy посредством его имени. Если же вам необходимо обратиться к каталогу, распо­ложенному на один уровень выше текущего, то для этого воспользуйтесь двумя точками       а для указания текущего каталога нужно использовать точку —
Длина имен файлов и каталогов Unix не должна превышать 14 символов. В име­ни можно использовать любые ASCII-символы, за исключением пробела. Кро­ме того, в именах можно использовать символы управления. Напомню, что операционная система Unix различает верхний и нижний регистр символов. В отличие от Novell NetWare и Windows NT, в Unix не используются расширения файлов. Точка в имени файла представляет собой один из символов и не являет­ся разделителем. Файлы, имена которых начинаются с точки, называются скры­тыми. Дело в том, что для отображения имен этих файлов нужно использовать специальную команду.
В Unix существует три типа файлов: текстовые, двоичные и файлы устройств. Текстовые файлы — это обычный текст, состоящий из ASCII-символов. Двоич­ными файлами называются выполнимые файлы (они содержат машинный код).
самом деле существуют исполнимые текстовые файлы, называемые сцена­риями оболочки. О них мы поговорим в главе 20.) Файлы устройств — это файлы, представляющие устройства системного ввода-вывода, вроде дисковых накопителей, терминалов, принтеров и т. д. Разработчики Unix создали перено­симые файлы устройств, чтобы можно было выполнять Unix-программы на раз­личных машинах. Для этого в Unix устройства ввода-вывода представляются в виде файлов. Поэтому, чтобы произвести какую-либо операцию чтения или
записи устройства, нужно произвести чтение или запись в соответствующий файл. Остальное выполняется самой системой.
ОСНОВНЫЕ КОМАНДЫ UNIX
Команды Unix — это мощное средство управления всеми элементами компьюте­ра. Однако здесь мы остановимся на наиболее важных для нас командах. В частности, мы поговорим об утилитах для работы с протоколами TCP и IP. Заранее спешу предупредить читателя: не пытайтесь найти в этой главе полное описание всех команд Unix — за более подробной информацией обратитесь к соответствующим руководствам.
СИМВОЛЫ шаблона
Как уже говорилось, для обращения к файлу или каталогу, расположенному в текущем каталоге, нужно использовать его имя. При работе с командами Unix можно использовать как полные, так и относительные пути. Кроме того, мож­но использовать в именах каталогов или файлов символы шаблона. Их описание
приведено в таблице 17.5.
Символ шаблона Описание_
? Вместо знака вопроса программа Unix будет использо-
вать любой другой символ. Например, вместо «h?ppy» программа использует файлы «парру» и «порру».
* Вместо знака звездочки программа Unix будет
использовать любой другой символ, группу символов или ни одного символа. Например, вместо «h*y» программа использует файлы «парру», «Ырру», «порру», а также «hy», «h2y», «Ыу» и т.д.
[ ] Программа Unix будет использовать любой символ,
расположенный в квадратных скобках. Например, вместо «h[aoi]ppy» программа использует файлы «happy», «hippy» и «hoppy». Кроме того, с помощью дефиса можно указать диапазон символов. Например, вместо «t[a-c]m» программа использует файлы «tam», «tbm» и «tcm».
Символы шаблона Unix. СИМВОЛЫ ПЕРЕНАПРАВЛЕНИЯ
Большинство команд и программ Unix принимают входные данные с клавиатуры и посылают результат на экран. Однако можно сделать так, чтобы исходные данные брались из какого-либо текстового файла и направляли результат в дру­гой файл. Предположим, например, что у вас есть команда encrypter, которая считывает данные с клавиатуры, зашифровывает их, а затем отображает на экра­не. С помощью символов перенаправления можно заставить эту команду воспри­нимать данные из какого-либо файла и отображать результат на экране. Для перенаправления ввода нужно воспользоваться символом «<».
510-


Глава 17. Безопасность Unix и Х- Windows
Чтобы выполнить какую-либо программу в Unix, вы должны набрать ее на кла­виатуре. Если же нужно, чтобы программа брала исходные данные из какого-либо файла, расположенного в текущем каталоге, перенаправьте ввод програм­мы в этот файл. Например, данные располагаются в файле topsecret. Для их
шифрования вы должны воспользоваться следующей командой:
encrypter < top secret <Enter>
После этого программа зашифрует содержимое файла top secret и выдаст полу­ченный результат на экран.
С другой стороны, можно использовать эту программу для зашифровки файлов с личной информацией. Для этого достаточно перенаправить зашифрованный текст в какой-либо другой файл. Воспользуйтесь символом перенаправления вывода («>»). Чтобы сохранить выходные данные в файле с именем private, воспользуй­тесь следующей командой:
encrypter < top secret > private <Enter>
После этого программа encrypter считает содержимое файла top secret, зашифру­ет его и поместит результат в файл private. При этом экран будет абсолютно чист.
Если вы перенаправите выходные данные команды в несуществующий файл, то
оболочка сама создаст новый файл с таким именем. Если же в качестве файла-
приемника указан существующий файл, то его содержимое будет заменено вы­ходными данными команды.
Если же вы не хотите удалять содержимое файла, то можете поместить (добавить) выходные данные команды в его конец. Для этого следует воспользоваться опе­ратором присоединения («>>»). Чтобы добавить выходные данные программы
encrypter в конец файла private, воспользуйтесь следующей командой:
encrypter < top_secret private
Если же в текущем каталоге не существует файла с именем private, то Unix авто­матически создаст его.
ПАРАМЕТРЫ КОМАНДНОЙ СТРОКИ
Большинство команд Unix обладают одним или несколькими параметрами. Па­раметры команды отделяются от ее имени посредством дефиса. Предположим, что у программы encrypter есть параметр х, с помощью которого можно указать программе использовать другой алгоритм шифрования. Чтобы воспользоваться им, нужно набрать encrypter -x. Если же у команды имеется несколько парамет­ров, то нужно расположить их один за другим. Например, программа encrypter обладает двумя параметрами: и у. Для их использования нужно набрать encrypter -ху. Если же для использования параметров нужно указать некоторый аргумент, то вы должны расположить его отдельно от остальных. Например, чтобы указать программе encrypter использовать один из нескольких ключей, нужно ввести сле­дующую строку:
encrypter -хаа -у <Enter>
СИМВОЛ КОНВЕЙЕРА
Нередко случаются ситуации, когда результат одной команды должен стать вход­ными данными другой. Для упрощения подобных операций в Unix используется конвейер (pipe). Для его обозначения в системе существует специальный символ конвейера - вертикальная черта («|»). Например, чтобы отформатировать доку­мент (посредством команды report), размещенный в файле myreport, и вывести его на экран, можно воспользоваться следующей строкой:
cat myreport  |   report <Enter>
Рассмотрим поподробнее работу этого конвейера. Первая команда — cat — вы­водит содержимое файла myreport. Если бы мы не организовали конвейер, то полученные данные попросту были бы отображены на экране. Однако благодаря вертикальной черте мы указали Unix передать эти данные на вход команды report. Эта команда сформатировала полученные данные (текст) и вывела их на экран.
ФОНОВЫЙ   РЕЖИМ ВЫПОЛНЕНИЯ
При желании можно заставить программы (или команды) выполняться в фоно­вом режиме. Благодаря этому можно продолжать работу с системой, не дожида­ясь завершения работы уже запущенной программы. Чтобы заставить программу выполняться в фоновом режиме, наберите, как обычно, ее имя, параметры, а в конце строки поставьте знак амперсанда Например, приведенная ниже
команда удаляет все файлы каталога, не сообщая об этом пользователю:
$      * & <Enter>
Нажав клавишу Enter, вы не обязаны ожидать завершения работы этой коман­ды, а можете смело вводить новые команды. После запуска команды в фоновом режиме система отобразит некоторое число, а затем выведет на экран обычное приглашение. Число, сгенерированное системой, является идентификатором запущенного процесса. Благодаря этому идентификатору можно будет определить, как происходит выполнение команды. Для этого нужно воспользоваться табли­цей процессов, о которой мы поговорим чуть позже.
Несмотря на работу в фоновом режиме, команда продолжает воспринимать дан­ные, введенные с помощью клавиатуры, и отображать результат своей работы
на экране. Чтобы избежать этого, воспользуйтесь перенаправлением ввода-вы­вода команды.
КОМАНДА PING
Администраторам серверов часто приходится посылать команды на удаленные серверы. Но прежде, чем послать команду, необходимо убедиться, что нужный вам сервер работает. Для этого в Unix существует команда ping. Она пересылает пакеты протокола ICMP (Internet Control Message Protocol) от одного хоста к другому. Для этого используется команда Послав такой па-
кет, команда ping ожидает прибытия пакет Если же пакет не
приходит, то это означает лишь то, что в сети не существует хоста с требуемым
адресом (или хост выключен). Например, далее приводится пример ответов ко­манды ping:
$ ping <Enter>
PING jamsa (192.159.234.12) : 56 data bytes
64 bytes from jamsa (192.159.234.12) : icmp_seq=0 ttl=254 time=10ms 64 bytes from jamsa (192.159.234.12): icmp_seq=0 ttl=254 time=10ms 64 bytes from jamsa (192.159.234. 12) : icmp_seq=0 ttl=254 time=10ms 64 bytes from jamsa (192.159.234.12): icmp seq=0 ttl=254 time=10ms 64 bytes from jamsa (192.159.234,12): icmp_seq=0 ttl=254 time=10ms - jamsa ping statistics -
4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 10/10/10 ms
$
Эта команда обладает набором параметров, посредством которых можно попы­таться выяснить проблемы соединения TCP/IP. В таблице 17.6 приводится опи­сание нескольких параметров команды.
Параметр Описание
-с число Указывает команде посылать пакеты до тех пор, пока
она не получит число пакетов.
-cl Параметр отладки сокета, используемого командой
для передачи пакетов.
I Указывает команде посылать новый пакет в ответ
на каждый полученный. Если же удаленный хост отвечает достаточно медленно, то команда будет посылать 100 пакетов в секунду. При этом после каждого отображенного на экране запроса ставится точка, а после каждого ответа — пробел. Отметим, что использование этого параметра сильно увеличивает трафик сети. Поэтому используйте его аккуратно.
-i секунд Указывает команде ожидать ответа в течение -;' секунд.
-п Указывает команде отображать только IP-адрес
удаленного хоста.
-Ч Указывает команде не отображать каждый полученный
ответ на экране. Вместо этого в конце своей работы команда отобразит отчет о проделанной работе
(количество посланных и полученных пакетов, процент попадания и т. д.).
sразмер_пакета      С помощью этого параметра можно указать размер
посылаемого пакета в байтах. Он. очень важен, потому что, используя его, хакеры могут проводить атаку _Ping of Death — специальный тип атак отказа служб.
КОМАНДА FINGER
В предыдущем разделе мы говорили о команде ping и о том, как с ее помощью можно определить состояние удаленного сервера. Однако во многих случаях тре­буется узнать, кто присоединен к удаленному серверу, а также получить дру­гую, не менее важную информацию. Для этого необходимо воспользоваться командой finger.
С помощью сервера или терминала можно запустить команду finger и получить информацию о пользователях, соединенных с указанным сервером. В боль­шинстве реализаций Unix эта команда предоставляет список, в котором содер­жатся имена регистрации пользователей, их полные имена, имена терминалов, время ожидания, время регистрации в системе, адрес и телефон.
Кроме того, посредством этой команды можно получить информацию об одном определенном пользователе. Для этого можно, например, воспользоваться сле­дующей строкой:
$ finger Iklander <Enter> Login name: Iklander    (messages off) Directory: /u/lklander On since Sep 22 22:06:35 on ttypO No Plan. $
Команда finger также обладает несколькими параметрами. Часть из них приведе­на в таблице 17.7.
Параметр_Описание_
-Ь Заставляет команду выводить данные в укороченном
виде.
-/ Подавляет вывод строки заголовка (короткий формат).
-/ Предоставляет краткий список пользователей
со временем простоя.
-/ Заставляет команду выводить данные в полном
формате.
-р Подавляет вывод файлов с расширением .plan.
-q Предоставляет краткий список пользователей.
-s Заставляет команду выводить данные в кратком виде.
-w                        Узкоформатный список пользователей, указанных _в командной строке._
Таблищ 17.7. Наиболее часто используемые параметры команды finger.
Так как команда finger доступна всем пользователям, присоединенным к сети, то многие администраторы стараются отключить ее, а также запретить серверу
In real Lars Klander
Shell: /bin/ksh
запуск демона finger. Благодаря этому хакеры не смогут получить информацию о
текущих пользователях системы.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика