Руководство начинающего пользователя Linux. Версия 0.193 2002-12-14 by Stan, Peter and Marie Klimas. Главная | 0. Преимущества Linux | 1. Перед установкой | 2. Помощь | 3. Основы работы | 4.1. Способы загрузки 4.2. Накопители | 4.3. X Window System | 4.4. Конфигурации | 4.5. Работа в сети | 5. Команды | 6. Программы Часть 4.5: Работа в сети. Перевод - Константин Фирсов, Roman Kukushkin. [переведено полностью]. Содержание этой главы: 4.5.1 Стоит ли установка домашней сети затраченного времени? 4.5.2 Как установить домашнюю сеть? 4.5.3 У меня проблемы с конфигурированием удаленного соединения ppp 4.5.4 Как просмотреть сеть с моего сетевого компьютера без модема? 4.5.5 Как пользоваться Samba? 4.5.6 Sendmail 4.5.7 Простой WEB-сервер (используем Apache) 4.5.8 Простой ftp-сервер 4.5.9 Как получить доступ к моему компьютеру извне, когда я подключаюсь к сети через телефон? 4.5.10 Может ли мой компьютер быть взломан? 4.5.1 Стоит ли установка домашней сети затраченного времени?Это - замечательная идея. Это позволяет использовать имеющиеся машины более производительно, чем по отдельности. Преимущества - общие жесткие диски, zip-дисководы, CD-дисководы, модем, принтеры, даже звуковые карты, возможность исполнять программы удаленно (в текстовом и графическом режиме), и работать в Интернете на всех компьютерах через одно телефонное соединение. Если вы потеряли контроль над собственной машиной, вы еще можете перезагрузить ее удаленно и избежать возможных проблем -- смотрите ответ на вопрос "Отключение" для дополнительной информации. 4.5.2 Как установить домашнюю сеть?Железо. Ваша аппаратура должна быть сконфигурирована должным образом. Ваша сетевая карта должна распознаться при начальной установке Red Hat. Если вы добавите Вашу сетевую карту позже, есть шансы, что она распознается и будет автоматически сконфигурирована при следующей загрузке (с помощью программы kudzu). Если этого не произойдет, вам может потребоваться установить ее вручную. Если у вас больше одной сетевой карты в компьютере, вам может потребоваться устанавливать настройки сетевой карты вручную, поскольку Linux может распознать только одну сетевую карту. Под Linux большинство драйверов сетевых карт входят в дистрибутив в виде пакетов. Так что установка сетевой карты сводится к установке соответствующего пакета с необходимыми параметрами. Вам не придется ни перекомпилировать ядро, ни перегружать компьютер (за исключением того случая, если у вас совсем необычная карта). Чтобы разобраться, какие модули и параметры вам нужны, желательно обратиться к документации, поставляемой вместе с исходными текстами ядра: Есть много способов добавить модуль в ядро. Для сетевой карты, проще всего запустить, как "root", netconf и определить имя модуля там. Альтернатива состоит в запуске X-терминала, выполнении "su" (чтобы сделать себя "root"), и после этого нужно выполнить /usr/bin/kernelcfg. Например, моя карта WD8013 (то же что и SMC Elite и SMC Elite plus, упомянутые в nag) работают с IRQ 10 (установлено переключателем на карте и я опредилил это IRQ при установке модуля в ядро), под адресом 0x300, модуль "WD" . Моя карта "SMC EtherEZ" (без переключателя на карте) работает с IRQ 9, адрес 0x240 и модуль "SMC EtherEZ". Пожалуйста, убедитесь, что вы не забыли указать "0x" в адресе -- это означает "(шестнадцатерично-десятичный)hexadecimal" -- иначе адрес будет воспринят как десятичный. После того, как модуль добавлен, просмотрите файл /proc/modules, чтобы увидеть, что модуль действительно загружен (или выполните lsmod как "root"). Файл конфигурации модулей - /etc/modules.conf, так что, если вы испытываете трудности (например, я испытываю трудности с удалением модулей, установленных с ошибкой), отредактируйте его вручную (например, используя pico). Конфигурирование сети. После установки сетевых карт и кабелей, установите сеть, выполнив (как "root"): netconf Эта программа может помочь! Netconf может работать и в графическом режиме, но сам я не пробовал. Если вам требуется лучше понять работу сети, вы можете почитать ранее упомянутый nag. Кроме того, чтение следующих материалов можеет быть полезным: http://ieee.uow.edu.au/~mjp16/wylug-netlinux/notes.html. Когда установите сеть, не запутайтесь с "loopback driver", который имеет IP 127.0.0.1. Он всегда там -- это IP, через который компьютер разговаривает сам с собой. Если у вас нет IP-адреса (что весьма типично для небольшой сети без связи с внешним миром), вы можете захотеть сочинить его. Это не так важно, поскольку при соединении с внешним миром через модем вам будет присвоен динамический IP-адрес (у машины может быть много IP-адресов). Ваш изобретенный IP должен быть формально правильным и сетевая маска должна совпадать с классом сети(класс A, B or C). Смотрите главу об IP адресах в уже упоминавшемся Руководстве Сетевого Администратора (nag) (/usr/doc/LPD/nag в вышей системе, если у вас до сих пор его нет, скачайте по адресу http://metalab.unc.edu/mdw/index.html#guide. Для домашней сети, вам может подойти сеть класса C (до 254 машин, или меньше) IP-номер которой начинается с трех цифр между 192 и 223. Последние три цифры однозначно определяют компьютер в вашей сети класса C и должен быть между 1 и 254 (не используйте 0, это значит "вся сеть" и 255, что означает "широковещательный адрес"). Между этими двумя значениями(от 0 до 255) вы можете выбрать любое. Так, 223.223.223.1 - это первая машина в сети класса C 223.223.223.0 (последний 0 означает "вся сеть"), с широковещательным адресом 223.223.223.255. Сетевая маска для сети класса C всегда 255.255.255.0 (если ваша сеть не будет разделена на несколько подсетей, но это здесь не обсуждается). Обычно первая машина в сети предполагается для присоединения к внешнему миру (поскольку она присоединяется первой, но стандарта на этот счет нет). Например, я занял под шлюз (GATEWAY) адрес xxx.xxx.xxx.1 (моя первая машина) на всех машинах, кроме самой xxx.xxx.xxx.1, где я оставил это поле чистым. В действительности, несмотря на то, что я оставил это поле пустым, netconf добавил шлюз(gateway) 0.0.0.0 в мой файл /etc/sysconf . Это было источником досадных сообщений об ошибке в процессе загрузки сетевой карты при старте системы. Чтобы убрать сообщения, я редактировал /etc/sysconfig/network и установил их примерно так: GATEWAYDEV= [Вам не нужен шлюз(gateway) на вашем ethernet-интерфейсе на этой машине, если он не ведет к внешнему миру. PPP-интерфейс на этой первой машине должен быть установлен как шлюз(gateway), раз уж вы используете модемное соединение, например kppp.] Имя компьютера полностью произвольно -- обычно выбирается любое короткое слово на ваш вкус. Имя домена также произвольно, если у вас нет постоянного соединения, иначе вам придется регистрировать его. Постарайтесь изобрести что-нибудь, отсутствующее в сети -- это облегчит вам жизнь. Для DNS(domain name server - сервер имен доменов), называемого так же "named" = name daemon(сервис имен), RedHat 5.2 и 6.0 идут с DNS, предустановленным "Только для кэширования(caching-only)" для облегчения конфигурирования. Вы также можете выбрать "не использовать локальный DNS", поскольку если ваш локальный DNS ищет "внешний" сервер и не находит его, машина может зависнуть в течении нескольких минут. Для использования DNS, сервис "named" должен быть разрешен(enabled) -- проверьте это, выполнив setup. Для установки DNS "только для кэширования(caching-only)", заполните соответствуюшие поля netconf. Например, я заполнил "nameserver 1" для моей первой машины на всех компьютерах (Я ввел кольцевой (loopback) адрес 127.0.0.1 на машине xxx.xxx.xxx.1, и адрес xxx.xxx.xxx.1 на всех остальных машинах). Моей сети не требуются пути(routes) к другим сетям, поскольку у меня нет другой локальной сети. Поэтому я оставляю поле пустым. После правильной уствановки аппаратуры и заполнения информации в netconf на каждом компьютере, как описано выше, мне просто больше нечего делать в стандартном Red Hat для того, чтобы сеть заработала. Перезагрузите все компьютеры один за одним в любом порядке (это не обязательно, но не повредит) и посмотрите сообщения загрузки (если они прошли по экрану слишком быстро, используйте <Shift><PgUp> чтобы вернуть их, или запустите dmesg из командной строки, чтобы посмотреть их позже). Правильно ли установлены ваши сетевые карты? Используйте команду route (как "root"), чтобы увидеть, что интерфейс eth0 работает. Используйте команду ping для проверки соединений между машинами. Попробуйте войти на ваш компьютер, используя telnet, чтобы убедиться, что ваш кольцевой (loopback-only (lo)) интерфейс работает: telnet name_of_the_machine_you_are_sitting_at После удачного входа в систему, вы можете покинуть сессию telnet, напечатав exit Наконец, попробуйте войти через telnet на другой компьютер вашей сети: telnet name_of_a_remote_machine Если это сработало на всех машинах, то ваш сетевой интерфейс eth0 установлен. После установки ppp и подключения к Интернет-провайдеру, вы получите другой интерфейс (ppp0) и доступ к другим машинам всемирной сети. 4.5.3 >У меня проблемы с конфигурированием удаленного соединения pppGUI. На вашем месте я установил бы kde и использовал kppp. kppp весьма прост в конфигурировании и использовании. Чтобы установить удаленное соединение ppp, запустите kppp (Выбрав в "K"-меню "Internet", или из xterm напечатав kppp), нажмите клавишу "setup", создайте account и заполните необходимую информацию: номер телефона (telephone number), протокол аутентификации (authentication protocol), имя домена вашего провайдера (Internet Service Provider's (ISP)) и номер DNS вашего провайдера. Вся эта информация должна быть предоставлена вам вашим провайдером. Далее, я проверяю наличие /dev/modem и размещение его на правильном порте. Если необходимо, я создаю его, как символическую ссылку на /dev/ttyS1 (как "root"): ls -l /dev/modem ttyS1 должен работать, если ваш модем находится на порте, который DOS называет COM2. Используйте ttyS0 для COM1, ttyS2 для COM3 и ttyS3 для COM4. Модем не заработает, если порт выбран неправильно. Для нестандартных установок смотрите команду setserial. Со старыми версиями kppp, вы можете получить сообщение об ошибке "занято" ("lock"). Убедитесь что файл /etc/ppp/options пуст, отредактировав его (как "root"): pico /etc/ppp/options и удалив "lock", сохраняя файл. Этой проблемы нет в более современных версиях kppp. RedHat 6.0 требует дополнительного шага: установки "suid" ("(Идентификатора замещающего пользователя)substitute user id") чтобы "kppp" исполнялся всеми пользователями с эффективными правами "root" (это требуется для прямого обращения к аппаратуре). Без этого, kppp заявит что он "неправильно установлен (was not properly set up)" и "не может создать файл блокировки(can't create lock file)". Это делается так (как "root"): cd /usr/bin/ Решение проблем. Если ваш модем отказывается работать с портом, удостоверьтесь, что он выбран правильно. Может быть, модем настроен неправильно. (А вдруг это "winmodem"? Тогда выкиньте его подальше и купите настоящий модем). Если в вашей телефонной сети принят импульсный набор (а не тоновый), вам может потребоваться заменить команду дозвона "ATDT" (="ATtantion Dial Touchtone") на "ATDP" (="ATtantion Dial Pulse"). Эта команда сработает на любом стандартном модеме. Если дозвон прошел нормально и вы получили соединение(connect), но авторизация(вход в систему) провалилась, то, может быть, ваш провайдер использует другой протокол авторизации(autentification protocol). Позвоните ему и спросите, какой протокол авторизации он использует. Или попробуйте "pap", "terminal-based" или "chap" (в установках kppp), пока не найдете подходящий. В одном случае, я заполучил проблему с надежностью установления соединения (Выскакивало сообщение об ошибке, что-то вроде: "Время истекло для запуска pppd(time-out for the pppd startup)", и соединение устанавливалось не с первой попытки).Проблема была решена изменением параметра "flow control" (в установках kppp под "device") с "CRTSCTS" на XON/XOFF. (Несмотря на это, в большинстве случаев, flow control все равно является наиболее рекомендованным методом для CRTSCTS.) Если у вас все еще есть проблемы с установкой ppp, вы можете попробовать minicom чтобы увидеть, сможет ли ваш модем работать из-под него. Minicom - это нечто вроде PROCOMM для Linux. Он должен быть в вашей системе, если вы не отменили его выбор при начальной установке RedHat. Вот выдержка из группы новостей comp.os.linux.help, обьясняющая, как запустить ppp вручную, используя minicom (сокращено): From: mark <[email protected]> Subject: Re: Проблема с pppd и kppp Просто!! Но если ваш провайдер не поддерживает ручной авторизации(manual logon), вы будете в затруднении. Правда, все провайдеры, с которыми я имел дело, предоставляют такую возможность. Так что.. 1. Запустите minicom. 2. Соединитесь с провайдером(Dial ISP). 3. Представьтесь (log in). 4. После того, как ваш провайдер запустит PPP, покиньте minicom при помощи ALT-Q (эта последовательность нужна для того, чтобы 'покинуть без сброса (quit without reset)'). 5. Запустите pppd, например: pppd -d -detach /dev/modem 115200 & OK, PPP должен заработать. Попробуйте команду ping с любым известным вам IP-адресом. Это покажет, что все OK. Между прочим, все это есть в PPP-HOWTO. Если вы смогли добиться запуска PPP таким образом, тогда все ваши проблемы - в скрипте. Если PPP не работает, у вас проблемы с конфигурацией PPP. Будьте здоровы. Командная строка. Если вы предпочитаете запуск ppp из командной строки, используйте netconf (как "root") для конфигурирования вашего первого интерфейса ppp (ppp0). Информация, которую вам придется ввести, подобна той, что вы вводили при настройке kppp (смотри выше!): Устройство, соответствующее модемному порту, строки инициализации модема и дозвона, номер телефона провайдера, протокол авторизации (вводом имени пользователя и пароля в правое поле). В более старых версиях, netconf не отводит места для IP - адресов провайдера и сервера DNS, так что я редактировал /etc/ppp/pap-secrets (Я использую PAP-протокол авторизации) и добавлял два DNS IP адреса в конец установочной строки созданной netconf, чтобы это выглядело примерно так: # added by linuxconf Когда с установками закончено, я могу запустить интерфейс ppp0, используя команду (как "root", если в netconf не было указано, что нормальный пользователь может запустить интерфейс): ifup ppp0 и завершить его: ifdown ppp0 Установка ppp-соединения из командной строки не сложнее запуска kppp и более надежно. Есть много командных файлов для запуска/остановки ppp, но они, несомненно, не столь просты в установке и использовании, и новички могут получить с ними большое количество проблем. Неудачное соединение ppp может быть устранено с помощью (как "root"): Если эта минимальная установка ppp у вас не сработает, вот несколько полезных ссылок:
Bill Unruh < [email protected] > wrote: Я просто хотел обратить ваше внимание на: http://axion.physics.ubc.ca/ppp-linux.html для детальных инструкций по установке ppp. Это - для случаев, в которых удаленный пользователь (может быть без провайдера как вы оворили.) PAP или CHAP. Пока kppp полезно, но в ряде случаев он может провалиться. 4.5.4 Как просмотреть сеть с моего сетевого компьютера без модема?Другой компьютер вашей сети должен иметь модем (или другое Интернет-подключение) :-). Установите IP-маскарадинг. Таким образом, все запросы из вашей сети к провайдеру будут распознаваться им, как запросы от одного компьютера, и ваш провайдер их пропустит. /sbin/ipfwadm -F -p m Это устанавливает маскарадинг, как основную политику пересылки для IP-файервола, и следовательно, это небезопасно из-за возможных разрешений для домашних пользователей. (Опасность в том, что если кто-нибудь взломает ваш компьютер, то он сможет прикрыться вашим именем. И что бы он после не сделал, вы можете оказаться крайним. Хакер может так же установить в вашей системе обратный путь к себе, как "tunnel" назад, чтобы скрыть свою идентификацию от вас .) Для большей информации, смотрите файл /usr/doc/HOWTO/mini/IP-Masquerade. Более безопасный метод указан здесь: ipfwadm -F -p deny Это устанавливает основную политику в "запрет(deny)" и, в качестве исключения, маскирует две машины с IP-номерами 192.168.1.1 и 192.168.1.3. Это , кроме того, маскирует все машины из сети 192.168.2.0. Номер /32 установлен для соединения точка-к-точке(point-to-point) (это значит "машина-к-машине"), параметр /24 указывает на сеть класса C. Параметр -D 0.0.0.0/0 указывает основной путь по умолчанию, который замаскированные машины будут использовать для обращения к Internet. На REDHAT 6.0 имя команды ipfwadm-wrapper (вместо ipfwadm), и я должен был использовать более безопасный метод (установка маскарада в качестве основной политики похоже более не работала в моей системе). Кроме того, с более новыми ядрами (2.0.34 и позже) пересылка запрещена по умолчанию и должна быть включена: Если бы вам хотелось, чтобы эти команды всегда выполнялись в вашей системе, при старте добавьте эти строки в конец /etc/rc.d/rc.local. Этот файл чем-то похож на AUTOEXEC.BAT в DOS. И как всегда, рекомендуем просмотреть информацию об этих командах и других их параметрах: less /usr/doc/HOWTO/mini/IP-Masquerade 4.5.5 Как использовать Samba?Samba (smb) предназначена для сетевого обмена Linux-MS Windows. Эта программа маскирует компьютеры Linux под MS Windows NT server, что позволяет компьютерам с MS Windows 3.1/95/98 присоединяться к сети. Samba не просто заменяет WinNT -- она делает работу лучше, чем WinNT! Одна из машин моей домашней сети может быть загружена как в Linux, так и в Win95. Я сконфигурировал мою сеть так, что если я загружаю Win95, другая Linux машина действует как Samba-server. Таким образом, машины с Win95 могут работать с сетевым принтером и разделяемыми директориями Linux, могут использовать telnet, смотреть Internet через модем Linux-машины, etc. Кроме того, есть возможность просмотра файлов на машине Win95 с компьютеров Linux. Необходимо сконфигурировать Samba только на одной Linux-машине. Во-первых, я запустил setup как "root", выбрал "System Services" (RH6.0) или "ntsysv" (RH5.2) из меню, и убедился, что сервис "smb" разрешен. (Программа setup даст подсказку, если нажать F1. В случае, если вам захочется узнать для чего нужны остальные сервисы.) Если smb здесь не указан, то, может быть, вы не указали его при установке RedHat? Тогда вставьте RedHat CD в CDROM, смонтируйте CD, запустите установочную утилиту glint (RH5.2) или gnorpm (RH6.0) (как "root") и добавьте Samba в вашу систему. Во-вторых, конфигурируем Samba. Это сравнительно просто, поскольку конфигурация Samba содержится в одном, хорошо комментированном файле: /etc/smb.config . Минимальные установки содержат только имя сетевой группы. Заметьте, что если вы не заполнили параметр "host allow", все хосты будут разрешены, это может быть хорошо для домашней сети. Другие параметры /etc/smb.conf , поставленного на вашем RedHat CD, могут понадобиться для удовлетворения ваших особых нужд, но их не обязательно изменять для того, чтобы Windows-машины присоединялись к Samba-серверу. Проверьте, что параметры domain master = yes разрешены в /etc/smb.conf. Возможно это вам понадобится. Под RH6.0, вы можете выполнить основные настройки samba, используя (как "root"): netconf В третьих, конфигурируем MS Windows для работы в сети. Это происходит почти так же, как и при подключении к WinNT server. Убедитесь, что вы разрешили работу в сети ("client for Microsoft Network") и заполнили имя рабочей группы. При загрузке MS Windows, используйте имя и пароль пользователя Linux. Если это сработало, щелкните по ярлыку "Network Neighborhood"-- ваш сервер Linux должен быть указан там, и в нем будут все директории и принтеры, которые вы выбрали в /etc/smb.conf. Если вы не видите или не можете использовать директории, убедитесь, что создали их и разрешили чтение/запись для пользователей. MS Windows 95b и выше (95c, 98, и новые NTs) могут использовать шифрование паролей. Это может привести к ошибке аутентификации на машине Windows, и вам может потребоваться разрешить этот параметр в файле /etc/smb.conf: encrypt passwords = yes На сервере Linux, вы можете запускать, останавливать, перезагружать и проверять состояние Samba, используя команды (как "root"): samba start Вам потребуется перезапустить samba после изменений в файле /etc/smb.conf. Вы можете работать в Интернет из Windows, если вы присоединились к компьютеру с Linux через Samba и Linux-машина на данный момент присоединена к Internet. Для этого, IP-маскарад должен быть установлен на Linux-машине с модемом (рассмотрено здесь) и вы должны установить разрешение имен Samba через dns в /etc/smb.conf: dns proxy = yes и после этого сообщить Windows разрешение сервера dns, определив имя сервера Linux и IP адреса (в Панель управления(ControlPanel)-Сеть(Network)-TCP/IP). Вы так же можете монтировать удаленную директорию Windows к вашей файловой системе Linux. См. здесь. Здесь рассмотрены только самые минимальные установки Samba. Для получения более подробной информации: man samba; man smb.conf; man smbclient; man smbmount а также полезно изучить файл /etc/smb.conf . 4.5.6 SendmailSendmail - это стандартная в Internet система пересылки почты и стандартная система в RedHat Linux (Mandrake использует PostFix). Как пользователь, вы не используете sendmail непосредственно, потому что это - внутренний сервер, который управляет почтой на вашей машине в фоновом режиме для всех пользователей. Для чтения/посылки почты в текстовом режиме, вам, возможно, потребуется использовать pine или elm. (Выберите один и придерживайтесь его -- содержание двух раздельных почтовых ящиков может оказаться хлопотным). В KDE, вы можете выбрать для использования "mail client" (kmail), доступный из K-menu. Для связи с внешним миром через ppp, вам, возможно, захочется использовать почтовую программу, встроенную в Netscape, которая работает с почтовым ящиком, расположенным у провайдера (в обход почтового сервера на вашем локальном компьютере). Sendmail - очень мощная и гибкая программа, но также печально известная сложностью настройки и управления под конкретные нужды. К счастью, Red Hat (5.2 или 6.x) поставляется с sendmail, которая выходит за привычные рамки (накладывая ряд ограничений). В моей домашней системе (Red Hat с установками по умолчанию), я могу послать почту любому пользователю на той же машине (например, используя pine). Я могу послать письмо локально или в любую точку мира, как только соединюсь с провайдером через модем (если IP маскарад разрешен). Но когда я не соединен, почта сидит в очереди и ждет соединения с Интернет, даже если она предназначена для другого компьютера моей сети (слегка раздражает). Она будет послана только после соединения. (Это происходит потому, что sendmail пробует найти DNS, а это невозможно в моей системе -- RedHat DNS по умолчанию находится только в режиме кеширования). Если вам необходимо обойти это ограничение в RH6.x, вы можете использовать netconf (как "root") и установить, чтобы sendmail не использовал DNS совсем (Linuxconf, который поставляется с RH5.2, не дает такой возможности). Я вынужден использовать DNS. Под RedHat 6.x, вам также может потребоваться netconf для конфигурирования других параметров sendmail. Я ввел имя моего провайдера и имена моих сетевых машин в "систему доставки почты(mail deliver system)"-"рассылать хостам(relay to hosts)". Я также добавил имена моих домашних сетевых машин в "рассылать по именам(relay for by name)". Вы также должны быть осведомлены об ограничениях вашей простой установки, которые всплывут при отправлении почты из вашей домашней сети (например, используя pine), во внешний мир. Если вы изобрели IP адреса и ваш домен не зарегистрирован, то нет никаких шансов на получение ответа. Ваша исходящая почта содержит "ответный (reply)" адрес в форме: "[email protected]". Это НЕ хорошо, поскольку такого домена НЕТ, по данным любой DNS внешнего мира - следовательно, никакого ответа ждать не приходится. Чтобы преодолеть это, вы можете использовать Netscape mailer для связей с внешним миром. Netscape использует установки, введенные Вами в пункте "редактировать-установки(edit-preferences)" для непосредственной связи с почтовым ящиком на компьютере вашего провайдера (который имеет зарегистрированный адрес) и обходит ваш незарегистрированный-домашний-сетевой-адрес почтовой системы. Другая возможность состоит в указании правильного поля "ответный адрес (reply to)". Если это сделать в Netscape, вы можете настроить ваш NetscapeMail на использование локального Linux-компьютера как почтового сервера. Этот способ позволит посылать электронную почту с вашей NetscapeMail на компьютеры вашей домашней сети (а не только во "внешний мир"). Параметр "ответный адрес(reply-to)" также может быть установлен в настройках "почтового клиента (mail client)" KDE, если вы используете почтовую программу KDE. Кроме того, в "pine" вы можете указать ответный адрес в разделе "setup-configure", "customized-hdrs" например так: Reply-to: joe@joe_net.net где "joe@joe_net.net" ваш настоящий адрес электронной почты. 4.5.7 Простой Web-сервер (используем Apache)Установить простой web-сервер apache на RedHat 6.0 необычайно просто. Во-первых, я убедился в том, что apache rpm-пакет был установлен в процессе установки RedHat. Если нет - поместите RH CD в ваш CDROM, смонтируйте его, и установите пакет apache-*.rpm (вместо "*" имя содержит номер версии и платформу). Если я знаю, что я хочу установить, то сделать это - просто (как "root"): cd /mnt/cdrom/RedHat/RPMS Потом, я запускаю "setup" (как "root") и убеждаюсь, что демон(daemon) httpd (в "системных сервисах(system services)") размещен. [Демон (daemon) это программа, которая "сидит" в фоновом режиме и пробуждается, когда это необходимо. В случае с httpd, он проснется, когда кто-нибудь будет обращаться к вашему http-серверу.] Теперь httpd будет запускаться автоматически каждый раз, когда я запускаю компьютер. Кроме того, я могу запускать его вручную (как "root"): /etc/rc.d/init.d/httpd start и отключать, используя: /etc/rc.d/init.d/httpd stop Я проверил бы наличие директории /home/httpd (при отсутствии создал бы), и внутри нее поддиректории html--это "корневая директория (root directory)" для людей, обращающихся к моему компьютеру через Web ("их корневая директория" значит, что у них не будет возможности обратиться к директориям выше /home/httpd/html/ в вашей системе). По умолчанию, эта директория содержит несколько файлов html и руководство, которые программа установки apache размещает там. Так что теперь я мог бы обратиться к моему WEB-серверу из домашней сети. Например, я мог бы ввести в строку "Location" программы Netscape: http://my_http_server_name и прочитать руководство к Apache. Для того, чтобы наполнить мой сервер содержимым, я перемещаю файлы примеров от Apache куда-нибудь еще, и копирую мои html-файлы (которые я желаю опубликовать) в директорию /home/httpd/html/ (не забудьте включить файл index.html, он будет открыт первым, когда кто-нибудь обратится к вашему серверу). Конфигурационные файлы apache и журнал(log)-файлы располагаются в директории /etc/html/ ,где вы сможете просмотреть/настроить их. Журнал(log)-файлы могут быть просмотрены в "реальном времени", используя эту простую команду (как "root"): tail -f /etc/httpd/logs/access_log [Команда tail обычно выдает на экран конец ("хвост(tail)") текстового файла. С флагом "-f", "tail" сохраняет на экране хвост журнал-файла с учетом его роста -- очень удобно для просмотра того, кто в данный момент входит на ваш сервер.] Для графической установки сервера Apache, попробуйте (в X-терминале, как "root", если вы установили "Comanche" с вашего RedHat CD): comanche 4.5.8 Простой ftp-серверС моими более старыми дистрибутивами RedHat Linux (RH<7.1), установка ftp-сервера не могла быть проще -- он просто работал по умолчанию. Это потому, что ftp-сервис разрешен по умолчанию как один из стандартных сервисов (так же как и telnet или gopher), в файле /etc/inetd.conf. Здесь наиболее значимая часть моего файла /etc/inted.conf: ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a Вторая часть моих настроек ftp-сервера находится в файле /etc/passwd который определяет псевдо-пользователя ftp: ftp:*:14:50:FTP User:/home/ftp: Двоеточие ":" это разделитель полей. Первое поле - имя псевдопользователя "ftp", Звездочка "*" - второе поле - объявляет, что пароль отключен (никто не сможет войти с именем пользователя "ftp"), пользовательский идентификатор 14, идентификатор группы 50, "FTP User" это коментарий, домашняя директория /home/ftp, последнее поле осталось пустым (для "нормального" пользователя, это означает имя оболочки, назначенной по умолчанию). Поскольку эти установки уже произведены в моей системе для меня моим RedHat, кто-нибудь может войти через ftp на мой компьютер либо как пользователь (с вводом пароля и переходом в его домашнюю директорию), либо как "безымянный(anonymous)" с использованием электронного почтового адреса в качестве пароля. Любой пользователь в строке "location" своего Netscape может ввести что-то вроде: ftp://my_computer_name и автоматически подключиться (Netscape позаботится о вводе имени пользователя "anonymous" и адреса электронной почты как пароля). Анонимные пользователи ftp направляются в директорию /home/ftp , которая становится для них корневой (они не смогут работать с вышерасположенными директориями). Я располагаю файлы, которые я собираюсь предоставить пользователям в директории /home/ftp/pub . Директория /home/ftp/bin содержит команды, предназначенные для исполнения пользователями ftp. В моей системе это: compress, cpio, gzip, ls, sh, tar, zcat; все с правами "только для выполнения" (111). Директория /home/ftp/etc содержат файлы установок для обеспечения доступа (редактированные passwd, group, ld.so.cache). Директория /home/ftp/lib содержит библиотеки (Я думаю, эти библиотеки используются программами, к которым разрешен доступ анонимных пользователей). 4.5.9 Как получить доступ к моему компьютеру извне, когда я подключаюсь к сети через телефон??Довольно трудно, поскольку ваш IP-адрес выдается динамически Вашим провайдером из его пула IP-адресов, и, следовательно, ваш IP-адрес каждый раз разный. (Если, конечно, вы не заключили отдельного соглашения с Вашим провайдером). Для telnet, ftp или http из внешнего мира необходимо знать ваш текущий IP-адрес. Чтобы найти мой IP-адрес, я использую команду "interface configuration" которая, при выполнении без параметров, отображает информацию о всех активных сетевых интерфейсах, представленных на моей машине: /sbin/ifconfig На моей машине три параграфа информации : eth0 (Первый сетевой ethernet-интерфейс к компьютерам моей домашней сети), lo (интерфейс только-к-себе(loopback-only), с IP-адресом 127.0.0.1 должен быть представлен на каждой машине) и ppp0 (первый интефейс точка-к-точке(point-to-point protocol)). Мой текущий IP-адрес, назначенный мне моим провайдером, отображается поз заголовком ppp0. (Ваша Linux-машина может иметь несколько IP адресов в один момент времени, так если у вас "статический" IP-адрес который вы используете в домашней сети, это совершенно верно, но видно лишь в вашей домашней сети.) Раз я знаю IP-адрес, я могу послать его через ICQ или e-mail друзьям, которые могут в этом случае, например, получить вход через telnet или ftp на мой компьютер (если у них есть учетная запись на моей машине) и выполнить программу на моей linux-машине, или ввести http://my_ip_address в строку "location" своего браузера, чтобы мосмотреть мои домашние странички, и т.д. Если у моих друзей есть Xwindows на их локальной машине, они могут так же исполнять графические программы на моем сервере, направив вывод на свой компьютер. #!/bin/bash Первая строка сообщает моему компьютреру, что этот командный файл надо интерпретировать как файл скрипта оболочки bash. Вторая строка заставляет компьютер ждать 15 секунд (просто чтобы убедиться, что электронная почта не будет послана до тех пор, пока соединение не будет установлено). Третья строка выполняет команду ifconfig и передает ее вывод на вход программы mail, которая посылает его на my_email_address c темой сообщения "предупреждение(notification)". Более гибкий путь состоит в том, чтобы сконфигурировать его как dial-up-ppp-сервер (в противоположность dial-in-клиенту, который вы используете для подключения к вашему провайдеру). Если у вас есть простой способ для того, чтобы сделать это - пожалуйста, напишите. 4.5.10 Может ли мой домашний компьютер быть взломан?К сожалению, это весьма возможно и весьма просто. Каждый раз, когда вы присоединяетесь к провайдеру, вы рискуете. В предыдующем вопросе вы можете узнать, как это происходит. Естественно, риск выше, если соединение постоянное (например кабельный модем), и ниже, когда соединения кратковременны (как обычно происходит при соединении через модем). Реальную опасность представляет непрошенный гость, если он сможет войти в систему, используя любую учетную запись, которую сможет подобрать (или выведать) - и получить права "root". Обычно это возможно, если вы действительно администратор - новичок и/или ваша машина не ориентирована на настоящую безопасность (вы же дома, не так ли -- зачем думать о безопасности!). Чтобы защитить себя, вы не должны позволить посторонним вломиться на ваш компьютер. Используйте длинные и сложные пароли для ВСЕХ учетных записей на вашем компьютере. Меняйте пароли регулярно. Для того чтобы навязать всем пользователям вашего компьютера правильную политику в отношении паролей, выполните (как "root", например в RH6.0) linuxconf и под "политики паролей и учетных записей(password and account policies)" измените минимальную длину пароля на 6 или более знаков, минимальное количество не-буквенных знаков на 1 или 2, количество дней, после которых пароль должен быть сменен, на что-то вроде 90 или менее, и установите предупреждение об устарении пароля на 7 дней перед устарением. Остальную информацию о паролях смотрите здесь (FAQ2.htm#pass_security). Абсолютно НИКОГДА не создавайте учетных записей без пароля или со слабыми паролями. Не работайте на своем компьютере, как "root" -- если вы выполняете программу с "дырами в безопасности" как "root", кто-то может найти возможность взломать ваш компьютер. Старые Linux-дистрибутивы имели известные дыры в безопасности, так что используйте более новые версии, особенно если вашим компьютером могут воспользоваться ненадежные люди, или если ваш компьютер выполняет серверные функции (например, ftp или http сервер). Кроме того, совсем неплохая идея - регулярно просматривать все файлы, в которых фиксируются все входы пользователей в систему: /var/log/secure (самый последний log) /var/log/secure.1 (более старый) /var/log/secure.2 (еще более старый), и т.д. Кроме того, полезны log-файлы в директории /var/log. Проверяйте их время от времени. Наиболее распространенные "предупреждения(warning)" относятся к сканированию портов вашего компьютера - повторяющиеся попытки входа с какого-то IP-адреса на ваш telnet, ftp, finger или другой порт. Это значит, что кто-то хочет узнать больше о вашем компьютере. Если вы не используете удаленного соединения с вашей машиной, есть прекрасная идея ограничить права на использование сетевых сервисов "со стороны сервера" (все сетевые сервисы перечислены в файле /etc/inetd.conf) машинами вашей домашней сети. Доступ контролируется двумя файлами: /etc/hosts.allow и /etc/hosts.deny. Эти файлы контроля за доступом работают следующим образом. Когда кто-то извне запрашивает соединение, файл /etc/host.allow сканируется первым и если одно из имен, содержащихся в нем и имя компьютера, запрашивающего соединение совпадают, доступ разрешен (независимо от содержимого файла /etc/host.deny ). Иначе, сканируется файл /etc/host.deny, и если имя машины, с которой запрашивается соединение совпадает с одним из имен в файле, соединение закрывается. Если совпадения не найдены, разрешение предоставляется.
Переход к части: 5 - Команды и сокращения Linux |