Next Previous Contents

6. gettys & inittab

getty используется для наблюдения за состоянием последовательной линии, и при поступлении звонка он передает звонящего соответствующей программе. Есть два getty, коотрые очень хорошо работают с ifmail - getty_ps и mgetty+sendfax-0.98. Я использую mgetty+sendfax, так как он работает и с uucp, и с fido звонками.

Чтобы использовать mgetty вам нужно отредактировать его несколько конфигурационных файлов, но из них только один самый важный - это файл login-config.dist . Вот мой файл /etc/mgetty-0.98/login-config.dist :

 
 # login.config
 #
 # This is a sample "login dispatcher" configuration file for mgetty
 #
 # Format:
 #      username userid utmp_entry login_program [arguments]
 #
 # Meaning:
 #       for a "username" entered at mgettys login: prompt, call
 #      "login_program" with [arguments], with the uid set to "userid",
 #      and a USER_PROCESS utmp entry with ut_user = "utmp_entry"
 #
 # username may be prefixed / suffixed by "*" (wildcard)
 #
 # userid is a valid user name from /etc/passwd, или "-" to not set
 #  a login user id и keep the uid/euid root (needed for /bin/login)
 #
 # utmp_entry is what will appear in the "who" listing. Use "-" to not
 #  set an utmp entry (a must for /bin/login), use "@" to set it to the
 #  username entered. Maximum length is 8 characters.
 #
 # login_program is the program that will be exec()ed, with the arguments
 #  passed in [arguments]. A "@" in the arguments will be replaced with the
 #  username entered. Warning: if no "@" is given, the login_program has
 #  no way to know what user name the user entered.
 #
 #
 # SAMPLES:
 # Use this one with my Taylor-UUCP patch (taylor104.p1) и Taylor-UUCP
 #  passwd files. (Big advantage: tuucp can use the same passwd file for
 #  serial dial-in и tcp dial-in [uucico running as in.uucpd]).
 #
 #U*    uucp    @       /usr/lib/uucp/uucico -L @
 #
 # If you use Taylor UUCP 1.05, use that:
 #
 U*     uucp    @       /usr/lib/uucp/uucico -l -u @
 #
 # Use this one for fido calls (login name /FIDO/ is handled specially)
 #
 # You need Eugene Crosser's "ifmail" package for this to work.
 # mgetty has to be compiled with "-DFIDO" in the options list, otherwise a 
 # fido call won't  be detected.
 #
 /FIDO/ fnet    uucp    /usr/lib/ifmail/ifcico @
 #
 #
 # An example where no login name in the argument list is desired:
 #  automatically telnetting to machine "smarty" for a given login name
 #
 #telnet-smarty gast    telnet  /usr/bin/telnet -8 smarty
 #
 # This is the "standard" behaviour - *dont* set a userid или utmp
 #  entry here, otherwise /bin/login will fail!
 #  This entry isn't really necessary: if it's missing, the built-in
 #  default will do exactly this.
 #
 *      -       -       /bin/login @

Если вы используете getty_ps, не забудьте добавить #define FIDO в tune.h. Вам также надо будет определить конфигурационный файл для ttyS устройства, которое вы используете. Примеры есть в /etc/default для uugetty и в архиве. Вот мой /etc/default/uugetty.ttyS1:

 
 ALTLOCK=cua1
 ALTLINE=cua1
 INITLINE=cua1
 TIMEOUT=60
 DEBUG=110
 INIT="" ATZS0=1\r OK
 
 # Its very important to include these two lines. Otherwise fido callers
 # will go undetected. Also some older versions of uugetty are case sensitive
 # so watch for this in the example configs that accompanied your archive.  
 FIDO=/usr/lib/ifmail/ifcico 
 EMSI=yes
 
 WAITFOR=RING
 CONNECT="" ATA\r CONNECT
 DELAY=1
 HANGUP=yes
Далее вам нужно добавить строку в ваш /etc/inittab для вашего getty. Вот мой /etc/inittab :
 
 # Serial lines
 # This is my mgetty line for com port 2 .
 S1:35:respawn:/usr/sbin/mgetty -D -s 38400 ttyS1 
 #
 # You can add this line instead to your inittab if your using uugetty 
 #S1:35:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS1 -t 180 ttyS1 38400
Первое поле определяет устройство. Вторая runlevel`ы, для которых действительны значения остальных полей. Третье поле 'respawn:' перезапускает программы, если она завершит свою работу. Четвертое поле - путь и имя программы для запуска и параметры, нужные для запуска getty. Более подробно описано в 'man inittab'.


Next Previous Contents
Используются технологии uCoz