Страница:
marlin 130.95.100.4
gugate 130.95.100.1
gugate 130.95.100.129
helpdesk 130.95.100.180
lan 130.95.100.0
big-bird 130.95.100.130
To get a list of all the machines in the domain.
If you wanted to find a list of all of the MX records for the domain, you
can put a -m flag in the ls command.
> ls -m gu.uwa.edu.au.
[uniwa.uwa.edu.au]
Host or domain name Metric Host
gu 100 mackerel.gu.uwa.edu.au
gu 200 uniwa.uwa.edu.au
This only works for a limited selection of the different types.
DIG: dig axfr @
Appendix A
;
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache ."
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC registration services
; under anonymous FTP as
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET
; -OR- under Gopher at RS.INTERNIC.NET
; under menu InterNIC Registration Services (NSI)
; submenu InterNIC Registration Archives
; file named.root
;
; last update: April 21, 1993
; related version of root zone: 930421
;
99999999 IN NS NS.INTERNIC.NET.
NS.INTERNIC.NET. 99999999 A 198.41.0.4
99999999 NS KAVA.NISC.SRI.COM.
KAVA.NISC.SRI.COM. 99999999 A 192.33.33.24
99999999 NS C.NYSER.NET.
C.NYSER.NET. 99999999 A 192.33.4.12
99999999 NS TERP.UMD.EDU.
TERP.UMD.EDU. 99999999 A 128.8.10.90
99999999 NS NS.NASA.GOV.
NS.NASA.GOV. 99999999 A 128.102.16.10
99999999 A 192.52.195.10
99999999 NS NS.NIC.DDN.MIL.
NS.NIC.DDN.MIL. 99999999 A 192.112.36.4
99999999 NS AOS.ARL.ARMY.MIL.
AOS.ARL.ARMY.MIL. 99999999 A 128.63.4.82
99999999 A 192.5.25.82
99999999 NS NIC.NORDU.NET.
NIC.NORDU.NET. 99999999 A 192.36.148.17
; End of File
Appendix B
An Excerpt from
RFC 1340 Assigned Numbers July 1992
MACHINE NAMES
These are the Official Machine Names as they appear in the Domain Name
System HINFO records and the NIC Host Table. Their use is described in
RFC-952 [53].
A machine name or CPU type may be up to 40 characters taken from the
set of uppercase letters, digits, and the two punctuation characters
hyphen and slash. It must start with a letter, and end with a letter
or digit.
ALTO DEC-1080
ALTOS-6800 DEC-1090
AMDAHL-V7 DEC-1090B
APOLLO DEC-1090T
ATARI-104ST DEC-2020T
ATT-3B1 DEC-2040
ATT-3B2 DEC-2040T
ATT-3B20 DEC-2050T
ATT-7300 DEC-2060
BBN-C/60 DEC-2060T
BURROUGHS-B/29 DEC-2065
BURROUGHS-B/4800 DEC-FALCON
BUTTERFLY DEC-KS10
C/30 DEC-VAX-11730
C/70 DORADO
CADLINC DPS8/70M
CADR ELXSI-6400
CDC-170 EVEREX-386
CDC-170/750 FOONLY-F2
CDC-173 FOONLY-F3
CELERITY-1200 FOONLY-F4
CLUB-386 GOULD
COMPAQ-386/20 GOULD-6050
COMTEN-3690 GOULD-6080
CP8040 GOULD-9050
CRAY-1 GOULD-9080
CRAY-X/MP H-316
CRAY-2 H-60/68
CTIWS-117 H-68
DANDELION H-68/80
DEC-10 H-89
DEC-1050 HONEYWELL-DPS-6
DEC-1077 HONEYWELL-DPS-8/70
HP3000 ONYX-Z8000
HP3000/64 PDP-11
IBM-158 PDP-11/3
IBM-360/67 PDP-11/23
IBM-370/3033 PDP-11/24
IBM-3081 PDP-11/34
IBM-3084QX PDP-11/40
IBM-3101 PDP-11/44
IBM-4331 PDP-11/45
IBM-4341 PDP-11/50
IBM-4361 PDP-11/70
IBM-4381 PDP-11/73
IBM-4956 PE-7/32
IBM-6152 PE-3205
IBM-PC PERQ
IBM-PC/AT PLEXUS-P/60
IBM-PC/RT PLI
IBM-PC/XT PLURIBUS
IBM-SERIES/1 PRIME-2350
IMAGEN PRIME-2450
IMAGEN-8/300 PRIME-2755
IMSAI PRIME-9655
INTEGRATED-SOLUTIONS PRIME-9755
INTEGRATED-SOLUTIONS-68K PRIME-9955II
INTEGRATED-SOLUTIONS-CREATOR PRIME-2250
INTEGRATED-SOLUTIONS-CREATOR-8 PRIME-2655
INTEL-386 PRIME-9955
INTEL-IPSC PRIME-9950
IS-1 PRIME-9650
IS-68010 PRIME-9750
LMI PRIME-2250
LSI-11 PRIME-750
LSI-11/2 PRIME-850
LSI-11/23 PRIME-550II
LSI-11/73 PYRAMID-90
M68000 PYRAMID-90MX
MAC-II PYRAMID-90X
MASSCOMP RIDGE
MC500 RIDGE-32
MC68000 RIDGE-32C
MICROPORT ROLM-1666
MICROVAX S1-MKIIA
MICROVAX-I SMI
MV/8000 SEQUENT-BALANCE-8000
NAS3-5 SIEMENS
NCR-COMTEN-3690 SILICON-GRAPHICS
NEXT/N1000-316 SILICON-GRAPHICS-IRIS
NOW SGI-IRIS-2400
SGI-IRIS-2500 SUN-3/50
SGI-IRIS-3010 SUN-3/60
SGI-IRIS-3020 SUN-3/75
SGI-IRIS-3030 SUN-3/80
SGI-IRIS-3110 SUN-3/110
SGI-IRIS-3115 SUN-3/140
SGI-IRIS-3120 SUN-3/150
SGI-IRIS-3130 SUN-3/160
SGI-IRIS-4D/20 SUN-3/180
SGI-IRIS-4D/20G SUN-3/200
SGI-IRIS-4D/25 SUN-3/260
SGI-IRIS-4D/25G SUN-3/280
SGI-IRIS-4D/25S SUN-3/470
SGI-IRIS-4D/50 SUN-3/480
SGI-IRIS-4D/50G SUN-4/60
SGI-IRIS-4D/50GT SUN-4/110
SGI-IRIS-4D/60 SUN-4/150
SGI-IRIS-4D/60G SUN-4/200
SGI-IRIS-4D/60T SUN-4/260
SGI-IRIS-4D/60GT SUN-4/280
SGI-IRIS-4D/70 SUN-4/330
SGI-IRIS-4D/70G SUN-4/370
SGI-IRIS-4D/70GT SUN-4/390
SGI-IRIS-4D/80GT SUN-50
SGI-IRIS-4D/80S SUN-100
SGI-IRIS-4D/120GTX SUN-120
SGI-IRIS-4D/120S SUN-130
SGI-IRIS-4D/210GTX SUN-150
SGI-IRIS-4D/210S SUN-170
SGI-IRIS-4D/220GTX SUN-386i/250
SGI-IRIS-4D/220S SUN-68000
SGI-IRIS-4D/240GTX SYMBOLICS-3600
SGI-IRIS-4D/240S SYMBOLICS-3670
SGI-IRIS-4D/280GTX SYMMETRIC-375
SGI-IRIS-4D/280S SYMULT
SGI-IRIS-CS/12 TANDEM-TXP
SGI-IRIS-4SERVER-8 TANDY-6000
SPERRY-DCP/10 TEK-6130
SUN TI-EXPLORER
SUN-2 TP-4000
SUN-2/50 TRS-80
SUN-2/100 UNIVAC-1100
SUN-2/120 UNIVAC-1100/60
SUN-2/130 UNIVAC-1100/62
SUN-2/140 UNIVAC-1100/63
SUN-2/150 UNIVAC-1100/64
SUN-2/160 UNIVAC-1100/70
SUN-2/170 UNIVAC-1160
UNKNOWN
VAX-11/725
VAX-11/730
VAX-11/750
VAX-11/780
VAX-11/785
VAX-11/790
VAX-11/8600
VAX-8600
WANG-PC002
WANG-VS100
WANG-VS400
WYSE-386
XEROX-1108
XEROX-8010
ZENITH-148
SYSTEM NAMES
These are the Official System Names as they appear in the Domain Name
System HINFO records and the NIC Host Table. Their use is described
in RFC-952 [53].
A system name may be up to 40 characters taken from the set of upper-
case letters, digits, and the three punctuation characters hyphen,
period, and slash. It must start with a letter, and end with a
letter or digit.
AEGIS LISP SUN OS 3.5
APOLLO LISPM SUN OS 4.0
AIX/370 LOCUS SWIFT
AIX-PS/2 MACOS TAC
BS-2000 MINOS TANDEM
CEDAR MOS TENEX
CGW MPE5 TOPS10
CHORUS MSDOS TOPS20
CHRYSALIS MULTICS TOS
CMOS MUSIC TP3010
CMS MUSIC/SP TRSDOS
COS MVS ULTRIX
CPIX MVS/SP UNIX
CTOS NEXUS UNIX-BSD
CTSS NMS UNIX-V1AT
DCN NONSTOP UNIX-V
DDNOS NOS-2 UNIX-V.1
DOMAIN NTOS UNIX-V.2
DOS OS/DDP UNIX-V.3
EDX OS/2 UNIX-PC
ELF OS4 UNKNOWN
EMBOS OS86 UT2D
EMMOS OSX V
EPOS PCDOS VM
FOONEX PERQ/OS VM/370
FUZZ PLI VM/CMS
GCOS PSDOS/MIT VM/SP
GPOS PRIMOS VMS
HDOS RMX/RDOS VMS/EUNICE
IMAGEN ROS VRTX
INTERCOM RSX11M WAITS
IMPRESS RTE-A WANG
INTERLISP SATOPS WIN32
IOS SCO-XENIX/386 X11R3
IRIX SCS XDE
ISI-68020 SIMP XENIX
ITS SUN
Appendix C Installing DNS on a Sun when running NIS
====================
2) How to get DNS to be used when running NIS ?
First setup the appropriate /etc/resolv.conf file.
Something like this should do the "trick".
;
; Data file for a client.
;
domain local domain
nameserver address of primary domain nameserver
nameserver address of secondary domain nameserver
where: "local domain" is the domain part of the hostnames.
For example, if your hostname is "thor.ece.uc.edu"
your "local domain" is "ece.uc.edu".
You will need to put a copy of this resolv.conf on
all NIS(YP) servers including slaves.
Under SunOS 4.1 and greater, change the "B=" at the top
of the /var/yp/Makefile to "B=-b" and setup NIS in the
usual fashion.
You will need reboot or restart ypserv for these changes
to take affect.
Under 4.0.x, edit the Makefile or apply the following "diff":
*** Makefile.orig Wed Jan 10 13:22:11 1990
--- Makefile Wed Jan 10 13:22:01 1990
***************
*** 63 ****
! | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byname; \
--- 63 ----
! | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byname; \
***************
*** 66 ****
! | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byaddr; \
--- 66 ----
! | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byaddr; \
====================
--
Craig Richmond. Computer Officer - Dept of Economics (morning) 380 3860
University of Western Australia Dept of Education (afternoon) 2368
craig@ecel.uwa.edu.au Dvorak Keyboards RULE! "Messes are only acceptable
if users make them. Applications aren't allowed this freedom" I.M.VI 2-4
.
&dDUUCP - Unix to Unix Copy&d@
Система пересылки файлов по телефону.
Если uucp правильно сконфигурировано, то его использование
выглядит примерно так:
uucp -r moj_fajl 'pulsar!fajl_tam'
перешлет moj_fajl на удаленную машину pulsar. Хотя, скорее
всего не сделает, из-за ограничений на права доступа. А,
впрочем, такая команда скорее всего сработает:
uucp -r moj_fajl 'pulsar!~'
через некоторое время этот файл вы сможете обнаружить на машине
pulsar в каталоге
/usr/spool/uucppublic/
в этот каталог разрешено копирование с удаленных машин, для не-
го используется специальное обозначение: "~"
Пусть вас не удивляет, что в команде uucp использовались оди-
нарные кавычки. Они нужны, чтобы заэкранировать "!" и "~" от
вашего командного интерпретатора ksh или bash. Ключ -r в коман-
де uucp нужен, чтобы НЕ ЗАСТАВЛЯТЬ нашу машину немедленно начи-
нать звонить на pulsar. Она сама позвонит, в предусмотренное
для этого время.
uucp поддерживается на двух уровнях:
1. Пользовательский. Это команды uucp - постановка файла
в очередь на удаленную пересылку, и uux - постановка
в очередь на пересылку удаленной команды.
2. Системный. Периодически, автоматически запускается демон
uucico - (UUCP Copy in Copy out). Он созванивается с удаленными
машинами по телефону. На удаленной машине также запускается
"встречный" демон uucico. Наш демон "проталкивает" на удаленную
машину все файлы, которые к этому времени накопились в очереди
на отправку туда. После этого он "принимает" файлы, которые
приготовила для нас удаленная машина (их к нам проталкивает
"встречный" демон uucico, а наш принимает). После этого сеанс
uucico заканчивается. А пользователи обнаруживают, что у них
возникли новые файлы.
Предполагается, что системные администраторы на нашей и на
удаленной машине не забыли правильно описать и проконфигуриро-
вать систему UUCP.
&dDКонфигурация нашей машины как UUCP клиента.&d@
После этого наша машина сможет звонить на удаленные машины и
посылать/забирать оттуда файлы. Для этого мы должны задать:
1. Наше собственное UUCP имя.
2. Имя(имена) удаленной(ых) UUCP системы.
3. Телефонный номер(а), по которому нужно туда звонить.
4. Login и пароль, которые выделены там для нашего uucp-account'а.
5. Порт, к которому подключен наш модем.
6. Наборщик - описание "AT" команд для управления нашим модемом.
Эти данные задаются в нескольких конфигурационных файлах, кото-
рые должны лежать в каталоге /etc/uucp/ (или /usr/lib/uucp/ ,
или /usr/lib/uucp/taylor_config ) (или в каком нибудь
другом, см. man uucp для более точной информации). Это файлы:
Config # задает имя нашей машины (и многое другое) ;
Systems # описывает удаленные uucp-системы: имя, но-
# мер телефона, uucp-logname, uucp-passwd ;
Devices # порты, к которым подключены модемы.
Dialers # описывает модемы-наборщики (систему AT-ко-
# манд).
(А в Linux они называются: config, sys, port, dial)
Итак, представим классический случай. У вас один Hayes-совмес-
тимый модем V32/V42bis на 14400 baud (GVC, ZyXEL, US-
Robotics...), подключенный к последовательному порту /dev/modem
(если у вас порт называется /dev/contty03, вам никто не мешает
сделать символический линк ln -s /dev/contty03 /dev/modem не
так ли ?). Имя вашего узла fedfuru.
ВНИМАНИЕ. На большинстве Unix-ов выделены раздельные специаль-
ные файлы для одного и того-же порта: терминальная линия (для
подключения терминала или модема, НА который будут звонить -
используется для getty или ttymon), и линия с модемным управле-
нием, на выход - например, чтоб звонить НАРУЖУ модемом. Эти
специальные файлы и называются по разному, например:
SunOS: /dev/ttyy01 IN, /dev/ttyz01 OUT
Linux: /dev/ttyS1 IN, /dev/cua1 OUT
ISC: /dev/ttyFD01 IN, /dev/ttyFM01 OUT
SVR4/88: /dev/contty00 IN, /dev/??????? OUT
###следующий абзац написан "мелким шрифтом"(можно не читать)###
На самом деле все не совсем так. Цитирую Linux-Serial-HOWTO:
> There has been some discussion on the merits of /dev/mouse
> and /dev/modem. I strongly discourage the use of these links.
> In particular, if you are planning on using your modem for
> dialin you will run into problems because the lock files will
> not work correctly if you use /dev/modem. Also, Taylor UUCP
does not support symlinks either. Однако uugetty позволяет
корректно отрабатывать эту ситуацию. См. параметр ALTLOCK в
/etc/defaults/getty файле.
################_конец_"мелкого шрифта"_#######################
Вам надо подключиться к двум uucp-узлам:
1: Узел Релком, имя узла kiae, телефоны: 9469984, 9469994. Вы
зарегистрированы там под именем/паролем uufedurp/ABCd8
2: Ваше московское отделение, имя узла fedfond, телефон 095-
125-7623. Вы зарегистрированы там под именем/паролем
uufedurp/KLmn10
В каталоге /etc/uucp редактируем файлы Systems, Devices, Dialers
Systems: ------- Удаленные машины -----------------------------
kiae Any modem1 19200 946-9984 "" \n\r\d\r\d\r ogin:-BREAK-ogin:
uufedurp ssword: ABCd8
fedfond Any modem1 19200 8w095-125-7623 "" \n\r ogin:-BREAK-ogin:
uufedurp ssword: KLmn10
Devices: --------------- Описание портов ----------------------
modem1 contty03 - 19200 gvc1440
Dialers: --------------- Команды модемов ----------------------
gvc1440 =,-, "" \M\dATZ\r\c OK\r \EATDP\T\r\c CONNECT \m\c
---------------- Это все --------------------------------------
###следующий абзац написан "мелким шрифтом"(можно не читать)###
А дальше идет описание Taylor-uucp. Проблема в том, что в стан-
дартной поставке SVR4/88 _нет_ Taylor-uucp, а есть только т.н.
HoneyDanBer-uucp, он же BNU (Basic Networking Utilities).
Taylor новее и гибче, к тому же поддерживает два формата конфи-
гурационных файлов - традиционный (Config, Systems, Devices,
Dialers, ...) и свой (config, sys, port, dial, ...). Есть кон-
вертер туда-обратно. В Linuxе Taylor-uucp скомпилирован так,
чтобы сначала искать Taylor-конфигурацию в
/usr/lib/uucp/taylor_config/, если там ничего нет - искать
HDB-конфигурацию в /usr/lib/uucp/hdb_config/. IMHO главный
изъян HDB - невозможность указывать альтернативные номера теле-
фонов.
################_конец_"мелкого шрифта"_#######################
###следующий абзац написан "мелким шрифтом"###
Если вы используете не устаревший BNU-uucp, а Taylor-uucp 1.05:
В каталоге /usr/lib/uucp/taylor_config создаем файлы config,
sys, port, dial следующего содержания:
/* Примечание: в дистрибутивах RedHat Linux конфигурационные файлы
uucp должны лежать в /etc/uucp/ */
config: -------------------------------------------------------
uuname fedfuru # Наше собственное имя
sys: ------- Удаленные машины ---------------------------------
system kiae # Узел Релком ############################
myname fedfuru
time Any
port modem # Имя описания порта в файле port
speed 38400
chat ogin:-BREAK-ogin: uufedurp ssword: ABCd8
phone 946-9984
alternate # Второй телефонный номер.
phone 946-9994
system fedfond # Московское отделение ##################
time Any
myname fedfuru
port modem # Имя описания порта в файле port
speed 38400
chat ogin:-BREAK-ogin: uufedurp ssword: KLmn10
phone 8w095-125-7623
port: --------------- Описание портов ------------------------
port modem # Обозначение порта из файла sys
type modem
device /dev/modem
speed 38400
dialer gvc1440 # Имя наборщика-модема в файле dial
dial: --------------- Команды модемов ------------------------
dialer gvc1440 # Обозначение наборщика из файла port
# Строка инициализации модема.
# Вместо \T будет подставлен телефонный номер
chat "" ATZ OK ATH0E0Q0 OK ATDP\T CONNECT
# ATZ - загрузить profile 0
# ATH0 - повесить трубку
# ATE0 - no echo
# ATQ0 - выводить код возврата
chat-fail BUSY # Воспринимать как ошибку набора
chat-fail ERROR
chat-fail NO\sCARRIER
chat-fail NO\sDIALTONE
---------------------------------------------------------------
################_конец_"мелкого шрифта"_#######################
Все. Клиентская часть UUCP сконфигурирована. Теперь, чтобы
"протолкнуть" посланные файлы, достаточно периодически
выполнять команды:
uucico -s kiae
uucico -s fedfond
А еще лучше, добавить эти команды в crontab, чтобы они выполнялись
автоматически, по несколько раз в сутки.
&dDКонфигурирование UUCP с использованием sysadm&d@.
Все вышеперечисленные настройки можно сделать, используя утили-
ту системного администратора sysadm. Надо войти в меню
network_services / basic_network
&dDКонфигурирование серверной части UUCP.&d@
Итак, мы уже можем звонить на чужие машины, и пересылать на них
файлы. Теперь нужно сделать, чтобы чужие машины (клиенты) могли
звонить нам. Для этого нужно:
1: Иметь описание звонящей нам uucp-системы в файле Systems -
для клиента такое же, как и для сервера.
2: Проверить права доступа для клиента в файле Permitions
2: Завести для него специальный uucp-login
3: Убедиться, что модем стоит в "Auto-answer" режиме, и на порт
/dev/modem запущена программа getty (или ttymon), позволяю-
щая логиниться по телефону на порт /dev/modem
1. Описание добавляется в файл Systems, (номер телефона и
название порта не обязательны), если мы сами не
собираемся туда звонить, но я бы посоветовал их вписать, для
единообразия.
2. В файле /etc/passwd завести строчку вида:
uupetrov:x:1002:14:UU Petrov:/var/spool/uucp:/usr/lib/uucp/uucico
выполнить команды:
pwconv
passwd uupetrov
3. Любой терминальной программой "войти" в модемный порт и вы-
полнить команды
atz0 # Загрузить пользовательский profile 0
ats0=1 # Регистр0=1 - снимать трубку после 1-го звонка
at&w0 # Сохранить текущий setup в profile 0
at&y0 # Чтобы при включении питания загружался профайл 0
# at&f # загрузить заводские установки, если вы запутались
# с профайлами, можно сделать модему "reset"
Ввиду отсутствия коммуникационных программ в SVR4 (за
исключением сумасшедшего "cu"), используйте "echo".
echo atz0 > /dev/modem
echo ats0=0 > /dev/modem
echo at&w0 > /dev/modem # и так далее
А еще лучше gold, там есть режим прямой связи с любым портом.
4. В файле /etc/inittab иметь строчку вида:
c3:234:respawn:/usr/lib/saf/ttymon -g -d /dev/modem -l contty
&dDЧто где лежит в системе UUCP.&d@
/usr/bin/uucp - переслать файлы с/на удаленную uucp-систему
/usr/bin/uux - выполнить команду на удаленной uucp-системе
/usr/bin/uustat - статистика по выполненным пересылкам
/usr/lib/uucp/uu* - системные утилиты UUCP
/etc/uucp/ - каталог конфигурационных файлов UUCP
/usr/lib/uucp/taylor_config - конфигурация UUCP в Linux
/usr/lib/uucp/ - конфигурация UUCP в других
системах
/var/spool/uucppublic - каталог в который можно пересылать
файлы с удаленных машин
/usr/spool/mqueue - очереди отправляемой электронной почты
/usr/ucblib/mqueue - или здесь эта очередь ?
/var/spool/uucp/"машина" - очередь файлов на отправку на "машину"
/var/spool/uucp/.Log - статистика о работе uucp
&dDОсталось настроить нашу электронную почту.&d@
Если у вас самый простейший случай: вся ваша почта проходит че-
рез один "знающий" host, с которым вы соединены по uucp, то на-
до в файле /etc/sendmail.cf иметь такую строку:
. . .
# "Smart" relay host (may be null)
DSuucp-dom:kiae
. . .
В этом случае вся ваша внешняя почта (т.е. отправляемая за
пределы вашей локальной сети) будет переправляться по uucp на
uucp-узел "kiae" и дальнейшей ее доставкой будет озабочен
именно kiae. Предполагается, что он успешно справится с этой
задачей.
А еще чтобы было описание uucp-dom (ниже в том же файле).
Кстати, чтобы всех окончательно запутать, sendmail.cf на Motoн
role лежит вовсе не в /etc/, а в /usr/ucblib/.
Если у вас какой-либо другой случай - то это - тяжелый случай.
Дерзайте, успехов вам!
# И надо сделать, чтоб сендмаил не отрезал 8-й бит у посылаемой почты
# Если sendmail8.x.x, то в sendmail.cf:
# strip message body to 7 bits on input?
O7False
# А еще бывает, что sendmail не знает, как правильно называется
# наша машина. Тогда мы пишем что-то в таком стиле:
Cwlocalhost feduru.urup.ru feduru.mss.ru
&dDПроверка работоспособности и отладка конфигурации.&d@
Для начала проверим, правильно ли подсоединен модем.
Запускаем программу cu - эмулятор терминала.
cu -l /dev/modem # Или как там у вас этот порт называется
После этого вы переключитесь на работу со своим модемным пор-
том. Все, что вы будете набирать с клавиатуры, будет перенап-
равляться в порт /dev/modem , все, что "приходит" с этого пор-
та, будет рисоваться на вашем терминале. Попробуйте модемом
набрать телефонный номер
atdp100
Проверьте, правильно ли сконфигурирован "порт" модема и описа-
ние системы в файле Systems.
cu pulsar
Проверьте права доступа к файлам /dev/modem, /dev/contty*. Дол-
жно быть (???):
crw-rw---- 1 root uucp ... /dev/contty0
crw-rw---- 1 root uucp ... /dev/modem
Запустите uucico с максимальным уровнем выдачи отладочной ин-
формации. Запускать надо из под пользователя uucp
/usr/lib/uucp/uucico -r1 -x9 -f -s pulsar
/usr/lib/uucp/uucico -x all -f -s kiae
А затем посмотрите на содержание файлов со статистикой uucp в
каталоге /var/spool/uucp :
.Admin/audit.local
.Log/
.Status/
ERRLOG
LOGFILE
SYSLOG
Например, такой командой
tail -f /var/uucp/.Admin/audit.local &
tail -f /var/uucp/.Log/uucico/kiae
&dDПо результатам переписки&d@.
###следующий абзац написан "мелким шрифтом"(можно не читать)####
Dmitry Mayorov Compulsory Health Insurance Fund
Phone: +7 (812) 112-3517 St. Petersburg, Russia
> Навешал фильтров на sendmail, rmail,
> а вот это непонятно. Или они научились все из кои8 в исо пере-
> ворачивать на лету ?
Нет, конечно, потребовалось лечить. Дело сильно упростило то
обстоятельство, что внутри сети везде ISO. Перекодировать по-
этому мне надо только то, что идет через UUCP, то бишь наружу.
Для этого пришлось:
1. Поправить sendmail.cf:
# RelCom UUCP - with ISO 8859-5 to KOI-8 translation
Muucp-koi, P=/usr/local/bin/_uux, F=mDFMhu, S=52/31, R=21, M=100000,
^^^^^^^^^^^^^^^^^^^ мой, см. ниже
A=_uux - -r -a$f -gC $h!rmail ($u)
2. Сделать /usr/local/bin/_uux из трех строк:
#!/bin/sh
PATH=:/usr/bin:/usr/local/bin:/usr/ucb:/bin:
/usr/local/bin/iso-koi | /usr/bin/uux $*
(iso-koi - понятно какой фильтр)
Это все, на самом деле, весьма грязный hack - вряд ли стоит его
включать в учебник. Оно, конечно, работает, но вот надо по
крайней мере еще и правильный код возврата как-то обеспечить -
с проверкой ошибок и прочими фенечками.
Чтобы принимаемая почта из KOI превращалась в ISO, достаточно:
1. Переименовать rmail в /usr/local/bin/__rmail;
2. Сделать свой rmail, тоже из трех строчек:
#!/bin/sh
PATH=:/usr/bin:/usr/local/bin:/usr/ucb:/bin:
/usr/local/bin/koi-iso | /usr/local/bin/__rmail $*
Вышеуказанную экзекуцию надо производить именно над rmail, по-
тому что rbmail проверяет контрольные суммы.
А вот rbmail в SVR4/88 совсем нет. Надо искать исходники, соби-
рать... А RelCom (по крайней мере мой провайдер) именно его
пользует. Это третья причина (после отсутствия Taylor-uucp и
удобного Mail-user агентa), по которой я не стал поднимать
uucp/e-mail на Motorolе.
--
Dmitry Mayorov Compulsory Health Insurance Fund
Phone: +7 (812) 112-3517 St. Petersburg, Russia
-- Конец цитаты --
################_конец_"мелкого шрифта"_#######################
&dDSolaris: настройка uucp по direct line&d@
В файле Systems на Солярке удаленная машина описывается так:
ranisi Any dirt06 9600 unused "" P_ZERO "" \n\c ogin:-\n\c-ogin: uuintra\n\c ssword: parolf9f10\n\c "" P_ZERO
По сравнению с нормальным tailor-uucp престарелый соляркин
по прямому кабелю выкинул несколько фортелей:
Не захотел идти наружу с 38400, пришлось ставить 9600
Посылаемый ^M в конце каждой строки chat-а принимающий
Linux понимать отказался, пришлось делать в конце \n\c
Работать стал только с насильственно взведенным P_ZERO -
"no parity" - без этого на приеме вместо латиницы получалась
8-битная русица.
В uucp-овый crontab ставим раз в 5 минут вызов uucico
0,5,10,15,18,20,25,30,35,40,45,50,55 * * * * (\
/usr/lib/uucp/uucico -r1 -f -s ranisi ; sleep 30 ; \
/usr/lib/sendmail -q ) > /dev/null 2>&1
У солярного uucico не оказалось ключа "force" redial (-f -
совсем не тот форце, которого хотелось мне)
&dDЧтоб заставить uucico ходить на телнетовский порт&d@
> в логах наблюдается откровенный мусор: \177}\030\177} \177}#\177}
port type pipe
port command /bin/telnet -8E hostname
&dDSecure uucp по tcp&d@
&dDВариант 1. port type tcp with ssh-port forwarding&d@
НА СЕРВЕРЕ: конфигурите uucp-tcp-сервер с localhost
/etc/inetd.conf :
uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/sbin/uucico -l
/etc/hosts.allow :
uucico: 127.0.0.1
# uucico желает его читать, а работает он с uid uucp - приходится дать read
chmod og+r /etc/hosts.allow
/etc/uucp/passwd : propisatx uu-логин, пароль _нешифрованный_
uuyourlogin yourpasswd
НА КЛИЕНТЕ: коннект будете делать на localhost, а ssh делает его проброс
/etc/inetd.conf :
uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/sbin/uucico -l
/etc/hosts.allow :
uucico: 127.0.0.1
/etc/uucp/port : описать порт tcp-connect
port tcp-connect
type tcp
service 540
/etc/uucp/sys : добавить тип порта
. . .
port tcp-connect
address 127.0.0.1
chat ogin: \L ssword: \P
alternate
. . .
"Перед употреблением" запускаем из под root ssh с активизированным forward
ssh1 -C -L 540:127.0.0.1:540 193.232.173.6
.
&dDСистема печати в Unix. LP spoolling&d@
(описана система печати в System V)
Печатать, конечно, можно и так: cat file > /dev/lp. Но в
многопользовательской системе такой фокус не всегда пройдет.
Поэтому печатаемый файл ставят в очередь на печать.
Имеем принтер. У принтера есть
ИМЯ_ПРИНТЕРА - придумывается администратором.
ПОРТ_ПРИНТЕРА - специальный файл в который надо
выталкивать данные для печати.
ИНТЕРФЕЙСНАЯ_ПРОГРАММА - программа, которая как раз и
будет этим заниматься.
Если у нас нормально сконфигурена система печати, то
печататься можно так:
lp -d ИМЯ_ПРИНТЕРА file
или, если мы хотим напечатать на "default" принтере
cat file | lp
lpstat Посмотреть в каком состоянии очередь печати
cancel [идентификатор_запроса ...] [принтер ...]
Срубить запрос на печать
lp просто складывает файл в SPOOL КАТАЛОГ. ДЕМОН ПЕЧАТИ
lpsched обнаруживает вновь поступивший файл, ставит его в
очередь на печать, и, когда очередь доходит, запускает наконец
ИНТЕРФЕЙСНУЮ ПРОГРАММУ, вход которой берется из печатаемого
файла, а ее вывод перенаправляется на ПОРТ_ПРИНТЕРА.
&dDПодключить к системе новый принтер&d@
---------------------------------------------------------------
lpshut # на время реконфигурации надо "гасить" lpsched
lpadmin -pLJ_printer -i/usr/lib/lp/model/lj_print -v/dev/lpt2
или
lpadmin -pNash_Nowyj_Printer -mstandard -v/dev/contty
enable Nash_Nowyj_Printer
accept Nash_Nowyj_Printer
lpsched # после реконфигурации надо вновь запустить lpsched
---------------------------------------------------------------
accept - позволяет ставить в очередь печать на этом принтере
enable - разрешает печатать стоящие в очереди задания
ключи команды lpadmin
-pИмя_Нового_Принтера
-vПОРТ_ПРИНТЕРА
-iИНТЕРФЕЙСНАЯ_ПРОГРАММА - маршрутное имя программы,
которая печатает
-mМОДЕЛЬ_ПРОГРАММЫ - имя "модели" такой программы,
лежащей в каталоге
/usr/lib/lp/model
-o nobanner - разрешить userу писать lp -o nobanner
(рекомендую ампутировать banner в интерфейсном скрипте)
-d printer - сделать принтером по умолчанию
-?Удаленный_хост - можно подключать принтер удаленной машины
-?Имя_принтера_на_удаленном_хосте
(ключи не помню, посмотреть в man)
-s host!printer - для Solaris - подключение удаленного принтера
# перед этим вписать принтер в /etc/lp/Systems
Вместе с системой накопления вывода на принтеры
поставляются образцы интерфейсных программ. Они представляют
собой shell-процедуры, перекодирующими печатаемый файл в формат
соответствующего принтера.
&dDПримеры&d@
lpadmin -pstar1 -i/udd/print/inter -v/dev/xpit0 # локальный принтер
lpadmin -pstar1 -mdumb -v/dev/lpt1
&dDПодключить к системе удаленный принтер&d@
(ключи варьируются для разных версий Unix)
HP-UX:
lpadmin -pLJ_printer -?host -?printer
Solaris:
вписать удаленную машину в /etc/lp/Systems а затем
lpadmin -pLJ_printer -s 'host!printer' ; accept LJ_printer
lpadmin -dstar1 # Установить принтером по умолчани`
lpadmin -xstar1 # Ликвидировать принтер star1
&dDФайлы&d@
/usr/lib/lp/model # Образцы интерфейсных программ (модели)
/etc/lp # Каталог конфигурации системы LP
/var/spool/lp/* # Каталоги с очередями
man lpadmin # Естественно!
.
&dDГрафическая оболочка X-Windows System&d@
Для начала немного истории и общих мест. Представим, что
нам нужно написать программу, которая будет работать в
графическом режиме. Нам потребуется: опрашивать клавиатуру,
снимать события и координаты мыши, рисовать на экране, ... Как
это делалось на MS-DOSе? Очень просто. Пишем одну большую
программу, в ней - все: и логика, и обработка событий, и
слежение за перемещениями мыши, ну, а когда требуется что-то
нарисовать, мы даем команду на запись в порты EGA контроллера,
рисуем пиксел... Через год появляется контроллер VGA, еще через
год SVGA 800x600, 16 цветов, вслед за ним UVGA 1024x768, 256
цветов, затем XGA 1280x1024, 16Мб цветов...
&dDОсновная идея X Windows&d@.
Имеем две независимых программы. Одна умеет рисовать на
графическом мониторе, и вообще, обслуживать все это железо. Она
называется X-сервер. Вторая программа - называем ее клиент X
Windows, рисовать физически не умеет. Зато она знает, что
именно надо рисовать, и умеет командовать. Команды типа:
"нарисовать прямоугольник", "провести линию", "открыть окно",
"вывести символ в заданном фонте", "опросить координаты мыши",
и т.п. передаются X-серверу, а тот их исполняет - рисует.
Формат и спецификации этих команд опубликованы,
стандартизованы, и широко известны. Все вместе они называются
"Протокол X Windows".
Итак, повторим.
X-сервер. Программа, которая написана специально под
конкретное физическое устройство (имеется в виду - монитор,
графконтроллер, мышь и клавиатура), умеет на нем рисовать, и
gugate 130.95.100.1
gugate 130.95.100.129
helpdesk 130.95.100.180
lan 130.95.100.0
big-bird 130.95.100.130
To get a list of all the machines in the domain.
If you wanted to find a list of all of the MX records for the domain, you
can put a -m flag in the ls command.
> ls -m gu.uwa.edu.au.
[uniwa.uwa.edu.au]
Host or domain name Metric Host
gu 100 mackerel.gu.uwa.edu.au
gu 200 uniwa.uwa.edu.au
This only works for a limited selection of the different types.
DIG: dig axfr
Appendix A
;
; This file holds the information on root name servers needed to
; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache .
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC registration services
; under anonymous FTP as
; file /domain/named.root
; on server FTP.RS.INTERNIC.NET
; -OR- under Gopher at RS.INTERNIC.NET
; under menu InterNIC Registration Services (NSI)
; submenu InterNIC Registration Archives
; file named.root
;
; last update: April 21, 1993
; related version of root zone: 930421
;
99999999 IN NS NS.INTERNIC.NET.
NS.INTERNIC.NET. 99999999 A 198.41.0.4
99999999 NS KAVA.NISC.SRI.COM.
KAVA.NISC.SRI.COM. 99999999 A 192.33.33.24
99999999 NS C.NYSER.NET.
C.NYSER.NET. 99999999 A 192.33.4.12
99999999 NS TERP.UMD.EDU.
TERP.UMD.EDU. 99999999 A 128.8.10.90
99999999 NS NS.NASA.GOV.
NS.NASA.GOV. 99999999 A 128.102.16.10
99999999 A 192.52.195.10
99999999 NS NS.NIC.DDN.MIL.
NS.NIC.DDN.MIL. 99999999 A 192.112.36.4
99999999 NS AOS.ARL.ARMY.MIL.
AOS.ARL.ARMY.MIL. 99999999 A 128.63.4.82
99999999 A 192.5.25.82
99999999 NS NIC.NORDU.NET.
NIC.NORDU.NET. 99999999 A 192.36.148.17
; End of File
Appendix B
An Excerpt from
RFC 1340 Assigned Numbers July 1992
MACHINE NAMES
These are the Official Machine Names as they appear in the Domain Name
System HINFO records and the NIC Host Table. Their use is described in
RFC-952 [53].
A machine name or CPU type may be up to 40 characters taken from the
set of uppercase letters, digits, and the two punctuation characters
hyphen and slash. It must start with a letter, and end with a letter
or digit.
ALTO DEC-1080
ALTOS-6800 DEC-1090
AMDAHL-V7 DEC-1090B
APOLLO DEC-1090T
ATARI-104ST DEC-2020T
ATT-3B1 DEC-2040
ATT-3B2 DEC-2040T
ATT-3B20 DEC-2050T
ATT-7300 DEC-2060
BBN-C/60 DEC-2060T
BURROUGHS-B/29 DEC-2065
BURROUGHS-B/4800 DEC-FALCON
BUTTERFLY DEC-KS10
C/30 DEC-VAX-11730
C/70 DORADO
CADLINC DPS8/70M
CADR ELXSI-6400
CDC-170 EVEREX-386
CDC-170/750 FOONLY-F2
CDC-173 FOONLY-F3
CELERITY-1200 FOONLY-F4
CLUB-386 GOULD
COMPAQ-386/20 GOULD-6050
COMTEN-3690 GOULD-6080
CP8040 GOULD-9050
CRAY-1 GOULD-9080
CRAY-X/MP H-316
CRAY-2 H-60/68
CTIWS-117 H-68
DANDELION H-68/80
DEC-10 H-89
DEC-1050 HONEYWELL-DPS-6
DEC-1077 HONEYWELL-DPS-8/70
HP3000 ONYX-Z8000
HP3000/64 PDP-11
IBM-158 PDP-11/3
IBM-360/67 PDP-11/23
IBM-370/3033 PDP-11/24
IBM-3081 PDP-11/34
IBM-3084QX PDP-11/40
IBM-3101 PDP-11/44
IBM-4331 PDP-11/45
IBM-4341 PDP-11/50
IBM-4361 PDP-11/70
IBM-4381 PDP-11/73
IBM-4956 PE-7/32
IBM-6152 PE-3205
IBM-PC PERQ
IBM-PC/AT PLEXUS-P/60
IBM-PC/RT PLI
IBM-PC/XT PLURIBUS
IBM-SERIES/1 PRIME-2350
IMAGEN PRIME-2450
IMAGEN-8/300 PRIME-2755
IMSAI PRIME-9655
INTEGRATED-SOLUTIONS PRIME-9755
INTEGRATED-SOLUTIONS-68K PRIME-9955II
INTEGRATED-SOLUTIONS-CREATOR PRIME-2250
INTEGRATED-SOLUTIONS-CREATOR-8 PRIME-2655
INTEL-386 PRIME-9955
INTEL-IPSC PRIME-9950
IS-1 PRIME-9650
IS-68010 PRIME-9750
LMI PRIME-2250
LSI-11 PRIME-750
LSI-11/2 PRIME-850
LSI-11/23 PRIME-550II
LSI-11/73 PYRAMID-90
M68000 PYRAMID-90MX
MAC-II PYRAMID-90X
MASSCOMP RIDGE
MC500 RIDGE-32
MC68000 RIDGE-32C
MICROPORT ROLM-1666
MICROVAX S1-MKIIA
MICROVAX-I SMI
MV/8000 SEQUENT-BALANCE-8000
NAS3-5 SIEMENS
NCR-COMTEN-3690 SILICON-GRAPHICS
NEXT/N1000-316 SILICON-GRAPHICS-IRIS
NOW SGI-IRIS-2400
SGI-IRIS-2500 SUN-3/50
SGI-IRIS-3010 SUN-3/60
SGI-IRIS-3020 SUN-3/75
SGI-IRIS-3030 SUN-3/80
SGI-IRIS-3110 SUN-3/110
SGI-IRIS-3115 SUN-3/140
SGI-IRIS-3120 SUN-3/150
SGI-IRIS-3130 SUN-3/160
SGI-IRIS-4D/20 SUN-3/180
SGI-IRIS-4D/20G SUN-3/200
SGI-IRIS-4D/25 SUN-3/260
SGI-IRIS-4D/25G SUN-3/280
SGI-IRIS-4D/25S SUN-3/470
SGI-IRIS-4D/50 SUN-3/480
SGI-IRIS-4D/50G SUN-4/60
SGI-IRIS-4D/50GT SUN-4/110
SGI-IRIS-4D/60 SUN-4/150
SGI-IRIS-4D/60G SUN-4/200
SGI-IRIS-4D/60T SUN-4/260
SGI-IRIS-4D/60GT SUN-4/280
SGI-IRIS-4D/70 SUN-4/330
SGI-IRIS-4D/70G SUN-4/370
SGI-IRIS-4D/70GT SUN-4/390
SGI-IRIS-4D/80GT SUN-50
SGI-IRIS-4D/80S SUN-100
SGI-IRIS-4D/120GTX SUN-120
SGI-IRIS-4D/120S SUN-130
SGI-IRIS-4D/210GTX SUN-150
SGI-IRIS-4D/210S SUN-170
SGI-IRIS-4D/220GTX SUN-386i/250
SGI-IRIS-4D/220S SUN-68000
SGI-IRIS-4D/240GTX SYMBOLICS-3600
SGI-IRIS-4D/240S SYMBOLICS-3670
SGI-IRIS-4D/280GTX SYMMETRIC-375
SGI-IRIS-4D/280S SYMULT
SGI-IRIS-CS/12 TANDEM-TXP
SGI-IRIS-4SERVER-8 TANDY-6000
SPERRY-DCP/10 TEK-6130
SUN TI-EXPLORER
SUN-2 TP-4000
SUN-2/50 TRS-80
SUN-2/100 UNIVAC-1100
SUN-2/120 UNIVAC-1100/60
SUN-2/130 UNIVAC-1100/62
SUN-2/140 UNIVAC-1100/63
SUN-2/150 UNIVAC-1100/64
SUN-2/160 UNIVAC-1100/70
SUN-2/170 UNIVAC-1160
UNKNOWN
VAX-11/725
VAX-11/730
VAX-11/750
VAX-11/780
VAX-11/785
VAX-11/790
VAX-11/8600
VAX-8600
WANG-PC002
WANG-VS100
WANG-VS400
WYSE-386
XEROX-1108
XEROX-8010
ZENITH-148
SYSTEM NAMES
These are the Official System Names as they appear in the Domain Name
System HINFO records and the NIC Host Table. Their use is described
in RFC-952 [53].
A system name may be up to 40 characters taken from the set of upper-
case letters, digits, and the three punctuation characters hyphen,
period, and slash. It must start with a letter, and end with a
letter or digit.
AEGIS LISP SUN OS 3.5
APOLLO LISPM SUN OS 4.0
AIX/370 LOCUS SWIFT
AIX-PS/2 MACOS TAC
BS-2000 MINOS TANDEM
CEDAR MOS TENEX
CGW MPE5 TOPS10
CHORUS MSDOS TOPS20
CHRYSALIS MULTICS TOS
CMOS MUSIC TP3010
CMS MUSIC/SP TRSDOS
COS MVS ULTRIX
CPIX MVS/SP UNIX
CTOS NEXUS UNIX-BSD
CTSS NMS UNIX-V1AT
DCN NONSTOP UNIX-V
DDNOS NOS-2 UNIX-V.1
DOMAIN NTOS UNIX-V.2
DOS OS/DDP UNIX-V.3
EDX OS/2 UNIX-PC
ELF OS4 UNKNOWN
EMBOS OS86 UT2D
EMMOS OSX V
EPOS PCDOS VM
FOONEX PERQ/OS VM/370
FUZZ PLI VM/CMS
GCOS PSDOS/MIT VM/SP
GPOS PRIMOS VMS
HDOS RMX/RDOS VMS/EUNICE
IMAGEN ROS VRTX
INTERCOM RSX11M WAITS
IMPRESS RTE-A WANG
INTERLISP SATOPS WIN32
IOS SCO-XENIX/386 X11R3
IRIX SCS XDE
ISI-68020 SIMP XENIX
ITS SUN
Appendix C Installing DNS on a Sun when running NIS
====================
2) How to get DNS to be used when running NIS ?
First setup the appropriate /etc/resolv.conf file.
Something like this should do the "trick".
;
; Data file for a client.
;
domain local domain
nameserver address of primary domain nameserver
nameserver address of secondary domain nameserver
where: "local domain" is the domain part of the hostnames.
For example, if your hostname is "thor.ece.uc.edu"
your "local domain" is "ece.uc.edu".
You will need to put a copy of this resolv.conf on
all NIS(YP) servers including slaves.
Under SunOS 4.1 and greater, change the "B=" at the top
of the /var/yp/Makefile to "B=-b" and setup NIS in the
usual fashion.
You will need reboot or restart ypserv for these changes
to take affect.
Under 4.0.x, edit the Makefile or apply the following "diff":
*** Makefile.orig Wed Jan 10 13:22:11 1990
--- Makefile Wed Jan 10 13:22:01 1990
***************
*** 63 ****
! | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byname; \
--- 63 ----
! | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byname; \
***************
*** 66 ****
! | $(MAKEDBM) - $(YPDBDIR)/$(DOM)/hosts.byaddr; \
--- 66 ----
! | $(MAKEDBM) -b - $(YPDBDIR)/$(DOM)/hosts.byaddr; \
====================
--
Craig Richmond. Computer Officer - Dept of Economics (morning) 380 3860
University of Western Australia Dept of Education (afternoon) 2368
craig@ecel.uwa.edu.au Dvorak Keyboards RULE! "Messes are only acceptable
if users make them. Applications aren't allowed this freedom" I.M.VI 2-4
.
&dDUUCP - Unix to Unix Copy&d@
Система пересылки файлов по телефону.
Если uucp правильно сконфигурировано, то его использование
выглядит примерно так:
uucp -r moj_fajl 'pulsar!fajl_tam'
перешлет moj_fajl на удаленную машину pulsar. Хотя, скорее
всего не сделает, из-за ограничений на права доступа. А,
впрочем, такая команда скорее всего сработает:
uucp -r moj_fajl 'pulsar!~'
через некоторое время этот файл вы сможете обнаружить на машине
pulsar в каталоге
/usr/spool/uucppublic/
в этот каталог разрешено копирование с удаленных машин, для не-
го используется специальное обозначение: "~"
Пусть вас не удивляет, что в команде uucp использовались оди-
нарные кавычки. Они нужны, чтобы заэкранировать "!" и "~" от
вашего командного интерпретатора ksh или bash. Ключ -r в коман-
де uucp нужен, чтобы НЕ ЗАСТАВЛЯТЬ нашу машину немедленно начи-
нать звонить на pulsar. Она сама позвонит, в предусмотренное
для этого время.
uucp поддерживается на двух уровнях:
1. Пользовательский. Это команды uucp - постановка файла
в очередь на удаленную пересылку, и uux - постановка
в очередь на пересылку удаленной команды.
2. Системный. Периодически, автоматически запускается демон
uucico - (UUCP Copy in Copy out). Он созванивается с удаленными
машинами по телефону. На удаленной машине также запускается
"встречный" демон uucico. Наш демон "проталкивает" на удаленную
машину все файлы, которые к этому времени накопились в очереди
на отправку туда. После этого он "принимает" файлы, которые
приготовила для нас удаленная машина (их к нам проталкивает
"встречный" демон uucico, а наш принимает). После этого сеанс
uucico заканчивается. А пользователи обнаруживают, что у них
возникли новые файлы.
Предполагается, что системные администраторы на нашей и на
удаленной машине не забыли правильно описать и проконфигуриро-
вать систему UUCP.
&dDКонфигурация нашей машины как UUCP клиента.&d@
После этого наша машина сможет звонить на удаленные машины и
посылать/забирать оттуда файлы. Для этого мы должны задать:
1. Наше собственное UUCP имя.
2. Имя(имена) удаленной(ых) UUCP системы.
3. Телефонный номер(а), по которому нужно туда звонить.
4. Login и пароль, которые выделены там для нашего uucp-account'а.
5. Порт, к которому подключен наш модем.
6. Наборщик - описание "AT" команд для управления нашим модемом.
Эти данные задаются в нескольких конфигурационных файлах, кото-
рые должны лежать в каталоге /etc/uucp/ (или /usr/lib/uucp/ ,
или /usr/lib/uucp/taylor_config ) (или в каком нибудь
другом, см. man uucp для более точной информации). Это файлы:
Config # задает имя нашей машины (и многое другое) ;
Systems # описывает удаленные uucp-системы: имя, но-
# мер телефона, uucp-logname, uucp-passwd ;
Devices # порты, к которым подключены модемы.
Dialers # описывает модемы-наборщики (систему AT-ко-
# манд).
(А в Linux они называются: config, sys, port, dial)
Итак, представим классический случай. У вас один Hayes-совмес-
тимый модем V32/V42bis на 14400 baud (GVC, ZyXEL, US-
Robotics...), подключенный к последовательному порту /dev/modem
(если у вас порт называется /dev/contty03, вам никто не мешает
сделать символический линк ln -s /dev/contty03 /dev/modem не
так ли ?). Имя вашего узла fedfuru.
ВНИМАНИЕ. На большинстве Unix-ов выделены раздельные специаль-
ные файлы для одного и того-же порта: терминальная линия (для
подключения терминала или модема, НА который будут звонить -
используется для getty или ttymon), и линия с модемным управле-
нием, на выход - например, чтоб звонить НАРУЖУ модемом. Эти
специальные файлы и называются по разному, например:
SunOS: /dev/ttyy01 IN, /dev/ttyz01 OUT
Linux: /dev/ttyS1 IN, /dev/cua1 OUT
ISC: /dev/ttyFD01 IN, /dev/ttyFM01 OUT
SVR4/88: /dev/contty00 IN, /dev/??????? OUT
###следующий абзац написан "мелким шрифтом"(можно не читать)###
На самом деле все не совсем так. Цитирую Linux-Serial-HOWTO:
> There has been some discussion on the merits of /dev/mouse
> and /dev/modem. I strongly discourage the use of these links.
> In particular, if you are planning on using your modem for
> dialin you will run into problems because the lock files will
> not work correctly if you use /dev/modem. Also, Taylor UUCP
does not support symlinks either. Однако uugetty позволяет
корректно отрабатывать эту ситуацию. См. параметр ALTLOCK в
/etc/defaults/getty файле.
################_конец_"мелкого шрифта"_#######################
Вам надо подключиться к двум uucp-узлам:
1: Узел Релком, имя узла kiae, телефоны: 9469984, 9469994. Вы
зарегистрированы там под именем/паролем uufedurp/ABCd8
2: Ваше московское отделение, имя узла fedfond, телефон 095-
125-7623. Вы зарегистрированы там под именем/паролем
uufedurp/KLmn10
В каталоге /etc/uucp редактируем файлы Systems, Devices, Dialers
Systems: ------- Удаленные машины -----------------------------
kiae Any modem1 19200 946-9984 "" \n\r\d\r\d\r ogin:-BREAK-ogin:
uufedurp ssword: ABCd8
fedfond Any modem1 19200 8w095-125-7623 "" \n\r ogin:-BREAK-ogin:
uufedurp ssword: KLmn10
Devices: --------------- Описание портов ----------------------
modem1 contty03 - 19200 gvc1440
Dialers: --------------- Команды модемов ----------------------
gvc1440 =,-, "" \M\dATZ\r\c OK\r \EATDP\T\r\c CONNECT \m\c
---------------- Это все --------------------------------------
###следующий абзац написан "мелким шрифтом"(можно не читать)###
А дальше идет описание Taylor-uucp. Проблема в том, что в стан-
дартной поставке SVR4/88 _нет_ Taylor-uucp, а есть только т.н.
HoneyDanBer-uucp, он же BNU (Basic Networking Utilities).
Taylor новее и гибче, к тому же поддерживает два формата конфи-
гурационных файлов - традиционный (Config, Systems, Devices,
Dialers, ...) и свой (config, sys, port, dial, ...). Есть кон-
вертер туда-обратно. В Linuxе Taylor-uucp скомпилирован так,
чтобы сначала искать Taylor-конфигурацию в
/usr/lib/uucp/taylor_config/, если там ничего нет - искать
HDB-конфигурацию в /usr/lib/uucp/hdb_config/. IMHO главный
изъян HDB - невозможность указывать альтернативные номера теле-
фонов.
################_конец_"мелкого шрифта"_#######################
###следующий абзац написан "мелким шрифтом"###
Если вы используете не устаревший BNU-uucp, а Taylor-uucp 1.05:
В каталоге /usr/lib/uucp/taylor_config создаем файлы config,
sys, port, dial следующего содержания:
/* Примечание: в дистрибутивах RedHat Linux конфигурационные файлы
uucp должны лежать в /etc/uucp/ */
config: -------------------------------------------------------
uuname fedfuru # Наше собственное имя
sys: ------- Удаленные машины ---------------------------------
system kiae # Узел Релком ############################
myname fedfuru
time Any
port modem # Имя описания порта в файле port
speed 38400
chat ogin:-BREAK-ogin: uufedurp ssword: ABCd8
phone 946-9984
alternate # Второй телефонный номер.
phone 946-9994
system fedfond # Московское отделение ##################
time Any
myname fedfuru
port modem # Имя описания порта в файле port
speed 38400
chat ogin:-BREAK-ogin: uufedurp ssword: KLmn10
phone 8w095-125-7623
port: --------------- Описание портов ------------------------
port modem # Обозначение порта из файла sys
type modem
device /dev/modem
speed 38400
dialer gvc1440 # Имя наборщика-модема в файле dial
dial: --------------- Команды модемов ------------------------
dialer gvc1440 # Обозначение наборщика из файла port
# Строка инициализации модема.
# Вместо \T будет подставлен телефонный номер
chat "" ATZ OK ATH0E0Q0 OK ATDP\T CONNECT
# ATZ - загрузить profile 0
# ATH0 - повесить трубку
# ATE0 - no echo
# ATQ0 - выводить код возврата
chat-fail BUSY # Воспринимать как ошибку набора
chat-fail ERROR
chat-fail NO\sCARRIER
chat-fail NO\sDIALTONE
---------------------------------------------------------------
################_конец_"мелкого шрифта"_#######################
Все. Клиентская часть UUCP сконфигурирована. Теперь, чтобы
"протолкнуть" посланные файлы, достаточно периодически
выполнять команды:
uucico -s kiae
uucico -s fedfond
А еще лучше, добавить эти команды в crontab, чтобы они выполнялись
автоматически, по несколько раз в сутки.
&dDКонфигурирование UUCP с использованием sysadm&d@.
Все вышеперечисленные настройки можно сделать, используя утили-
ту системного администратора sysadm. Надо войти в меню
network_services / basic_network
&dDКонфигурирование серверной части UUCP.&d@
Итак, мы уже можем звонить на чужие машины, и пересылать на них
файлы. Теперь нужно сделать, чтобы чужие машины (клиенты) могли
звонить нам. Для этого нужно:
1: Иметь описание звонящей нам uucp-системы в файле Systems -
для клиента такое же, как и для сервера.
2: Проверить права доступа для клиента в файле Permitions
2: Завести для него специальный uucp-login
3: Убедиться, что модем стоит в "Auto-answer" режиме, и на порт
/dev/modem запущена программа getty (или ttymon), позволяю-
щая логиниться по телефону на порт /dev/modem
1. Описание добавляется в файл Systems, (номер телефона и
название порта не обязательны), если мы сами не
собираемся туда звонить, но я бы посоветовал их вписать, для
единообразия.
2. В файле /etc/passwd завести строчку вида:
uupetrov:x:1002:14:UU Petrov:/var/spool/uucp:/usr/lib/uucp/uucico
выполнить команды:
pwconv
passwd uupetrov
3. Любой терминальной программой "войти" в модемный порт и вы-
полнить команды
atz0 # Загрузить пользовательский profile 0
ats0=1 # Регистр0=1 - снимать трубку после 1-го звонка
at&w0 # Сохранить текущий setup в profile 0
at&y0 # Чтобы при включении питания загружался профайл 0
# at&f # загрузить заводские установки, если вы запутались
# с профайлами, можно сделать модему "reset"
Ввиду отсутствия коммуникационных программ в SVR4 (за
исключением сумасшедшего "cu"), используйте "echo".
echo atz0 > /dev/modem
echo ats0=0 > /dev/modem
echo at&w0 > /dev/modem # и так далее
А еще лучше gold, там есть режим прямой связи с любым портом.
4. В файле /etc/inittab иметь строчку вида:
c3:234:respawn:/usr/lib/saf/ttymon -g -d /dev/modem -l contty
&dDЧто где лежит в системе UUCP.&d@
/usr/bin/uucp - переслать файлы с/на удаленную uucp-систему
/usr/bin/uux - выполнить команду на удаленной uucp-системе
/usr/bin/uustat - статистика по выполненным пересылкам
/usr/lib/uucp/uu* - системные утилиты UUCP
/etc/uucp/ - каталог конфигурационных файлов UUCP
/usr/lib/uucp/taylor_config - конфигурация UUCP в Linux
/usr/lib/uucp/ - конфигурация UUCP в других
системах
/var/spool/uucppublic - каталог в который можно пересылать
файлы с удаленных машин
/usr/spool/mqueue - очереди отправляемой электронной почты
/usr/ucblib/mqueue - или здесь эта очередь ?
/var/spool/uucp/"машина" - очередь файлов на отправку на "машину"
/var/spool/uucp/.Log - статистика о работе uucp
&dDОсталось настроить нашу электронную почту.&d@
Если у вас самый простейший случай: вся ваша почта проходит че-
рез один "знающий" host, с которым вы соединены по uucp, то на-
до в файле /etc/sendmail.cf иметь такую строку:
. . .
# "Smart" relay host (may be null)
DSuucp-dom:kiae
. . .
В этом случае вся ваша внешняя почта (т.е. отправляемая за
пределы вашей локальной сети) будет переправляться по uucp на
uucp-узел "kiae" и дальнейшей ее доставкой будет озабочен
именно kiae. Предполагается, что он успешно справится с этой
задачей.
А еще чтобы было описание uucp-dom (ниже в том же файле).
Кстати, чтобы всех окончательно запутать, sendmail.cf на Motoн
role лежит вовсе не в /etc/, а в /usr/ucblib/.
Если у вас какой-либо другой случай - то это - тяжелый случай.
Дерзайте, успехов вам!
# И надо сделать, чтоб сендмаил не отрезал 8-й бит у посылаемой почты
# Если sendmail8.x.x, то в sendmail.cf:
# strip message body to 7 bits on input?
O7False
# А еще бывает, что sendmail не знает, как правильно называется
# наша машина. Тогда мы пишем что-то в таком стиле:
Cwlocalhost feduru.urup.ru feduru.mss.ru
&dDПроверка работоспособности и отладка конфигурации.&d@
Для начала проверим, правильно ли подсоединен модем.
Запускаем программу cu - эмулятор терминала.
cu -l /dev/modem # Или как там у вас этот порт называется
После этого вы переключитесь на работу со своим модемным пор-
том. Все, что вы будете набирать с клавиатуры, будет перенап-
равляться в порт /dev/modem , все, что "приходит" с этого пор-
та, будет рисоваться на вашем терминале. Попробуйте модемом
набрать телефонный номер
atdp100
Проверьте, правильно ли сконфигурирован "порт" модема и описа-
ние системы в файле Systems.
cu pulsar
Проверьте права доступа к файлам /dev/modem, /dev/contty*. Дол-
жно быть (???):
crw-rw---- 1 root uucp ... /dev/contty0
crw-rw---- 1 root uucp ... /dev/modem
Запустите uucico с максимальным уровнем выдачи отладочной ин-
формации. Запускать надо из под пользователя uucp
/usr/lib/uucp/uucico -r1 -x9 -f -s pulsar
/usr/lib/uucp/uucico -x all -f -s kiae
А затем посмотрите на содержание файлов со статистикой uucp в
каталоге /var/spool/uucp :
.Admin/audit.local
.Log/
.Status/
ERRLOG
LOGFILE
SYSLOG
Например, такой командой
tail -f /var/uucp/.Admin/audit.local &
tail -f /var/uucp/.Log/uucico/kiae
&dDПо результатам переписки&d@.
###следующий абзац написан "мелким шрифтом"(можно не читать)####
Dmitry Mayorov
Phone: +7 (812) 112-3517 St. Petersburg, Russia
> Навешал фильтров на sendmail, rmail,
> а вот это непонятно. Или они научились все из кои8 в исо пере-
> ворачивать на лету ?
Нет, конечно, потребовалось лечить. Дело сильно упростило то
обстоятельство, что внутри сети везде ISO. Перекодировать по-
этому мне надо только то, что идет через UUCP, то бишь наружу.
Для этого пришлось:
1. Поправить sendmail.cf:
# RelCom UUCP - with ISO 8859-5 to KOI-8 translation
Muucp-koi, P=/usr/local/bin/_uux, F=mDFMhu, S=52/31, R=21, M=100000,
^^^^^^^^^^^^^^^^^^^ мой, см. ниже
A=_uux - -r -a$f -gC $h!rmail ($u)
2. Сделать /usr/local/bin/_uux из трех строк:
#!/bin/sh
PATH=:/usr/bin:/usr/local/bin:/usr/ucb:/bin:
/usr/local/bin/iso-koi | /usr/bin/uux $*
(iso-koi - понятно какой фильтр)
Это все, на самом деле, весьма грязный hack - вряд ли стоит его
включать в учебник. Оно, конечно, работает, но вот надо по
крайней мере еще и правильный код возврата как-то обеспечить -
с проверкой ошибок и прочими фенечками.
Чтобы принимаемая почта из KOI превращалась в ISO, достаточно:
1. Переименовать rmail в /usr/local/bin/__rmail;
2. Сделать свой rmail, тоже из трех строчек:
#!/bin/sh
PATH=:/usr/bin:/usr/local/bin:/usr/ucb:/bin:
/usr/local/bin/koi-iso | /usr/local/bin/__rmail $*
Вышеуказанную экзекуцию надо производить именно над rmail, по-
тому что rbmail проверяет контрольные суммы.
А вот rbmail в SVR4/88 совсем нет. Надо искать исходники, соби-
рать... А RelCom (по крайней мере мой провайдер) именно его
пользует. Это третья причина (после отсутствия Taylor-uucp и
удобного Mail-user агентa), по которой я не стал поднимать
uucp/e-mail на Motorolе.
--
Dmitry Mayorov
Phone: +7 (812) 112-3517 St. Petersburg, Russia
-- Конец цитаты --
################_конец_"мелкого шрифта"_#######################
&dDSolaris: настройка uucp по direct line&d@
В файле Systems на Солярке удаленная машина описывается так:
ranisi Any dirt06 9600 unused "" P_ZERO "" \n\c ogin:-\n\c-ogin: uuintra\n\c ssword: parolf9f10\n\c "" P_ZERO
По сравнению с нормальным tailor-uucp престарелый соляркин
по прямому кабелю выкинул несколько фортелей:
Не захотел идти наружу с 38400, пришлось ставить 9600
Посылаемый ^M в конце каждой строки chat-а принимающий
Linux понимать отказался, пришлось делать в конце \n\c
Работать стал только с насильственно взведенным P_ZERO -
"no parity" - без этого на приеме вместо латиницы получалась
8-битная русица.
В uucp-овый crontab ставим раз в 5 минут вызов uucico
0,5,10,15,18,20,25,30,35,40,45,50,55 * * * * (\
/usr/lib/uucp/uucico -r1 -f -s ranisi ; sleep 30 ; \
/usr/lib/sendmail -q ) > /dev/null 2>&1
У солярного uucico не оказалось ключа "force" redial (-f -
совсем не тот форце, которого хотелось мне)
&dDЧтоб заставить uucico ходить на телнетовский порт&d@
> в логах наблюдается откровенный мусор: \177}\030\177} \177}#\177}
port type pipe
port command /bin/telnet -8E hostname
&dDSecure uucp по tcp&d@
&dDВариант 1. port type tcp with ssh-port forwarding&d@
НА СЕРВЕРЕ: конфигурите uucp-tcp-сервер с localhost
/etc/inetd.conf :
uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/sbin/uucico -l
/etc/hosts.allow :
uucico: 127.0.0.1
# uucico желает его читать, а работает он с uid uucp - приходится дать read
chmod og+r /etc/hosts.allow
/etc/uucp/passwd : propisatx uu-логин, пароль _нешифрованный_
uuyourlogin yourpasswd
НА КЛИЕНТЕ: коннект будете делать на localhost, а ssh делает его проброс
/etc/inetd.conf :
uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/sbin/uucico -l
/etc/hosts.allow :
uucico: 127.0.0.1
/etc/uucp/port : описать порт tcp-connect
port tcp-connect
type tcp
service 540
/etc/uucp/sys : добавить тип порта
. . .
port tcp-connect
address 127.0.0.1
chat ogin: \L ssword: \P
alternate
. . .
"Перед употреблением" запускаем из под root ssh с активизированным forward
ssh1 -C -L 540:127.0.0.1:540 193.232.173.6
.
&dDСистема печати в Unix. LP spoolling&d@
(описана система печати в System V)
Печатать, конечно, можно и так: cat file > /dev/lp. Но в
многопользовательской системе такой фокус не всегда пройдет.
Поэтому печатаемый файл ставят в очередь на печать.
Имеем принтер. У принтера есть
ИМЯ_ПРИНТЕРА - придумывается администратором.
ПОРТ_ПРИНТЕРА - специальный файл в который надо
выталкивать данные для печати.
ИНТЕРФЕЙСНАЯ_ПРОГРАММА - программа, которая как раз и
будет этим заниматься.
Если у нас нормально сконфигурена система печати, то
печататься можно так:
lp -d ИМЯ_ПРИНТЕРА file
или, если мы хотим напечатать на "default" принтере
cat file | lp
lpstat Посмотреть в каком состоянии очередь печати
cancel [идентификатор_запроса ...] [принтер ...]
Срубить запрос на печать
lp просто складывает файл в SPOOL КАТАЛОГ. ДЕМОН ПЕЧАТИ
lpsched обнаруживает вновь поступивший файл, ставит его в
очередь на печать, и, когда очередь доходит, запускает наконец
ИНТЕРФЕЙСНУЮ ПРОГРАММУ, вход которой берется из печатаемого
файла, а ее вывод перенаправляется на ПОРТ_ПРИНТЕРА.
&dDПодключить к системе новый принтер&d@
---------------------------------------------------------------
lpshut # на время реконфигурации надо "гасить" lpsched
lpadmin -pLJ_printer -i/usr/lib/lp/model/lj_print -v/dev/lpt2
или
lpadmin -pNash_Nowyj_Printer -mstandard -v/dev/contty
enable Nash_Nowyj_Printer
accept Nash_Nowyj_Printer
lpsched # после реконфигурации надо вновь запустить lpsched
---------------------------------------------------------------
accept - позволяет ставить в очередь печать на этом принтере
enable - разрешает печатать стоящие в очереди задания
ключи команды lpadmin
-pИмя_Нового_Принтера
-vПОРТ_ПРИНТЕРА
-iИНТЕРФЕЙСНАЯ_ПРОГРАММА - маршрутное имя программы,
которая печатает
-mМОДЕЛЬ_ПРОГРАММЫ - имя "модели" такой программы,
лежащей в каталоге
/usr/lib/lp/model
-o nobanner - разрешить userу писать lp -o nobanner
(рекомендую ампутировать banner в интерфейсном скрипте)
-d printer - сделать принтером по умолчанию
-?Удаленный_хост - можно подключать принтер удаленной машины
-?Имя_принтера_на_удаленном_хосте
(ключи не помню, посмотреть в man)
-s host!printer - для Solaris - подключение удаленного принтера
# перед этим вписать принтер в /etc/lp/Systems
Вместе с системой накопления вывода на принтеры
поставляются образцы интерфейсных программ. Они представляют
собой shell-процедуры, перекодирующими печатаемый файл в формат
соответствующего принтера.
&dDПримеры&d@
lpadmin -pstar1 -i/udd/print/inter -v/dev/xpit0 # локальный принтер
lpadmin -pstar1 -mdumb -v/dev/lpt1
&dDПодключить к системе удаленный принтер&d@
(ключи варьируются для разных версий Unix)
HP-UX:
lpadmin -pLJ_printer -?host -?printer
Solaris:
вписать удаленную машину в /etc/lp/Systems а затем
lpadmin -pLJ_printer -s 'host!printer' ; accept LJ_printer
lpadmin -dstar1 # Установить принтером по умолчани`
lpadmin -xstar1 # Ликвидировать принтер star1
&dDФайлы&d@
/usr/lib/lp/model # Образцы интерфейсных программ (модели)
/etc/lp # Каталог конфигурации системы LP
/var/spool/lp/* # Каталоги с очередями
man lpadmin # Естественно!
.
&dDГрафическая оболочка X-Windows System&d@
Для начала немного истории и общих мест. Представим, что
нам нужно написать программу, которая будет работать в
графическом режиме. Нам потребуется: опрашивать клавиатуру,
снимать события и координаты мыши, рисовать на экране, ... Как
это делалось на MS-DOSе? Очень просто. Пишем одну большую
программу, в ней - все: и логика, и обработка событий, и
слежение за перемещениями мыши, ну, а когда требуется что-то
нарисовать, мы даем команду на запись в порты EGA контроллера,
рисуем пиксел... Через год появляется контроллер VGA, еще через
год SVGA 800x600, 16 цветов, вслед за ним UVGA 1024x768, 256
цветов, затем XGA 1280x1024, 16Мб цветов...
&dDОсновная идея X Windows&d@.
Имеем две независимых программы. Одна умеет рисовать на
графическом мониторе, и вообще, обслуживать все это железо. Она
называется X-сервер. Вторая программа - называем ее клиент X
Windows, рисовать физически не умеет. Зато она знает, что
именно надо рисовать, и умеет командовать. Команды типа:
"нарисовать прямоугольник", "провести линию", "открыть окно",
"вывести символ в заданном фонте", "опросить координаты мыши",
и т.п. передаются X-серверу, а тот их исполняет - рисует.
Формат и спецификации этих команд опубликованы,
стандартизованы, и широко известны. Все вместе они называются
"Протокол X Windows".
Итак, повторим.
X-сервер. Программа, которая написана специально под
конкретное физическое устройство (имеется в виду - монитор,
графконтроллер, мышь и клавиатура), умеет на нем рисовать, и