This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
управление_сервисами [2009/05/20 15:27] 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> | ||
- | [gX:~] # 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> | ||
- | [gX:~] # rcsdiff /etc/ttys | ||
- | diff -r1.2 /etc/ttys | ||
- | 46a47 | ||
- | > cuad0 "/usr/libexec/getty std.9600" vt100 on secure | ||
- | ... | ||
- | [gX:~] # kill -1 1 | ||
- | </code> | ||
- | |||
- | подключение с другой системы: | ||
- | <code> | ||
- | [gY:~] # cu -l cuad0 | ||
- | </code> | ||
- | |||
- | отключиться можно набрав: ~. или ~~. (в случае удаленного подключения) | ||
- | |||
- | ===== Привратники tenet и rsh ===== | ||
- | |||
- | ===== Супердемон inetd ===== | ||
- | <code> | ||
- | [gX:~] # cd /etc | ||
- | |||
- | [gX:/etc] # cat inetd.conf | ||
- | ... | ||
- | telnet stream tcp nowait root /usr/libexec/telnetd telnetd | ||
- | shell stream tcp nowait root /usr/libexec/rshd rshd | ||
- | ... | ||
- | |||
- | [gX:/etc] # /etc/rc.d/inetd rcvar | ||
- | |||
- | [gX:/etc] # cat >> rc.conf | ||
- | inetd_enable="YES" | ||
- | |||
- | [gX:/etc] # /etc/rc.d/inetd start | ||
- | Starting inetd. | ||
- | </code> | ||
- | |||
- | Использование inetd для разработки программ см. [[Использование SHELL и inetd]] | ||
- | |||
- | ==== rsh ==== | ||
- | <code> | ||
- | [gX:~] # adduser | ||
- | Username: uY | ||
- | ... | ||
- | |||
- | [gX:~] # telnet gY | ||
- | User (root): uX | ||
- | Password: | ||
- | |||
- | $ cat .rhosts | ||
- | ... | ||
- | gX root | ||
- | ... | ||
- | |||
- | $ exit | ||
- | Connection closed by foreign host. | ||
- | |||
- | [gX:~] # rsh -l uX gY "uname -a" | ||
- | |||
- | [gX:~] # cat /etc/hosts | rsh -l uX gY "cat > hosts.bak" | ||
- | |||
- | [gX:~] # rcp /etc/rc.conf uX@gY:rc.conf.bak | ||
- | |||
- | [gX:~] # rcp uX@gY:/etc/rc.conf rc.conf.bak | ||
- | |||
- | [gX:~] # cd / | ||
- | [gX:~] # tar -cf - etc/ | rsh -l uX gY "cat > etc.tar" | ||
- | </code> | ||
- | |||
- | ===== Привратник ssh ===== | ||
- | |||
- | ==== Настройка и запуск ==== | ||
- | |||
- | Печать fingerprint публичного ключа | ||
- | <code> | ||
- | [gX:~] # ssh-keygen -l -f /etc/ssh/ssh_host_dsa_key.pub | ||
- | </code> | ||
- | |||
- | ==== Использование ==== | ||
- | <code> | ||
- | [gX:~] # ssh -l uX gY "uname -a" | ||
- | |||
- | [gX:~] # cat /etc/hosts | ssh -l uX gY "cat > hosts.bak" | ||
- | |||
- | [gX:~] # scp /etc/rc.conf uX@gY:rc.conf.bak | ||
- | |||
- | [gX:~] # scp uX@gY:/etc/rc.conf rc.conf.bak | ||
- | |||
- | [gX:~] # cd / | ||
- | [gX:~] # tar -cf - etc/ | ssh -l uX gY "cat > etc.tar" | ||
- | </code> | ||
- | |||
- | ==== Аутентификация по открытому ключу ==== | ||
- | <code> | ||
- | [gX:~] # ssh-keygen | ||
- | |||
- | [gX:~] # ssh uX@gY "mkdir .ssh" | ||
- | [gX:~] # 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> | ||
- | [gX:~] # pw usermod root -L russian | ||
- | </code> | ||
- | см. [[Локализация консоли]] | ||
- | |||
- | ===== Служба devd ===== | ||
- | ==== Использование shell и devd ==== | ||
- | === Автомонтирование flash накопителя === | ||
- | <code> | ||
- | [gX:~] # cd /etc | ||
- | [gX:/etc] # mkdir devd | ||
- | [gX:/etc] # cd devd | ||
- | |||
- | [gX:/etc/devd] # cat my.conf | ||
- | attach 30 { | ||
- | device-name "umass0"; | ||
- | action "sleep 3; /sbin/mount -t msdos /dev/da0s1 /mnt/"; | ||
- | }; | ||
- | </code> | ||