Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #51, ФЕВРАЛЬ 2005 г.

Alma mater

[XL]WOLF <admin@ns0.ru>

Спецвыпуск: Хакер, номер #051, стр. 051-008-3


Вернусь к моей программе и к ее мануалу. Так уж мне хочется, чтобы мой мануал мог читать только root, но, тем не менее, мою программу разрабатываю не только я, но и мой знакомый (назовем его r1c). Я и r1c, не имея доступа root’а (на данный момент я его имею, но это ненадолго), хотим в процессе разработки модифицировать как саму программу, так и мануал к ней. Для этого root’у необходимо дать право на чтение, а меня и r1c объединить в группу (devel) и разрешить этой группе чтение и запись этого файла. Вот и все. Теперь же осталось реализовать то, что было задумано. Каждому биту (r, w ,x) присвоен числовой аналог. R = 4, W = 2, X = 1. Хозяином файла теперь будет root, ему нужно только чтение, у него будет доступ 4. А группе devel нужна модификация и чтение итого 4+2 = 6. А все остальные не должны иметь доступа к файлу, то есть 0.

Собираем все воедино: chmod 0460 <имя файла>. Это и есть результат чтения мануалов. Почему первый разряд равен нулю? О назначении этого разряда ты без труда узнаешь из мануала по команде chmod -это и будет твое домашнее задание. Иногда случается такое, что ты висишь на консоли, читаешь на досуге очередной мануал, а тут связь с сервером обрубается. Все бы ничего, но обычно это приводит с "висящим" процессам и незакрытой сессии, которая тоже зависает. В этом, конечно, нет ничего страшного, но может зависнуть и процесс ping –s 50000 www.ru, а это уже неприятно. Убей его. Допустим, из зависших процессов нужно убить именно ping. Находим его среди процессов и определяем его pid (Process IDentifier):

# ps ax|grep "ping"

69560 p1 S+ 0:00.01 ping -s 40000 www.ru

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

# man kill

Это и есть мануал по kill(1). С помощью этой команды можно послать сигнал процессу. Оказывается, что сигналов много и каждый из них имеет свое назначение. Я рассмотрю лишь два наиболее часто используемых сигнала – это –HUP и –9. Не странно ли, что один сигнал отображается в числовом виде, а другой в символьном? У каждого числового сигнала есть символьный аналог для удобства запоминания. Например –1 это –HUP, а –9 это –KILL. Итак, все-таки процесс убить придется. Его pid уже неизвестен, из man видим синтаксис, поэтому:

Назад на стр. 051-008-2  Содержание  Вперед на стр. 051-008-4