This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
управление_сервисами [2009/07/02 15:22] val |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Управление сервисами ====== | ||
| - | |||
| - | ===== Добавление сервиса к системе ===== | ||
| - | |||
| - | - Инсталяция ПО (не требуется для базового ПО) | ||
| - | - Конфигурация ПО | ||
| - | - Конфигурация /etc/rc.conf | ||
| - | - Запуск ПО /etc/rc.d/сервис start | ||
| - | |||
| - | ===== Виды сервисов ===== | ||
| - | |||
| - | - Интерактивные - с регистрацией пользователей в системе (getty, telnetd, sshd, xdm) | ||
| - | - Не интерактивные (httpd, named, sendmail, ...) | ||
| - | - Служебные (devd, moused, ...) | ||
| - | |||
| - | ===== Регистрация пользователей в системе ===== | ||
| - | |||
| - | - Программа "привратник" (getty, telnetd, rsh, sshd, xdm) | ||
| - | - Программа аутентификации (login, ppp, pam модуль привратника) | ||
| - | - SHELL пользователя (sh, csh, window manager, ...) | ||
| - | |||
| - | ===== Привратник getty ===== | ||
| - | |||
| - | Изменения приглашения getty в терминалах | ||
| - | <code> | ||
| - | [hostX:~] # rcsdiff /etc/gettytab | ||
| - | diff -r1.1 /etc/gettytab | ||
| - | 39c39 | ||
| - | < :cb:ce:ck:lc:fd#1000:im=\r\n%s/%m (%h) (%t)\r\n\r\n:sp#1200:\ | ||
| - | --- | ||
| - | > :cb:ce:ck:lc:fd#1000:im=MS DOS 3.0\r\n\r\n:sp#1200:\ | ||
| - | </code> | ||
| - | |||
| - | Запуск getty на COM портах: | ||
| - | <code> | ||
| - | [hostX:~] # rcsdiff /etc/ttys | ||
| - | diff -r1.2 /etc/ttys | ||
| - | 46a47 | ||
| - | > cuad0 "/usr/libexec/getty std.9600" vt100 on secure | ||
| - | ... | ||
| - | [hostX:~] # kill -1 1 | ||
| - | </code> | ||
| - | |||
| - | подключение с другой системы: | ||
| - | <code> | ||
| - | [gY:~] # cu -l cuad0 | ||
| - | </code> | ||
| - | |||
| - | отключиться можно набрав: ~. или ~~. (в случае удаленного подключения) | ||
| - | |||
| - | ===== Привратники tenet и rsh ===== | ||
| - | |||
| - | ===== Супердемон inetd ===== | ||
| - | <code> | ||
| - | [hostX:~] # cd /etc | ||
| - | |||
| - | [hostX:/etc] # cat inetd.conf | ||
| - | ... | ||
| - | telnet stream tcp nowait root /usr/libexec/telnetd telnetd | ||
| - | shell stream tcp nowait root /usr/libexec/rshd rshd | ||
| - | ... | ||
| - | |||
| - | [hostX:/etc] # /etc/rc.d/inetd rcvar | ||
| - | |||
| - | [hostX:/etc] # cat >> rc.conf | ||
| - | inetd_enable="YES" | ||
| - | |||
| - | [hostX:/etc] # /etc/rc.d/inetd start | ||
| - | Starting inetd. | ||
| - | </code> | ||
| - | |||
| - | Использование inetd для разработки программ см. [[Использование SHELL и inetd]] | ||
| - | |||
| - | ==== rsh ==== | ||
| - | <code> | ||
| - | [hostX:~] # adduser | ||
| - | Username: uY | ||
| - | ... | ||
| - | |||
| - | [hostX:~] # telnet gY | ||
| - | User (root): uX | ||
| - | Password: | ||
| - | |||
| - | $ cat .rhosts | ||
| - | ... | ||
| - | hostX root | ||
| - | ... | ||
| - | |||
| - | $ exit | ||
| - | Connection closed by foreign host. | ||
| - | |||
| - | [hostX:~] # rsh -l uX gY "uname -a" | ||
| - | |||
| - | [hostX:~] # cat /etc/hosts | rsh -l uX gY "cat > hosts.bak" | ||
| - | |||
| - | [hostX:~] # rcp /etc/rc.conf uX@gY:rc.conf.bak | ||
| - | |||
| - | [hostX:~] # rcp uX@gY:/etc/rc.conf rc.conf.bak | ||
| - | |||
| - | [hostX:~] # cd / | ||
| - | [hostX:~] # tar -cf - etc/ | rsh -l uX gY "cat > etc.tar" | ||
| - | </code> | ||
| - | |||
| - | ===== Привратник ssh ===== | ||
| - | |||
| - | ==== Настройка и запуск ==== | ||
| - | |||
| - | Печать fingerprint публичного ключа | ||
| - | <code> | ||
| - | [hostX:~] # ssh-keygen -l -f /etc/ssh/ssh_host_dsa_key.pub | ||
| - | </code> | ||
| - | |||
| - | ==== Использование ==== | ||
| - | <code> | ||
| - | [hostX:~] # ssh -l uX gY "uname -a" | ||
| - | |||
| - | [hostX:~] # cat /etc/hosts | ssh -l uX gY "cat > hosts.bak" | ||
| - | |||
| - | [hostX:~] # scp /etc/rc.conf uX@gY:rc.conf.bak | ||
| - | |||
| - | [hostX:~] # scp uX@gY:/etc/rc.conf rc.conf.bak | ||
| - | |||
| - | [hostX:~] # cd / | ||
| - | [hostX:~] # tar -cf - etc/ | ssh -l uX gY "cat > etc.tar" | ||
| - | </code> | ||
| - | |||
| - | ==== Аутентификация по открытому ключу ==== | ||
| - | <code> | ||
| - | [hostX:~] # ssh-keygen | ||
| - | |||
| - | [hostX:~] # ssh uX@gY "mkdir .ssh" | ||
| - | [hostX:~] # cat .ssh/id_rsa.pub | ssh uX@gY "cat >> .ssh/authorized_keys" | ||
| - | </code> | ||
| - | |||
| - | ===== Программа аутентификации login ===== | ||
| - | |||
| - | Файлы конфигурации | ||
| - | * /etc/login.conf | ||
| - | * /etc/motd | ||
| - | * /etc/pam.d/login | ||
| - | * /etc/COPYRIGHT (надо создать) | ||
| - | |||
| - | Изменение класса регистрации | ||
| - | <code> | ||
| - | [hostX:~] # pw usermod root -L russian | ||
| - | </code> | ||
| - | см. [[Локализация консоли]] | ||
| - | |||
| - | ===== Служба devd ===== | ||
| - | ==== Использование shell и devd ==== | ||
| - | === Автомонтирование flash накопителя === | ||
| - | <code> | ||
| - | [hostX:~] # cd /etc | ||
| - | [hostX:/etc] # mkdir devd | ||
| - | [hostX:/etc] # cd devd | ||
| - | |||
| - | [hostX:/etc/devd] # cat my.conf | ||
| - | attach 30 { | ||
| - | device-name "umass0"; | ||
| - | action "sleep 3; /sbin/mount -t msdos /dev/da0s1 /mnt/"; | ||
| - | }; | ||
| - | </code> | ||