Авторизация пользователей Internet с TACACS
У меня на работе TACACS используется для аутенфикации dial-up Internet пользователей (которые соединяются с нашим модемным пулом, который связан с двумя Cisco 250x access servers), мы используем Vikas версию “ xtacacsd”.
После компиляции и установке пакета Vikas (последние версии доступны на
ftp://ftp.navya.com/pub/vikas; насколько мне известно, пакет недоступен в формате RPM), вы должны добавить такие записи в файл ``/etc/inetd.conf'', чтобы daemon был загружен inetd всякий раз, когда получен запрос TACACS.
# TACACS is a user authentication protocol used for Cisco Router products. tacacs dgram udp wait root /etc/xtacacsd xtacacsd -c /etc/xtacacsd-conf |
Теперь надо поправить файл ``
/etc/xtacacsd-conf'' и настроить его для ваших задач.
Замечание: Если используется затенение паролей (подробности см. в разделе Пароли в Linux & формат файла Shadow
главы 6 ), Вы будете иметь некоторые проблемы с этим пакетом. К сожалению, PAM (Pluggable Authentication Module), используемые в Red Hat для аутенфикации юзверей, не поддерживаются этим пакетом. Один способ обхода проблемы в том, чтобы хранить отдельный файл ``passwd'' в каталоге ``/usr/local/xtacacs/etc/'', который соответствует тому, который лежит в /etc, но не затенен. Конечно, такое решение дает неплохую дыру в защите, так что проследите, чтобы второй файл паролей мог читать только root: |
chmod a-wr,u+r /usr/local/xtacacs/etc/passwd |
Если Вы используете затенение, Вам придется указать в файле ``/etc/xtacacsd-conf'' расположение незатененного файла паролей (конечно, если используется описанный выше метод).
Дальше надо настроить Ваш access server(s) для входов с желательных устройств (например, dial-up модемов) с аутенфикацией по TACACS. Пример:
mail:/tftpboot# telnet xyzrouter
Escape character is '^]'. User Access Verification Password: **** xyzrouter> enable Password: **** xyzrouter# config terminal Enter configuration commands, one per line. End with CNTL/Z. xyzrouter(config)# tacacs-server attempts 3 xyzrouter(config)# tacacs-server authenticate connections xyzrouter(config)# tacacs-server extended xyzrouter(config)# tacacs-server host 123.12.41.41 xyzrouter(config)# tacacs-server notify connections xyzrouter(config)# tacacs-server notify enable xyzrouter(config)# tacacs-server notify logouts xyzrouter(config)# tacacs-server notify slip xyzrouter(config)# line 2 10 xyzrouter(config-line)# login tacacs xyzrouter(config-line)# exit xyzrouter(config)# exit xyzrouter# write Building configuration... [OK] xyzrouter# exit Connection closed by foreign host. |
Все сообщения о регистрации по TACACS будут сохранены в ``/var/log/messages''.
Назад | Оглавление | Вперед | ||
Domain Name Server (DNS) Configuration and Administration | Локальное оглавление | Windows-style File and Print Services with Samba |
Booting Linux Installation Program
Чтобы начать установку новой Red Hat, загрузитесь с CD или вставьте дискету установки в дисковод A: системы, и перезагрузитесь с нее. Через некоторое время появится программа установки.
В большинстве случаев, Вы можете просто нажать
<Enter>, чтобы начать процесс установки, но если Вы опытный пользователь, который знает точно, как аппаратные устройства должны быть установлены, Вы можете ввести ``expert'' для предоставления дополнительной информации и возмоностей. (Если Вы ничего не сделаете, процедура установки загрузится через 10 или 15 секунд.)
Затем Вас попросят выбрать Ваш язык (обычно “
English”) и тип клавиатуры (даже в Канаде, я выбираю “US 101-key”) и то, откуда Вы будете ставить систему (с CD-ROM или по сети). Red Hat очень гибка в том, откуда моно ставить систему.
Наиболее вероятно Вы выберете ``Local CDROM'' чтобы установить с Red Hat CD-ROM (который должен быть вставлен в Ваш CD-ROM). Однако, если ваша система не оборудована устройством CD-ROM, имеется ряд других методов установки, которые Вы можете выбирать.
Если Вы имеете другую Linux систему (или любую другую операционную систему, которая поддерживает NFS), Вы можете использовать ``NFS'' чтобы установить по NFS. Чтобы сделать это, вы должны иметь CD-ROM в другой системе (или иметь дерево дистрибутива Red Hat где-нибудь на другой системе, возможно, загрузить все через FTP и затем устанавливать с жесткого диска другой системы. Удостоверитесь, что Вы имеете запись в файле /etc/exports, позволяющую новой системе доступ к соответствующему каталогу (см. раздел Сервисы Network File System (NFS) в главе 7), и затем введите соответствующие детали. Например:
Вставьте Red Hat CD в другую систему (предположим, ее имя ``spock'').
Смонтируйте CD:
mount /dev/cdrom /mnt/cdrom -t iso9660 |
Как root поправьте файл ``
/etc/exports'', и внесите в него запись:
/mnt/cdrom newsys.mydomain.name(ro) |
Данная запись разрешает новой системе newsys.mydomain.name доступ только для чтения к каталогу ``
/mnt/cdrom/'' и всем его подкаталогам.
Если новая система еще не имеет доменного имени, укажите ее IP-адрес:
/mnt/cdrom 10.23.14.8(ro) |
Теперь введите как суперпользователь:
killall -HUP rpc.nfsd; killall -HUP rpc.mountd |
Теперь на новой системе выберите ``NFS'' в качестве источника инсталляции. Вас спросят о сетевой карте и параметрах IP. Вы вероятно используете статические IP, если ваша система работает в LAN или DHCP связана с кабельным модемом. Введите параметры для новой системы.
Теперь Вас спросят про имя сервера NFS и каталог Red Hat. В нашем примере надо ввести ``spock'' как имя сервера NFS и ``/mnt/cdrom/'' как имя каталога Red Hat.
Имеются другие пути установки Red Hat, например, использование Samba (Windows-сеть), с существующего раздела (например, раздела DOS или Windows 95) на вашем жестком диске, или через FTP. Подробности в Red Hat users guide.
После выбора того, откуда ставить систему, Red Hat спросит Вас что Вы делаете: “Install” или “ Upgrade”. При установке новой системы надо выбрать “Install”.
Программа установки спросит, имеете ли Вы адаптер SCSI. Если да, Вам предложат выбрать соответствующий драйвер. В некоторых обстоятельствах, Red Hat способна обнаружить адаптер автоматически.
Затем, вас будут спрашивать создать ли файловые системы (то есть, разделы для Linux). Есть две утилиты для их создания, включая Red Hat “Disk Druid” и обычный Linux “fdisk”.
Оба инструментальных средства подобны в функциях, позволяя Вам определить тип раздела и размеры. Однако, Disk Druid, кажется, немного больше дружественным, и немного более полный чем fdisk. Если Вы использовали fdisk для создания разделов, вы будете иметь дело с Disk Druid для определения точек монтирования.
Следующий раздел подробно опишет как и почему нужно создать разделы.
Назад | Оглавление | Вперед |
Installation and Hardware Configuration | Локальное оглавление | Partitioning Hard Drive(s) |
By Steve Frampton,
Руководство “Linux Administration Made Easy” (LAME) рассматривает наиболее частые задачи и проблемы администрирования Linux. Является частью Linux Documentation Project.
Оглавление
1. Предисловие
Благодарности
Информация о авторских правах
Просьба о помощи
2. Введение
Обзор
Выбор дистрибутива Linux
3. Обзор Linux
Что такое Linux?
Разрушение мифов
Перспективы одного пользователя
4. Установка и настройка оборудования
Создание установочных дискет
Загрузка программы установки Linux
Разделение на разделы жесткого диска
Установка свопа
Выбор разделов для форматирования
Выбор пакетов для установки
Настройка оборудования
Загрузка с LILO
Мультизагрузка с другими OS
Скачивание и установка обновлений для Red Hat
5. Настройка X Window System
Настройка X Window System с помощью X-Configurator
Использование X Desktop Manager
Настройка шрифтов под X
Выбор Window Manager для X
Установка и настройка GNOME
Установка и настройка KDE
6. Общие задачи и проблемы системного администрирования
Логин Root
Создание пользователей
Изменение паролей пользователей
Выключение пользователей
Удаление пользоватеей
Пароли в Linux & формат файла Shadow
Выключение и перезапуск системы
7. Тонкая настройка системы
Администрирование Web-сервера и HTTP Proxy
Настройка и администрирование Domain Name Server (DNS)
Авторизация пользователей Internet с TACACS
Файловый сервис и печать через Samba
Файловый сервис и печать через Netatalk
Сервисы Network File System (NFS)
Настройка от A до Z программой Linuxconf
8. Резервирование и восстановление
Резервирование сервера
Резервирование программой ``tar'':
Резервирование программой ``KDat'':
Восстановление сервера
Восстановление программой ``tar'':
Восстановление программой ``KDat'':
Резервирование настроек роутера Cisco
9. Различные задачи администрирования
Проверка места на дисках
Управление процессами
Запуск и завершение процессов
Планирование процессов: Cron и файлы Crontab
10. Обновление Linux и других приложений
Использование Red Hat Package Manager (RPM)
Установка и обновление без RPM
Стратегии обновления и поддержки системы
Обновление ядра Linux
Обновление Red Hat Stock Kernel
Построение специального ядра
Переход к ядрам Linux 2.2.x
Настройка Apache Web Server
Настройка Squid HTTP Caching Proxy
Настройка Sendmail
11. Крупные системы и Linux
Улучшаем производительность
Высокая надежность и RAID
Проблемы расширения и переноса сервера
12. Стратегия безопасности сервера
13. Получение помощи
Установка Linux на нестандартном оборудовании
Повреждение файловой системы после отключения питания или система рухнула
Где искать помощь
Указатели на дополнительную документацию
Вперед | ||
Preface |
Что такое Linux?
Linux 32-битная оерационная система, работоспособная на многих платформах, в том числе: Intel, Sparc, Alpha и Power-PC (на таких системах, как Alpha, Linux реально 64-битная). Идут работы по переносу ее на другие платформы.
Linux свободно распространяемая версия UNIX, первоначально была разработана Линусом Торвальдсом (Linus Torvalds, torvalds@kruuna.helsinki.fi) в Университете Хельсинки (Финляндия) в 1990 году в качестве альтернативы 286 Minix (маленькой unix-подобной системе).
В конечном счете он объявил, свой небольшой проект в USENET-группе comp.os.minix, и пригласил всех желающих посмотреть и, возможно, поспособствовать проекту. Результаты были феноменальны!
Linux полностью свободна! Linus решил использовать GNU Copyleft license фонда Free Software, которая означает, что хотя код защищен авторским правом, но он должен всегда быть доступен.
Свободный значит свободный: Вы можете спокойно копировать и распространять систему как хотите. Ее можно также продать в виде дистрибутива. Причем, продается не система (она бесплатна!), а дистрибутив, то есть Вы берете деньги за его создание, изготовление, поддержку и т.д. Например, фирма Red Hat упаковала в дистрибутив стандартное ядро Linux, кучу утилит от GNU и множество других программ. Дистрибутив можно купить, а можно и бесплатно скачать из интернета. Наиболее популярны дистрибутивы Slackware, Red Hat, SuSe и Debian. Поскольку исходные тексты доступны, программист может адаптировать систему к своим потребностям.
Linux может и должна рассматриваться как полная реализация unix. Но она не может называться “Unix”; не из-за несовместимости или недостаточной функциональности, а из-за того, что слово “Unix” является торговой маркой AT&T и может использоваться только по лицензии.
Linux ничем не уступает любой другой ОС. Но из-за изначальной философии ее разработки, а также того, что ее никто не рекламирует, есть несколько мифов про нее.
Назад | Оглавление | Вперед |
Choosing a Linux Distribution | Breaking the Myths |
Copyright Information and Legal Disclaimers
Замечание переводчика: Поскольку приводимая ниже информация об авторских правах является юридическим документом, а я не силен в юриспруденции, привожу ее без перевода, дабы не напутать что-либо юридическое по незнанию. Данный документ переведен на русский язык Алексеем Паутовым в 2000 году. Новые версии (если таковые будут) ищите на страничке Russian LDP
http://www.botik.ru/rldp.
Copyright © 1997-1999 by Steve Frampton. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v0.4 or later (the latest version is presently available at
http://www.opencontent.org/openpub/).
I've written this documentation and am providing it free to the Linux community as a public-service. I have made every attempt to ensure that the information contained herein is timely, accurate, and helpful, but in no way will I be held liable for any damage(s) caused directly or indirectly by any misinformation contained herein.
I will not appreciate being flamed for any errors or omissions. However, if you notice a glaring inaccuracy, or have suggestions for further improvement, please, let me know. However, please check the version number and date of this document (see the table of contents) to ensure you are looking at the most recent version. If this document is more than three months old, please check the Linux Documentation Project home page at
http://metalab.unc.edu/LDP/ in case a newer version is available.
This document, currently, should be considered moderate-beta. I began writing it in 1997, and continue to update it as time permits. Development in the Open Source community continues at a rapid pace, and at times it is a challenge to keep this document up to date. As such, this document may have one or more sections which contain obsolete information.
In short, I make no guarantees for any of this information to be correct. If it helps you out, that's great!
Назад | Оглавление | Вперед |
Preface | Локальное оглавление | A Plea for Help |
Файловый сервис и печать через Netatalk
Linux может также обеспечивать сервисы Appleshare (файловый сервис и печать для Macintosh), используя пакет Netatalk. Этот раздел описывает, как конфигурировать совместно используемые ресурсы и как обратиться к ним с машин пользователей.
Чтобы использовать Netatalk Вы должны иметь поддержку работы с сетями Appletalk в ядре Linux. Ядра Red Hat обычно уже включают эту поддержку как модуль, или Вы можете скомпилировать собственное ядро с такой поддержкой.
Замечание: Удостоверьтесь, что поддержка Appletalk компилируется как модуль, а не включена как часть ядра (подробности в разделе Обновление ядра Linux главы 10). Иначе Вы будете иметь трудности при остановке и перезапуске Netatalk daemon. |
Если поддержка Appletalk добавлена в ядро, надо поставить пакет Netatalk. Поскольку Netatalk не входит в дистрибутив Red Hat, его надо скачать с
ftp://ftp.redhat.com/contrib/libc6/i386/.
После установки Netatalk надо его настроить. Настройки хранятся в файлах в ``/etc/atalk/''. Большинство файлов содержит типовые примеры конфигурации, и следовательно по крайней мере частично самодокументируется. Файлы:
config
Этот файл содержит информацию конфигурации для настройки вашего Netatalk daemon. Эта информация определена в системных переменных, и этот файл читается скриптом запуска Netatalk перед запуском сервиса. Вы можете определять число одновременных подключений, разрешен или нет гостевой вход в систему и т.д.
atalk.conf
Этот файл содержит информацию, относительно сети: маршрутизация Appletalk, регистрационное имя и т.п. Вы не должны изменять этот файл; требуемая сетевая информация обнаружена и добавлена к этому файлу, когда Вы запускаете сервер Netatalk в первый раз. Однако, Вы можете добавить ваше имя сервера.
Замечание: Наберите: ``man atalkd '', чтобы получить подробную информацию об этом файле. |
afpd.conf
Этот файл позволяет Вам определять дополнительные параметры, которые переданы Netatalk посредством параметров командной строки. Вы можете задать порт или IP-адрес для работы с сервером Netatalk, добавить приветственное сообщение для пользователей и изменить еще ряд опций.
Замечание: Наберите: ``man afpd '', чтобы получить подробную информацию об этом файле. |
Файл содержит информацию о предоставлении пользователям Mac права печати на сетевом принтере.
Замечание: Наберите: ``man papd '', чтобы получить подробную информацию об этом файле. |
Хранит список объектов, доступных пользователям Mac по сети. Чтобы разделить некоторый каталог по сети, введите полное имя каталога с текстовым описанием. Например:
~ "Home" /archive/busdept "Business Department Common Files" |
Замечание: Неплохо бы обеспечить поддержку данных общих ресурсов и для Samba, тогда пользователи будут иметь одни и те же доступные ресурсы независимо от того, под чем они работают: Mac или Windows. Подробности в разделе файловый сервис и печать через Samba. |
Хранит список объектов, доступных пользователям Mac по сети также, как и ``AppleVolumes.default''. Разница в том, что упомянутые здесь ресурсы будут доступны всем пользователям даже без их регистрации в системе. Здесь также хранится карта типов файлов.
Как только настройка закончена, запустите Netatalk:
/etc/rc.d/init.d/atalk start |
Подробная информация по данному сервису есть на Netatalk Home Page:
http://www.umich.edu/~rsug/netatalk. Кроме того, много полезной информации о настройке хранится в Linux Netatalk HOWTO:
http://thehamptons.com/anders/netatalk.
Назад |
Оглавление | Вперед |
Windows-style File and Print Services with Samba | Локальное оглавление | Network File System (NFS) Services |
Файловый сервис и печать через Samba
Linux может предоставлять сервисы SMB (то есть, сетевое разделение файлов и принтеров в WfW, Win95 и NT), используя пакет Samba. Здесь рассказывается как настроить разделение и обеспечить доступ с клиентских машин.
Пакет Samba включен в Red Hat, Вы можете установлен ли он, и какую версию Вы имеете:
rpm -q samba |
Если не установлен, поставьте, используя утилиту RPM (см. подробности в разделе Использование Red Hat Package Manager (RPM) главы 10).
Наиболее важные файлы Samba:
/etc/smb.conf
Файл настроек Samba. Здесь заданы разделяемые ресурсы и прочие параметры (см. ниже)
/var/log/samba/
Расположение файла протокола для Samba
/home/samba/
Здесьрасположены совместно используемые файлы. Однако, Вы можете сменить расположение. Лично я монтирую раздел на /archive/ и располагаю файлы там.
Файл ``/etc/smb.conf'' хранит настройки разделяемых ресурсов. Первые строки содержат глобальные директивы настройки, общие для всех ресурсов (если они не отменены для конкретного ресурса), затем идет настройка каждого ресурса.
В пакет Samba входит файл smb.conf со значениями по умолчанию, который часто вполне пригоден, и нуждается лишь в небольших поправках.
В приводимом ниже примере я попробую показать Вам некоторые из наиболее важных и интересных параметров:
# Items common to all shares (unless over-ridden on a per-share basis) [global] # Number of minutes of inactivity before client is disconnected # to avoid consuming resources. Most clients will automatically # reconnect so this is a good idea to enable. dead time = 10
# Don't let users connect as “root”, just-in-case. :-) invalid users = root # Specify the account for guest shares (shares that don't require # a password to connect to. This username must be a valid user # in the /etc/passwd file. guest account = guest # Specify where log files should be written to. The “%m” suffix # means that log files will be created in the format # log.machine-name (eg. “log.twixel”) log file = /usr/local/samba/logs/log.%m # Maximum size of log file, in Kilobytes. max log size = 1000 # Password level 3 means that case is not an issue when entering # passwords. A little less secure than level 1 or 2 would be, # but seems to be a fair compromise for user convenience. password level = 3 # Specify that all shares should appear in the browse list # (override any you don't want on a per-share basis). browseable = yes # If this is enabled, you can see active connections using the # “smbstatus” command. status = yes # The level of debugging information that is recorded in the log # files. Higher values generate more information (which is # probably not very useful, most of the time). debug level = 2 # This will send any Windows-style “POPUP” messages received on # the server to the postmaster by e-mail. Not very useful, but # an interesting demonstration of what can be accomplished. message command = /bin/mail -s 'Message from %f on %m' postmaster < %s; rm %s & # This is a form of caching that, when enabled, may improve # performance when reading files. read prediction = true # A list of services that should be added automatically to the # browse-list. auto services = cdrom # The location of your “printcap” file, a text file containing # definitions for your printers. printcap name = /etc/printcap # If enabled all printers in the /etc/printcap file will be # loaded into the browse-list. load printers = yes # The print command by which data is spooled to a printer under Linux. print command = lpr -r -P%p %s # The print command by which job queue information (printer status) # can be obtained. lpq command = lpq -P%p # The print command by which unwanted print jobs can be deleted # from the queue. lprm command = lprm -P%p %j # The level at which Samba advertises itself for browse elections. # Currently set to a high value to give it an even “foot-hold” with # any swarmy NT servers on the network. :-) os level = 34 # These are user's personal shares. If the client's username matches on the # server, they can access their home directory (provided they enter the # correct password). [homes] # The comments appear in the browse list. comment = Home Directories # This matches the username of the client to that of the share. # If they do not match, no share will be displayed in the browse # list, or available to connect to. user = %S # The path to the share. For example, “smithj” would map to # “/home/smithj” path = /home/%S # If enabled, allow read/write access to the shares. writeable = yes # Just an inverted synonym for “writeable”. We don't *really* need # to use both. :-) readonly = no # Keep this disabled so that a password is required to access these # shares. public = no # We don't want this share (after all, it is private) to appear in # the browse-list of other users. browseable = no # This is a publicly available print share, called “hp_laser”. It appears # on the browse lists and can be accessed without a password by any client. [hp_laser] # The comment that appears in the browse-list. comment = Main office printer (HP Laserjet 400) # The username that this share is accessed as (guest means all users). user = guest # All generated print files will first be created in the /tmp # directory. path = /tmp # Do not allow file creation except through print spooling. writeable = no # Set permissions accordingly -- root access to print jobs only. create mode = 0700 # If this is enabled a password is not required to access the share. public = yes # This should be enabled to indicate that this is a printer share. printable = yes # Here is a service providing access to the CD-ROM device. [cdrom] comment = Shared CD-ROM drive on Linux user = guest path = /cdrom writeable = no read only = true browseable = yes public = yes guest ok = yes |
Совет: Недавние версии Samba, начиная с 2.0, имеют утилиту настройки через web ``swat'', которая делает процесс намного больше дружественным. Утилита слушает TCP порт 901 Вашего сервера, так что, чтобы все настроить укажите в браузере адрес сервера и порт 901: |
mydomain.name:901 |
Последние версии Samba также приобрели много дополнительных возможностей по сравнению с версиями ниже 2.0. Стоит обновить пакет.
Клиент должен иметь стек TCP/IP для соединения с разделяемыми ресурсами. Далее, для просмотра, TCP/IP должен быть привязан к NETBEUI. Под Windows 95 это может быть конфигурировано из раздела “Network” в Control Panel.
После настройки клиента, ресурсы сервера должны появиться в “Network Neighborhood” (или аналогичной системе просмотра, если используется не Windows 95/NT). Замечание переводчика: клиенты SMB доступны также под DOS, OS/2, Linux, Solaris и FreeBSD. Вы можете подсоединять сетевые диски из network neighborhood, или указывать полный путь к ресурсам (то есть, “\\mail\cdrom”). Если нужен пароль для доступа к ресурсу, он будет запрошен.
Дополнительная информация о Samba есть на Samba Home Page по адресу:
http://samba.anu.edu.au/samba. Замечание переводчика: в рамках проекта Russian LDP планируется перевод документации на Samba.
Назад |
Оглавление | Вперед |
Internet User Authentication with TACACS | Локальное оглавление | Macintosh-style File and Print Services with Netatalk |
Где искать помощь
Поскольку Linux разрабатывается сообществом программистов, связанных через Internet, лучший способ получить совет, послать сообщение в подходящую newsgroup:
Информация, не попавшая в другие конференции
comp.os.linux.misc
Проблемы с сетями в Linux
comp.os.linux.networking
Проблемы с безопасностью в Linux
comp.os.linux.security
Установка и администрирование Linux
comp.os.linux.setup
Разные рассуждения о Linux :-p
alt.linux.sux
Для неспецифичных для Linux проблем есть свои конференции в иерархии comp.*:
Все о Cisco router/access-server
comp.dcom.sys.cisco
Разные вопросы о web-серверах
comp.infosystems.www.servers.misc
Вопросы по unix (не Linux-специфические)
comp.os.unix
Протокол SMB (WfW/95/NT file/print сервисы)
comp.protocols.smb
Есть хорошие ресурсы и в Web. Проведите поиск по слову “Linux”, или посетите сайты:
Linux Resources
http://www.linuxresources.com
The Linux Documentation Project
http://metalab.unc.edu/LDP
The RPM repository
http://rufus.w3.org/linux/RPM
The Linux Software Map
http://www.boutell.com/lsm
Linux Applications & Utilities Guide
http://www.xnet.com/blatura/linapps.shtml
LinuxHardware.net: Hardware Driver Support
http://www.linuxhardware.net
Linux User Support Team
http://www.ch4549.org/lust
The Linux v2 Information Headquarters
http://www.linuxhq.com
The Samba Home Page (WfW/95/NT file/print сервисы)
http://samba.anu.edu.au/samba
The Apache Web Server
http://www.apache.org
The Squid HTTP Proxy Caching Daemon
http://squid.nlanr.net/Squid
Может помочь подписка на списки рассылки. Найти их просто: пошлите поисковый запрос по нужным словам (например, поиск по
``linux raid mailing list'' может помочь найти список рассылки по проблемам работы с RAID под Linux). Обычно подписка сводится к отправке на подписной адрес списка e-mail письма со словом “
subscribe” в теле сообщения.
Списки рассылки Red Hat
Описание доступных списков Red Hat: http://www.redhat.com
Списки рассылки GNOME
Описание доступных списков GNOME:
http://www.gnome.org/mailing-lists/index.shtml
Списки рассылки KDE
Описание доступных списков KDE:
http://www.kde.org/contact.html
Список рассылки Linux SCSI
Подписной адрес:
linux-scsi-request@vger.rutgers.edu
Список рассылки Linux RAID
Подписной адрес:
linux-raid-request@vger.rutgers.edu
Посмотрите также интересные сайты с новостями и советами по Linux и связанным вопросам.
SlashDot: News For Nerds
http://slashdot.org/
FreshMeat: Ананосы приложений Open Source
http://freshmeat.net/
Назад |
Оглавление | Вперед |
File System Corruption after Power Outage or System Crash | Локальное оглавление | Pointers to Additional Documentation |
Предисловие
Локальное оглавление
Благодарности
Информация о copyright
Просьба о помощи
Если Вы не слишком хорошо
Локальное оглавление
Обзор
Выбор дистрибутива Linux
Linux 2.2.0, выпущен 25-Jan-99: Вперед к мировому господству...
Если Вы не слишком хорошо знаете Linux и ищете перечень наиболее частых задач и проблем настройки и администрирования, которые Вам придется решать, то этот документ как раз то, что нужно!
Обзор Linux
Локальное оглавление
Что такое Linux?
Разрушение мифов
Перспективы одного пользователя
Добро пожаловать в Linux!
Установка и настройка оборудования
Локальное оглавление
Создание установочных дискет
Загрузка программы установки Linux
Разделение на разделы жесткого диска
Установка свопа
Выбор раздела для форматирования
Выбор пакетов для установки
Настройка оборудования
Загрузка с LILO
Скачивание и установка обновлений для Red Hat
Эта глава подробно описывает установку Red Hat 6.1 на системе x86. Порядок установки не имеет особых отличий в GUI или text-ориентированном режиме. Многое из данной информации уже описано в Red Hat User's Guide (поставляется как бумажная книжка в “Official” поставке, есть в каталоге ``/doc'' на CD и доступна на
ftp://ftp.redhat.com/pub/redhat/redhat-6.1/i386/doc/rhinst/index.htm, Однако, есть несколько моментов, которые не получили должного освещения в Red Hat User's Guide.
Настройка X Window System
Локальное оглавление
Настройка X Window System с помощью X-Configurator
Использование X Desktop Manager
Настройка шрифтов под X
Выбор Window Manager для X
Установка и настройка GNOME
Установка и настройка KDE
X Window System, или “X” (часто и ошибочно называется “X Windows”) является GUI для Linux. В отличие от Microsoft Windows, X Window System может работать и выглядеть очень по-разному.
Настройка X позволяет сделать все от простого до самого сложного! Это вызывает недовольство среди пользователей, плохо знакомых с Linux, и я сам боролся с параметрами настройки очень долго. Удачно, что такая настройка становится все проще и более автоматизированной в новых дистрибутивах Linux. Фактически, если Вы используете Red Hat 6.1, Вы не будете волноваться относительно этой проблемы. Замечание переводчика: тем не менее, мне повозиться пришлось немало...
Хотя в большинстве случаев X может быть конфигурирован автоматически, имеются исключительные ситуации; я рекоменую, чтобы Вы знали или выяснили тип платы видео и количество видео RAM, тип монитора, его разрешение, частоту горизонтальной и вертикальной развертки (эта информация обычно доступна в руководстве пользователя монитора, или может быть найдена на WWW).
Общие задачи и проблемы системного администрирования
Локальное оглавление
Логин Root
Создание пользователей
Изменение паролей пользователей
Выключение пользователей
Удаление пользоватеей
Пароли в Linux & формат файла Shadow
Выключение и перезапуск системы
Тонкая настройка системы
Локальное оглавление
Администрирование Web-сервера и HTTP Proxy
Настройка и администрирование Domain Name Server (DNS)
Авторизация пользователей Internet с TACACS
Файловый сервис и печать через Samba
Файловый сервис и печать через Netatalk
Сервисы Network File System (NFS)
Настройка от A до Z программой Linuxconf
В принципе, при установке стандартной конфигурации Red Hat Linux проблем быть не должно, но есть маленькие детали в настройках, которые хотелось бы поправить.
Локальный администратор должен знать следующее:
Файл ``/etc/rc.d/rc.local
'' будет выполнен после запуска системы и содержит любые команды на запуск добавленных Вами сервисов, запускаемых при старте системы.
Посмотрите в /etc изменения, которые могут понадобиться для вашей конкретной системы. Они могут включать:
``/etc/inetd.conf'' (заблокируйте лишние сервисы, например, finger, echo, chargen; добавьте или измените параметры нужных сервисов)
``/etc/exports'' (хранит список хостов, которым разрешен доступ по NFS; см. раздел Сервисы Network File System (NFS))
``/etc/organization'', ``/etc/nntpserver'', ``/etc/NNTP_INEWS_DOMAIN'' (задайте правильные значения)
``/etc/lilo.conf'' (хранит данные для LILO boot loader, программы-загрузчика ядра Linux см. раздел Загрузка с LILO в главе 4)
``/etc/sudoers'' (перечень пользователей, которые могут получать специальные полномочия, наряду с командами, которые им позволяют выполнить)
``/etc/named.boot'' (для DNS; см. раздел Настройка и администрирование Domain Name Server (DNS))
``/usr/local/'' (и подкаталоги) хранят настройки дополнительных пакетов, если они ставились не RPM. (Или по крайней мере, Вы должны были установить их здесь.) Эти файлы, особенно в /usr/local/src, должны обновляться (см. главу 10).
Резервирование и восстановление
Локальное оглавление
Резервирование сервера
Восстановление сервера
Резервирование настроек роутера Cisco
Выполнение резервирования должно иметь один из высших приоритетов у ответственного администратора системы. Хотя Linux чрезвычайно надежная операционная система, сбои могут быть, и вероятно произойдут. Они могут быть вызваны аппаратным сбоем, отключением электричества или другими непредвиденными проблемами.
Часто ошибки происходят из-за неосторожности или ошибок пользователей. Если в системе есть много пользователей, они часто будут обращаться к Вам с просьбой помочь восстановить парочку файлов.
Если Вы регулярно резервируете данные (желательно ежедневно, по крайней мере для пользователей, чьи данные меняются часто), вероятность потери данных будет минимальной, а Вы сильно облегчите себе жизнь.
Самый безопасный метод выполнения резервных копий состоит в том, чтобы записать их на разные носители (лента, съемный диск, writeable CD...) и хранить где-нибудь подальше от Вашей Linux-системы. Иногда это не может быть практически выполнено: возможно, Вы не имеете несгораемого хранилища, в котором Вы можете хранить резервные ленты. Тем не менее, копии все же надо делать и хранить их получше.
Я выполняю резервное копирование на нескольких Linux-серверах. В зависимости от сервера, некоторые копии пишутся на ленты, другие на отдельный сервер за пределами сети, а третьи просто на отдельный раздел диска (файловая система ``/archive'') заданием для cron (возможно, из-за того, что сервер физически находится даоеко, и ежедневные визиты затруднены или невозможны).
Дома я не имею внешней резервной системы, и при этом я не имею большого количества доступного дискового пространства, чтобы писать копии на диск. Следовательно, я поддерживаю только мои файлы пользователя ``/home/'' также как некоторые файлы конфигурации в ``
/etc/'' и записываю резервую копию в отдельный раздел диска.
Различные задачи администрирования
Локальное оглавление
Проверка места на дисках
Управление процессами
Запуск и завершение процессов
Планирование процессов: Cron и файлы Crontab
Linux очень надежна. На протяжении четырех лет она работала на моей машине в качестве Internet-сервера, и требовала не так уж много администрирования для поддержания в рабочем состоянии. Вся рутинная работа может и должна быть автоматизирована записями в crontab и файлами скриптов. Однако, для бесперебойного функционирования системы следует периодически выполнять ряд проверок. В них входят:
Обновление Linux и других приложений
Локальное оглавление
Использование Red Hat Package Manager (RPM)
Установка и обновление без RPM
Стратегии обновления и поддержки системы
Обновление ядра Linux
Обновление Red Hat Stock Kernel
Построение специального ядра
Переход к ядрам Linux 2.2.x
Настройка Apache Web Server
Настройка Squid HTTP Caching Proxy
Настройка Sendmail
Чтобы оснастить Linux-систему дополнительными возможностями, закрыть дырки в защите, управиться с новым оборудованием или избавиться от ошибок в программном обеспечении нужно регулярно обновлять систему. В данной главе как раз и рассматриваются такие вопросы.
Крупные системы и Linux
Table of Contents
Улучшаем производительность
Высокая надежность и RAID
Проблемы расширения и переноса сервера
Когда Linux приобрела репутацию очень надежной системы, она постепенно стала использоваться в критических задачах в научном мире, коммерции и в обычных системах.
Эта глава рассматривает проблемы, которые возникнут при работе с Linux в подобных ситуациях: настройка сервера для максимальной нагрузки, высоконадежное хранение данных на массивах RAID и вопросы перемещения с сервера на сервер (миграции).
Стратегия безопасности сервера
Linux может считаться более безопасной, чем другие версии UNIX. Дело в том, что по мере роста популярности Linux она становится все более интересной для хакеров, что приводит к выявлению дырок в защите и их ликвидации. Открытость системы также весьма способствует процессу устранения ошибок.
Я не специалист по защите системы, но я имел дело с большинством проблем с ней и я дам советы по обходу наиболее распространенных проблем. Хотя обновление регулярное обновление системы не дает гарантию, что защиту не обойдут, все же шансы хакеров сильно уменьшатся.
Хотя есть немало способов ворваться в систему (например, IMAP daemon exploit), основная угроза исходит все же изнутри. Связей с внешним миром не так и много, а вот в системе есть множество команд и утилит, в которых могут быть ошибки, которые могут использоваться хакером.
По этой причине я избегаю открывать пользователям доступ к оболочке, если он не абсолютно необходим. Даже если Вы рассматриваете ваших пользователей как полностью заслуживающих доверия, для взлома системы требуется только, чтобы один из этих пользователей имел слабый пароль. Получив в систему хакер непременно будет искать в ней еще дырки (замечание переводчика: точно, я сам так делаю).
Однако, можно успешно противостоять таким атакам. Детальное рассмотрение проблем защиты выходит за рамки данного руководства, так что здесь перечислено только то, что необходимо делать для уменьшения риска:
Обновляйте системные утилиты, программы и ядро:
При обновлении Вы будете уверены, что в системе нет старых программ, дырки в которых широко известны (замечание переводчика: в свое время был сервер в нашем университете, на котором стояла система, минимум трехлетней давности. Я делал с этим сервером много интересных вещей, а еще больше мог бы сделать, если бы хотел. Потом систему обновили, и 90% моих люков закрылись.). Подробности по поводу обновления системы см. в разделе Скачивание и установка обновлений для Red Hat главы 4 и в разделе Стратегии обновления и поддержки системы
главы 10.
Shadow passwords:
Лучше всего их использовать, благо переход к ним прост ! Подробности в разделе Пароли в Linux & формат файла Shadow главы 6.
Умное управление паролями:
Следите, чтобы пароли менялись регулярно и были надежными. Если используется несколькосерверов, не ставьте одинаковые пароли. Иначе хакеру понадобится вычислить пароль только один раз (замечание переводчика: если пользуетесь Windows, не ставьте в качестве пароля пользователя для входа в сеть Microsoft свой пароль для Linux: в Windows пароли пользователей вскрыть не проблема).
Используйте secure shell (ssh):
Поставьте ``ssh'' вместо ``telnet''. Telnet передает все данные (и пароли тоже) открытым текстом и открытый порт для telnet будет первым местом, куда попробует залезть хакер (замечание переводчика: если на вашей рабочей станции кто-то поставил троян, перехватывающий ввод с клавиатуры, никакой ``ssh'' не поможет.).
Ssh предоставляет зашифрованный и сжатый обмен данными, что куда лучше telnet-связи. Можно запустить сервер ssh (для беззопасных входящих соединений) и клиент (для исходящих безопасных соединений) под Linux. Двоичный пакет RPM можно взять на
ftp://ftp.replay.com/pub/replay/redhat/i386. Новые версии постоянно выходят, так что следите за ними! Вам нужны следующие файлы:
ssh-1.2.27-5i.i386.rpm. Основной пакет.
ssh-clients-1.2.27-5i.i386.rpm. Клиенты для исходящих соединений.
ssh-extras-1.2.27-5i.i386.rpm Некоторые удобные perl-скрипты.
ssh-server-1.2.27-5i.i386.rpm Сервер для входящих соединений.
Замечание: RPM-файлы для SSH, перечисленные выше, международные версии. Если Вы проживаете в США или Канаде, Вы можете загрузить американские пакеты (которые могут иметь более сильные алгоритмы шифрования); эти пакеты имеют суффикс ``us'' вместо ``i'' после номера версии. Согласно американскому закону, запрещено экспортировать сильные crypto-программы вне США или Канады. Когда-нибудь Министерство юстиции США увидит, к чему привела такая ситуация и удалит это глупое ограничение. (Red Hat не включает SSH из-за этого, и все мы страдаем). Замечание переводчика: на сегодняшний день ограничения на экспорт криптосистем из США уже сняты. |
Есть клиенты ssh и под Windows, что дает пользователям данной системы возможность соединиться по защищенному протоколу с сервером. Клиенты:
“TeraTerm Pro” клиент
http://hp.vector.co.jp/authors/VA002416/teraterm.html
“TTSSH” клиент
http://www.zip.com.au/roca/download.html
“Cryptlib” клиент
http://www.doc.ic.ac.uk/ci2/ssh
“Putty” клиент
http://www.chiark.greenend.org.uk/sgtatham/putty.html
Замечание: Если вы перешли на использование ssh, позаботьтесь о его установке на всех ваших серверах. Наличие пяти защищенных и одного незащищенного сервера ничего хорошего не принесет, особенно если вы используете один и тот же пароль на нескольких серверах. |
Отредактируейте файлы ``/etc/hosts.allow'' и ``/etc/hosts.deny'' и ограничьте доступ с удаленных систем. В приведенном ниже примере ограничивается доступ к telnet и ftp. Сначала правим файл ``/etc/hosts.allow'':
# hosts.allow in.telnetd: 123.12.41., 126.27.18., .mydomain.name, .another.name in.ftpd: 123.12.41., 126.27.18., .mydomain.name, .another.name |
Теперь поправим файл ``
/etc/hosts.deny'':
# hosts.deny in.telnetd: ALL in.ftpd: ALL |
Запретите все лишние сервисы:
Подправьте файл ``/etc/inetd.conf '', и запретите (используйте символ комментария ``#'') все сервисы, в которых нет необходимости (если используете ssh, можно закрыть даже сервис ``telnet''). После правки файла наберите от имени root: ``
/etc/rc.d/init.d/inet restart'' для перезапуска демона inetd с новыми параметрами сервисов.
Поставьте систему проверки безопасности:
Попробуйте пакет ``Tripwire'' (см. http://www.tripwiresecurity.com) который может обнаруживать попытки атаки, и пакет ``Abacus Sentry'' (см.
http://www.psionic.com/abacus), который может помочь в их отражении.
Будьте внимательны:
Время от времени перетрясайте систему на предмет всяких несоответствий (записи в файле паролей, странности в системных журналах, подозрительные процессы в системе, странные настройки программ). Не пренебрегайте сообщениями пользователей о странных явлениях в системе (замечание переводчика: известный мне администратор пренебрег моим предупреждением о том, что в сети университета работает какой-то хакер, за что был быстро и строго наказан тем самым хакером...).
Устанавливайте и обновляйте системные утилиты, используя ``RPM'', вы можете хотя бы проверить целостность пакета командой:
rpm --verify -a > /tmp/rpm-audit.txt |
S.5....T /bin/ls S.5....T /usr/bin/du ......G. /dev/tty5 .....U.. /dev/vcs5 .....U.. /dev/vcsa5 S.5....T c /etc/lynx.cfg S.5....T c /etc/sendmail.cf |
/etc/lynx.cfg и /etc/sendmail.cf.
Однако, заметьте, что изменились два исполняемых
файла. С чего бы вдруг? Причем, они очень часто используются: это же команды ``ls'' и ``du''. Вероятней всего, это троянцы. Восстановление их из резервной копии или пакета RPM избавит от троянцев.
(Подробно ``RPM'' рассмотрен в разделе Использование Red Hat Package Manager (RPM) главы 10.)
По поводу безопасности системы посмотрите хороший ресурс “Securing RedHat 5.x” доступный на
http://redhat-security.ens.utulsa.edu. Еще один отличный сайт по Linux crypto и смежному софту находится на
http://replay.com/redhat.
Назад |
Оглавление | Вперед |
Server Migration and Scalability Issues | Help! Trouble in Paradise! |
Получение помощи
Локальное оглавление
Установка Linux на нестандартном оборудовании
Повреждение файловой системы после отключения питания или система рухнула
Где искать помощь
Указатели на дополнительную документацию
Linux по всему миру зарабатывает репутацию эффективной и надежной системы. Однако, никакая система не совершенна, и время от времени Вы встретитесь с проблемами. Частота их возникновения измеряется месяцами и они, как правило, быстро решаются.
Использование Red Hat Package Manager (RPM)
Red Hat Linux, включая ядро, библиотеки и приложения поставляется в файлах RPM. Файлы RPM, также известные как “пакеты” позволяют распространять программы, просто их ставить, удалять, обновлять, получать сведения о них. RPM файлы хранят данные о имени пакета, его версии, зависимостях от других файлов, платформе (Intel или Alpha, etc.), и о том, куда по умолчанию ставить файлы.
Утилита RPM была сначала разработана Red Hat и представлена как продукт Open Source, как и положено в мире Linux. Другие разработчики улучшили ее и добавили функциональность. Метод RPM упаковки файлов стал популярным и используется не только в Red Hat, но и в других дистрибутивах.
Популярные прикладные программы Linux почти всегда выпускаются как файлы RPM довольно быстро. Однако, в Unix мире defacto-стандартом для пакетов продолжает быть так называемый “tarballs”. Tarballs просто файлы, которые являются читаемыми утилитой ``tar''. Установка с помощью tar обычно более утомительна чем использование RPM (замечание переводчика: после работы с обеими утилитами у меня сложилось прямо противоположное мнение!). Так почему же люди так поступают? К сожалению иногда требуется несколько недель, чтобы дождаться последней версии пакета, преобразованного в RPM (много разработчиков сначала выпускают их как tarballs).
Если Вы ставите или обновляете пакеты, используя tar, база данных RPM станет устаревшей и непоследовательной. Это не страшно (когда я использовал Slackware, я использовал исключительно tar: не было никакого другого выбора, без слишком большого дискомфорта), но везде, где возможно, я пробую быть терпеливым и ждать, пока не станет доступным RPM, или посылаю вежливый запрос разработчику пакета. (Вы можете также формировать ваши собственные файлы RPM и раздавать их другим, что является иногда полезным для разработчиков, которые не имеют возможности или времени, чтобы произвести такие файлы непосредственно.)
Хорошее место для выяснения есть ли данный пакет в формате RPM: репозитарий RPM на
http://rufus.w3.org/linux/RPM. Репозитарий поддерживает индексирование по категориям и хранит тысячи ссылок на пакеты.
Для запроса пакета используйте ``rpm -q pkg-name'' (например, ``rpm -q pine''). RPM сообщит Вам, какая версия пакета уже установлена, или что пакет не установлен.
Допустим, что пакет стоит, но вы скачали его новую версию. Обновите пакет командой ``rpm -Uvh pkg-name''. Если все идет хорошо, пакет будет автоматически установлен и немедленно готов для использования. Если нет, RPM даст Вам довольно хорошую причину (например, возможно, что пакет от которого зависит устанавливаемый пакет должен быть обновлен). Это может требовать немного размышления, но решения здесь очень прямые.
Если пакет еще не установлен, и Вы решаете установить его, введите: ``rpm -ivh pkg-name''. Если предварительно надо поставить еще какие-то пакеты, RPM Вам сообщит.
Иногда надо поставить пакет, доступный только в исходниках. Такой подход уменьшает шанс получить в бинарном коде троян или подобную пакость. Однако, на солидных сайтах (например, Red Hat FTP), такое маловероятно, поскольку там RPM проверяются на такие вещи. Но относительно пакета стороннего разработчика никаких гарантий нет.
В утилите RPM есть параметр ``rebuild'':
rpm -ivh --rebuild foo.src.rpm |
/usr/src/redhat/RPMS/i386/'' (предполагается, что используется Linux на платформе Intel). Затем такой пакет можно поставить обычным порядком.
В заключение, если Вы имеете проблемы при получении исходного пакета, для компиляции (возможно Вы должны изменить makefile, или изменять опцию конфигурации) Вы можете использовать следующие шаги: создайте новый двоичный пакет и установите из него:
rpm -ivh foo.src.rpm cd /usr/src/redhat/SPECS pico -w foo.spec |
rpm -ba foo.spec |
'' и может быть установлен оттуда на общих основаниях.
Самый лучший источник сведений про RPM ``Maximum RPM'', который доступен в формате postscript на
http://www.rpm.org/maximum-rpm.ps.gz (если хотите его напечатать, имейте в виду, что понадобится много бумаги!). Есть небольшое руководство ``RPM-HOWTO'', доступное на
http://www.rpm.org/support/RPM-HOWTO.html.
Назад |
Оглавление | Вперед |
Automating Tasks with Cron and Crontab files | Installing or Upgrading Without RPM |
Использование X Desktop Manager
Если Вы желаете, Вы можете использовать X Desktop Manager (``xdm'') чтобы запустить X Window System автоматически при начальной загрузке системы. Это позволяет вашей Linux системе всегда выполняться под X (хотя Вы можете переключать GUI на консоли комбинациями <Ctrl>-< Alt>-<F1>, и возвращаться назад в GUI клавишами < Alt>-<F7> когда необходимо). Это хороший путь обеспечения привлекательной и дружественной среды для Вас и Ваших пользователей, и избежать необходимости вводить ``startx'' все время.
Для запуска xdm отредактируйте файл ``/etc/inittab'' и смените строку “id:3:initdefault:” на:
id:5:initdefault: |
Данное изменение указывает Linux перейти после загрузки на уровень выполнения (run level) 5; этот run level, по умолчанию, запустит xdm. Вы можете также желать проверить файл ``/etc/inittab'', ближе к его концу, на предмет строки (она там должна быть, если нет, впишите):
x:5:respawn:/usr/bin/X11/xdm -nodaemon |
Если Вы запустили xdm и желаете использовать значение ``bpp'' выше, чем значение по умолчанию 8 (Ваша плата видео и монитор должны поддерживать это!), надо изменить файл ``/etc/X11/xdm/Xservers'' и вписать в него:
:0 local /usr/X11R6/bin/X -bpp 24 |
Данное изменение запустит xdm с 24 битами на пиксел.
Вы можете также отредактировать файл ``/etc/X11/xdm/Xsetup_0'' и закомментировать символом ``#'' строку, которая начинается с ``xbanner'':
#/usr/X11R6/bin/xbanner |
Теперь между сеансами KDE не будет показываться xdm banner.
Совет: Иногда Вам все-таки понадобится консоль. Например, некоторые игры работают в консоли, но не под X). Есть два способа: для временного переключения на консоль из X, нажмите <Alt><F1 >, а для обратного переключения < Alt><F7>. Или, если Вы желаете завершить X в целом (таким образом освобождается немало памяти), введите ``/sbin/telinit 3'' как “root” для переключения run-level; это сообщает XDM, что надо завершиться. Чтобы вернуться, введите как root ``/sbin/telinit5''. |
Назад | Оглавление | Вперед | |
Configuring the X Window System | Локальное оглавление | Improving Font Appearance Under X |
Изменение паролей пользователей
Для изменения пароля пользователя, зайдите как “root”. Затем введите: ``passwd user'' (здесь user задает имя пользователя, пароль которого Вы собрались менять). Система запросит пароль. При вводе пароль не отобраается.
Вы можете также сменить свой пароль командой ``passwd '' (без указания имени пользователя). Вас спросят о старом пароле, а потом о новом.
Назад | Оглавление | Вперед | |
Creating User Accounts | Локальное оглавление | Disabling User Accounts |
Lamer
¦ · · · · · · · · · · · · · · · · · · · · · · · ·¦ · · · ¦ · · -T+---=======-T-¬ · · ¦¦LAMER HUNTER¦ ¦ · · ¦¦ ¦ ¦-------------- · · L+-T----------+T- · · ------------------------------------ · · - RLDP ---------------------------WWW- · · ---------------------------------------- · · ¦0 0 O O O O O O O O O O O D · · \____________________________________/ · · · · · · · · · · · · · · · · · · · · · · · · · · · · · Если ты не ламеp, Добpо Пожаловать ! · · ¦ · · · · · · · · · · · · · · · · · · · · · · · ·¦
Перейти к книге LAMER (Linux Administration Made Easy Russian).
Логин Root
Логин “root” наиболее привилегированный в Unix системе. Этот логин дает Вам способность выполнить все аспекты администрирования системы, включая добавление пользователей, изменение паролей пользователей, исследование журналов, установка программного обеспечения и т.д.
При использовании этого логина следует быть настолько осторожно насколько возможно. Логин “root” не имеет ограничений защиты, наложенных на нормальных пользователей. (Замечание переводчика: на самом деле сам логин root ничего не значит, важно то, что у него стоит идентификатор пользователя UID=0.). Система не спросит никаких подтверждений команд у администратора. Значит, ошибочной командой очень просто стереть критические файлы...
При работе как “root” приглашение shell будет иметь символ '#' в качестве последнего символа (если используется bash). Данный символ призван предупредить о абсолютной силе root (замечание переводчика: символ можно без проблем переопределить на $).
Никогда не заходите как “root” без крайней необходимости. Когда от “root” вводите команду, проверьте ее тщательно, а уж только потом жмите return. Как только сделаете все необходимое, тут же выйдите из системы как “root” и зайдите как нормальный пользователь. Пароль для “root” должен быть надежным! (Замечание переводчика: ненадежный пароль стоил нервов уже не одному сисопу.)
От переводчика: никогда не оставляйте на консоли доступ под логином root когда уходите! Да, дверь комнаты с сервером (наверное) имеет хороший замок, а ключи есть только у вас и других людей "кому можно". Но вот что произошло с одной моей знакомой:
Теперь о сладкой парочке: screen-сейвер и Enter. Когда saver гасит экран я жму клавишу CTRL: научилась. Однажды я хотела почистить каталог /tmp. Из-под root набрала:
cosga# rm -r /tmp/* # точнее хотела набрать, поскольку в момент cosga# rm -r / # звонит телефон и меня куда-то вызывают.
Через час я вернулась, увидела погашенный экран, и нажала клавишу Enter. Угадай последствия. На 2 винтах по 23 ГБ. Ты думаешь, я успела сбросить команду? Никоим образом: файловая система ext2 очень быстрая, разработана для серверной ОС и стирает файлы оперативно.
Назад | Оглавление | Вперед |
KDE Installation and Configuration | Creating User Accounts |
Мультизагрузка с другими OS
Если вы установили систему вместе с другими ОС, Вы будете обеспечены третьим диалоговым окном, в котором вносите в список доступные разделы. Здесь, Вы можете назначать имена другим операционным системам, которые будете при загрузке вводить на подсказку “LILO” для загрузки желательной операционной системы. Программа установки назначает по умолчанию имена каждому самозагружаемому разделу, так что это не обязательно менять.
Заданная по умолчанию операционная система, которая загрузится в случае отсутствия указаний с Вашей стороны, будет, конечно, Linux. Однако, если Вы желаете, можете изменить значение по умолчанию на любую из операционных систем, которые Вы определили.
После установки загрузчика, програма установки поздравит Вас с успешным завершением установки Linux. Выньте дискету из дисковода и нажмите <Enter> для перезагрузки системы в Linux!
Linux загрузится, и если все идет хорошо Вы должны увидеть приглашение “login”. Отсюда, Вы должны быть способны войти как “root ” с тем паролем, который задали в процессе установки.
Назад | Оглавление | Вперед | |
Hardware Configuration | Локальное оглавление | Downloading and Installing Red Hat Updates |
Настройка Apache Web Server
На работе я использую пакет Apache для предоставления web-сервисов. Apache полнофункциональный web-сервер с полной поддержкой стандарта HTTP 1.1, proxy caching, доступа к защищенным web-страницам по паролю и множеством других возможностей. Apache один из самых популярных web-серверов (по данным Netcraft, более 54% всех web-сайтов Internet используют Apache или одну из его модификация) и предоставляет сервис равный, а часто и лучший, чем коммерческие серверы.
( Under construction. :-p )
Для отслеживания обновлений и исправлений в Apache следите за его web-сайтом
http://www.apache.org на котором появляется информация о новых версиях.
Назад | Оглавление | Вперед | ||
Moving to the Linux 2.2.x Kernels | Локальное оглавление | Configuring the Squid HTTP Caching Proxy Daemon |
Настройка и администрирование Domain Name Server (DNS)
У меня на работе мы используем Linux как DNS-сервер. Этот раздел описывает настройку DNS таблиц и использование пакета BIND 8.x, стандартно поставляемого с Red Hat.
Замечание: Red Hat 5.1 и младше использует BIND 4.x, который использовал немного другой формат файла конфигурации. BIND 8.x предлагает больше возможностей, чем BIND 4.x, а поскольку 4.x более не развивается, лучше обновить пакет BIND до последней версии. Просто установите пакет BIND RPM (см. раздел Использование Red Hat Package Manager (RPM) в главе 10), и преобразуйте ваш файл конфигурации в новый формат.
Преобразование выполнить просто! В каталоге с документацией, который является частью BIND (например, в `` /usr/doc/bind-8.1.2/'' для BIND версии 8.1.2), есть файл ``named-bootconf.pl'', который представляет собой скрипт на Perl. Если Perl у Вас установлен (замечание переводчика: если нет, поставьте: он ОЧЕНЬ пригодится), Вы можете использовать скрипт чтобы преобразовать ваш файл конфигурации. Чтобы сделать это, введите от имени root: |
cd /usr/doc/bind-8.1.2 ./named-bootconf.pl < /etc/named.boot > /etc/named.conf mv /etc/named.boot /etc/named.boot-obsolete |
Вы должны теперь иметь файл ``/etc/named.conf'', который должен работать с BIND 8.x. Ваши таблицы DNS будут работать и с новой версией BIND, так как формат таблиц не изменился.
Конфигурация DNS под Linux включает следующие шаги:
Для включения сервиса DNS, файл ``/etc/host.conf'' должен выглядеть следующим образом:
# Lookup names via /etc/hosts first, then by DNS query order hosts, bind
# We don't have machines with multiple addresses multi on # Check for IP address spoofing nospoof on # Warn us if someone attempts to spoof alert on |
Определение extra spoof чуть повысит производительность (хотя и незначительный), так что если Вы не беспокоитесь, можете отключить записи “nospool” и “alert”.
Настройте как нужно файл ``
/etc/hosts''. Обычно, он невелик, но для увеличения производительности можно добавить в него какие угодно адреса машин, чтобы избежать поиска их в таблицах DNS.
Файл ``/etc/named.conf
'' должен быть настроен, чтобы указывать на ваши DNS таблицы согласно примеру ниже.
(Замечание: IP-адреса приведены здесь только в качестве примера и должны быть заменены на Ваши значения!): |
options { // DNS tables are located in the /var/named directory directory "/var/named"; // Forward any unresolved requests to our ISP's name server // (this is an example IP address only -- do not use!) forwarders { 123.12.40.17; }; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // Enable caching and load root server info zone "named.root" { type hint; file ""; }; // All our DNS information is stored in /var/named/mydomain_name.db // (eg. if mydomain.name = foobar.com then use foobar_com.db) zone "mydomain.name" { type master; file "mydomain_name.db"; allow-transfer { 123.12.41.40; }; }; // Reverse lookups for 123.12.41.*, .42.*, .43.*, .44.* class C's // (these are example Class C's only -- do not use!) zone "12.123.IN-ADDR.ARPA" { type master; file "123_12.rev"; allow-transfer { 123.12.41.40; }; }; // Reverse lookups for 126.27.18.*, .19.*, .20.* class C's // (these are example Class C's only -- do not use!) zone "27.126.IN-ADDR.ARPA" { type master; file "126_27.rev"; allow-transfer { 123.12.41.40; }; }; |
Совет: Опцией allow-transfer мы ограничили область распространения зональных данных DNS указанным IP-адресом. В данном примере машина 123.12.41.40 (допустим, вторичный сервер DNS нашего домена) может запрашивать зональные данные. Если опция не задана, узнать о Ваших зональных данных DNS сможет любая машина в Internet, что часто используется spammers и IP spoofers, так что я советую ограничить область распространения вторичным DNS сервером или использовать loopback-адрес, ``127.0.0.1''. |
Теперь можно задать DNS таблицы в каталоге ``
var/named/'' в соответствии с настройкой в файле ``/etc/named.conf''. Настройка файлов базы данных DNS в первый раз очень сложно, и выходит за рамки этого документа. Имеется несколько руководств, которые названы ниже. Я приведу несколько примеров:
Типовой файл ``
/var/named/mydomain_name.db'' прямой файл поисковой таблицы:
; This is the Start of Authority (SOA) record. Contains contact ; & other information about the name server. The serial number ; must be changed whenever the file is updated (to inform secondary ; servers that zone information has changed). @ IN SOA mydomain.name. postmaster.mydomain.name. ( 19990811 ; Serial number 3600 ; 1 hour refresh 300 ; 5 minutes retry 172800 ; 2 days expiry 43200 ) ; 12 hours minimum ; List the name servers in use. Unresolved (entries in other zones) ; will go to our ISP's name server isp.domain.name.com IN NS mydomain.name. IN NS isp.domain.name.com. ; This is the mail-exchanger. You can list more than one (if ; applicable), with the integer field indicating priority (lowest ; being a higher priority) IN MX mail.mydomain.name. ; Provides optional information on the machine type & operating system ; used for the server IN HINFO Pentium/350 LINUX ; A list of machine names & addresses spock.mydomain.name. IN A 123.12.41.40 ; OpenVMS Alpha mail.mydomain.name. IN A 123.12.41.41 ; Linux (main server) kirk.mydomain.name. IN A 123.12.41.42 ; Windows NT (blech!) ; Including any in our other class C's twixel.mydomain.name. IN A 126.27.18.161 ; Linux test machine foxone.mydomain.name. IN A 126.27.18.162 ; Linux devel. kernel ; Alias (canonical) names gopher IN CNAME mail.mydomain.name. ftp IN CNAME mail.mydomain.name. www IN CNAME mail.mydomain.name. |
/var/named/123_12.rev'' обратный файл поисковой таблицы:
; This is the Start of Authority record. Same as in forward lookup table. @ IN SOA mydomain.name. postmaster.mydomain.name. ( 19990811 ; Serial number 3600 ; 1 hour refresh 300 ; 5 minutes retry 172800 ; 2 days expiry 43200 ) ; 12 hours minimum ; Name servers listed as in forward lookup table IN NS mail.mydomain.name. IN NS isp.domain.name.com. ; A list of machine names & addresses, in reverse. We are mapping ; more than one class C here, so we need to list the class B portion ; as well. 40.41 IN PTR spock.mydomain.name. 41.41 IN PTR mail.mydomain.name. 42.41 IN PTR kirk.mydomain.name. ; As you can see, we can map our other class C's as long as they are ; under the 123.12.* class B addresses 24.42 IN PTR tsingtao.mydomain.name. 250.42 IN PTR redstripe.mydomain.name. 24.43 IN PTR kirin.mydomain.name. 66.44 IN PTR sapporo.mydomain.name. ; No alias (canonical) names should be listed in the reverse lookup ; file (for obvious reasons). |
Любые другие обратные файлы поисковой таблицы, необходимые чтобы отображать адреса в различные классы B (типа 126.27. *) могут быть созданы, и будут очень похожи на данный файл, поскольку пример обращает файл поисковой таблицы выше.
Теперь запустите демон named. Обычно он запускается из файла ``/etc/rc.d/init.d/named'' при загрузке системы. Вы также можете запускать и останавливать его ручками; командами ``named start'' и ``
named stop'' соответственно.
При каждом изменении таблиц DNS сервер должен быть перезапущен командой ``/etc/rc.d/init.d/named restart''. После перезапуска можно проверить изменения командой nslookup для запроса к машине, которая добавлена или изменена.
Более подробная информация по настройке DNS есть в ``DNS-HOWTO'' по адресу:
http://metalab.unc.edu/Linux/HOWTO/DNS-HOWTO-5.html.
Назад |
Оглавление | Вперед |
Custom Configuration and Administration Issues | Локальное оглавление | Internet User Authentication with TACACS |
Настройка оборудования
После установки пакетов Red Hat приступит к настройке оборудлвания. В большинстве случаев, за исключением очень новых аппаратных средств, которые еще не могут быть полностью поддержаны Linux, программа установки делает хорошую работу по автоматической конфигурации.
Подсказки, которые Вы будете видеть, очень простые:
Определение мыши (включая выбор между моделями с 2 и 3 кнопками. Если Вы имеете мышь с 2 кнопками, можно включить эмуляцию мыши с тремя кнопками. Замечание переводчика: в X Window третья кнопка необходима, так что лучше купите мышку с 3 кнопками.)
Определение видеокарты
Выбор монитора
Запуск программы ``XConfigurator'' для настройки X Window System (стоит выбрать вариант “Probe” для виделкарты. Если Вы получите здесь ошибку, не волнуйтесь, поскольку Вы можете позаботиться о настройке X после окончательного запуска системы; подробности в главе 5.)
Выбор видеорежима (Вы можете выбирать значения по умолчанию, или настраивать режимы видео, которые будете использовать под X Window System).
Настройка сети LAN
Настройка часов и временного пояса
Автозапускаемые сервисы (заданный по умолчанию выбор, вероятно, лучше всего, но Вы можете нажимать <F1
> для описания того, что данный сервис делает).
Настройка принтера
Задание пароля для root (выберите что-нибудь понадежнее!)
Создание boot-диска [Не ленитесь! Создайте один! :-) ]
Назад | Оглавление | Вперед | |
Choosing Desired Packages to Install | Локальное оглавление | Booting with LILO |
Настройка от A до Z программой Linuxconf
Имеется превосходный инструмент, названный ``linuxconf '' который может сделать процесс настройки много проще. Linuxconf выполняется на любых средствах отображения: Вы можете выполнять его с консоли, в сеансе telnet или как GUI-инструмент под X, и Linuxconf автоматически запустится соответствующим способом.
Если нужно поправить системные часы, настроить сеть, разобраться с файловыми системами, выполнить настройку пользователей или выполнить другие задачи по настройке системы, Вы должны дать этому инструменту шанс. Единственная известная мне проблема в том, что на момент написания данного документа GUI-версия время от времени переставал отвечать на щелчки мыши. Однако, этот инструмент перспективная разработка, и будущие изменения должны сделать его пригодным для использования.
Назад | Оглавление | Вперед | ||
Network File System (NFS) Services | Локальное оглавление | Backup and Restore Procedures |
Настройка Sendmail
Я использую пакет Sendmail для предоставления сервиса e-mail. Sendmail настолько популярен, что около 80% e-mail в Internet передается или принимается им. Есть еще один очень популярный пакет для сервера e-mail, Qmail, но я не имел случая с ним поработать.
Для отслеживания обновлений и исправлений в Sendmail, обновляйте его. К тому же, в нем постоянно отыскиваются проблемы с безопасностью. Кроме того, самые последние версии Sendmail включают мощные свойства анти-spam, которые могут помочь защитить от спама.
Этот раздел рассматривает, что нужно сделать, если Вы желаете использовать Sendmail как входящий сервер e-mail.
Для этого раздела, принимается, что Вы используете самую последнюю версию Sendmail (8.9.3 на время написания данного раздела).
В дистрибутиве Red Hat Sendmail обычно содерит настройки, пригодные для нормальной работы на большинстве серверов. Тем не менее, может понадобиться настраивать некоторые параметры настройки как требуется, для чего править файл ``/etc/sendmail.cf''. Но его правка выходит за рамки данного документа.
Я считаю полезным внести несколько поправок в настройки, чтобы защититься от спама, а именно:
O PrivacyOptions=authwarnings
change to: O PrivacyOptions=authwarnings,noexpn,novrfy O SmtpGreetingMessage=$j Sendmail $v/$Z; $b change to: O SmtpGreetingMessage=$j Sendmail $v/$Z; $b NO UCE C=xx L=xx |
(Первое изменение не даст использовать команды ``EXPN'' и ``VRFY'' в sendmail. Данные команды также часто используются неэтичными личностями. Второе изменение изменяет сообщение, выдаваемое Sendmail при подключении. Вы должны заменить ``xx'' в записи ``C=xx L=xx'' на значения для Вашей страны. Например, в моем случае я использую ``C=CA L=ON'' для Ontario, Canada. Последнее изменение фактически не воздействует ни на что, но рекомендовалось в конференции
news.admin.net-abuse.email.
Теперь, если Ваш mail-сервер имеет имя, отличное от имени хоста, Вы моете добавить псевдонимы (aliases) в файл ``/etc/sendmail.cw''. Например, если Ваша система называется “
kirk.mydomain.name” и служит для обмена почтой для mydomain.name, но входящие адреса ожидаются в формате ``
user@mydomain.name'' то для доставки почты Вашим пользователим на “kirk”, добавьте такую строку:
mydomain.name |
some.domain REJECT hax0r.another.domain 550 Contact site administrator at (555) 555-1234. |
После внесения изменений в файлы, надо обновить файл ``access.db'' и перезапустить sendmail:
/usr/sbin/makemap hash /etc/mail/access.db < /etc/mail/access /etc/rc.d/init.d/sendmail restart |
Совет: Если Вы столкнулись соспамом в немеренных количествах, может пригодиться проект “Mail Abuse Prevention System” (MAPS); web-страница данного проекта расположена на http://www.mail-abuse.org. Если Вы используете Sendmail версии 8.9 или старше, поддержка RBL уже встроена, но выключена по умолчаню. Чтобы ее включить, надо поправить файл sendmail.mc: |
FEATURE(rbl) |
Более подробная информация, в том числе о настройке других серверов почты, есть на
http://www.mail-abuse.org/rbl/usage.html.
Иногда домен, который Вам нужен, оказался в черном списке. Если связь с ним очень нужна, Sendmail позволяет Вам отменять эти области, чтобы почта с них все-таки принималась. Поправьте файл ``/etc/mail/access'' как для информации о домене, описанной выше. Например:
blacklisted.domain OK |
Если Вы решаете подписаться на RBL, стоит сообщить Вашим mail-пользователям, об этом.
Для подробной информации о Sendmail см. FAQ по адресу:
http://www.sendmail.org/faq.
Назад |
Оглавление | Вперед |
Configuring the Squid HTTP Caching Proxy Daemon | Локальное оглавление | Enterprise Computing with Linux |
Настройка шрифтов под X
Совершенно искренне, X никогда не был известен наличием особенно привлекательных шрифтов. Фактически, много людей считают себя, что наличие уродливых, противных шрифтов является неудачным фактом жизни под X.
К счастью, можно улучшить внешний вид и увеличить число шрифтов, которые Вы можете использовать под X. Фактически, если Вы обладаете копией Windows, Вы можете даже копировать шрифты TrueType с нее и использовать их под X! Такая поддержка шрифтов обеспечивается сервером шрифтов ``xfstt'' или ``xfs'' (замечание переводчика: по-моему, с TrueType может работать только сервер ``xfstt'').
Red Hat 6.1 включает поддержку ``xfs'', и в результате обеспечивает привлекательные шрифты. Следовательно, если вы используете эту версию Linux, Вы можете быть удовлетворены ситуацией. Однако, можно сделать еще кое-что для обеспечения себя хорошими шрифтами: задействовать поддержку шрифтов TrueType, если они доступны.
Для включения поддержки шрифтов TrueType создайте каталог для них (например, ``
/usr/local/share/ttfonts'') и скопируйте в него нужные (или все) файлы шрифтов из Windows (там они лежат в каталоге ``c:\windows\fonts''). Замечание переводчика: каталог ``
c:\windows\fonts'' скрытый, так что включите просмотр скрытых файлов, кроме того, если Windows установлена не в каталог ``c:\windows'', то каталог со шрифтами будет ``где_там_лежит_Windows\fonts
''
Совет: Если у Вас нет шрифтов TrueType, некоторые можно сгрузить с сайта Microsoft: http://www.microsoft.com/typography/fontpack/default.htm. |
Для использования шрифтов из нового каталога ``ttfonts'', введите от имени root:
ttmkfdir -o fonts.scale mkfontdir |
Теперь отредактируйте файл ``
/etc/X11/fs/config'' и добавьте Ваш новый каталог шрифтов в список существующих каталогов. Еще смените значение
default-point-size с 120 на 140, что увеличит размер символов, сделав их более читабельными.
Наконец, выйдите из X (если Вы еще этого не сделали) и перезапустите xfs-сервер:
/etc/rc.d/init.d/xfs restart |
Теперь перезапустите X и наслаждайтесь новыми шрифтами!
Более подробная информация по настройке шрифтов под X и много хороших советов есть в ``XFree86 Font Deuglification Mini HOW-TO '' по адресу:
http://www.frii.com/meldroc/Font-Deuglification.html.
Назад | Оглавление | Вперед |
Using the X Desktop Manager | Локальное оглавление | Choosing a Window Manager for X |
Настройка Squid HTTP Caching Proxy
На работе я использую пакет Squid для предоставления proxy-кэширования web-страниц. Squid предлагает быстродействующее кэширование web-клиентов, и поддерживает запросы по FTP, Gopher и HTTP. Кроме того, Squid может быть иерархически связан с другими Squid-proxy серверами для упрощенного кэширования страниц.
В настоящее время имеется две версии Squid. Одна, “regular”, кажется, работает хорошо на машинах с большим количеством RAM. Вторая, “SquidNOVM”, является подходящей для машин с меньшим количеством RAM (я рекомендую использовать эту версию, если Вы имеете 64 МБ RAM или меньше). В основном, версия “NOVM” использует меньшее количество памяти за счет большего количества описателей файла. Я использую эту версию, и она работает хорошо.
( Under construction :-p )
Для отслеживания обновлений и исправлений в Squid следите за его web-сайтом
http://squid.nlanr.net/Squid/.
Назад | Оглавление | Вперед | ||
Configuring the Apache Web Server | Локальное оглавление | Configuring the Sendmail E-mail Daemon |
Настройка X Window System с помощью X-Configurator
Имеются два основных метода получения работающей X в Red Hat Linux. Первый и самый простой метод, состоит в том, чтобы использовать собственную утилиту Red Hat ``Xconfigurator''. Она делает попытки обнаружить ваши аппаратные средства и установить применимое программное обеспечение X с соответствующими параметрами настройки конфигурации.
Если ничего не получилось, попробуйте применить утилиту ``xf86config''. Она не такая дружественная как Xconfigurator, зато дает Вам более полный контроль над процессом конфигурации графической системы.
Наконец, если уж совсем ничего не получается, придется редактировать файл ``
/etc/X11/XF86Config'' ручками и подбирать параметры настройки. В такой ситуации разумно спросить совета у специалистов по Linux (см. раздел Где искать помощь в главе 13). Однако, Xconfigurator обычно все делает нормально!
После успешного запуска X Вы можете быть удивлены малым числом цветов. Дело в том, что X использует по умолчанию глубину цвета в 8 бит на пиксел (``bpp''). Вы можете использовать любую глубину цвета, поддерживаемую вашей аппаратурой.
Различные цветные глубины перечислены в вашем файле ``/etc/X11/XF86Config'', и выглядят следующим образом:
Subsection "Display" Depth 24 Modes "800x600" "1024x768" ViewPort 0 0 Virtual 1024 768 EndSubsection |
Данная секция показывает возможные разрешения, которые доступны при использовании 24-разрядной цветной глубины (800x600 и 1024x768, как указано в строке “Modes”); они могут переключаться “на лету” использованием клавиш <Alt><
+> and <Alt>< ->.
Обратите внимание: Как значение по умолчанию, при запуске X задано использование самого низкого разрешения. Если Вас такое поведение не устраивает, просто отредактируйте файл ``/etc/X11/XF86Config'' и переставьте разрешения (то есть, “1024x768” “800x600”). |
При запуске графики можно проверить каждое значение глубины цвета, набрав ``startx -- -bpp 24'' (для глубины 24 бита на пиксел) и посмотреть как будет работать X.
Если Вы способны успешно использовать более высокую цветовую глубину и хотите использовать ее как значение по умолчанию, Вы должны создать файл ``/etc/X11/xinit/xserverrc
'':
exec X :0 -bpp 24 |
Если Вы сконфигурировали X правильно, запустите его командой ``startx'' от имени любого пользователя. X GUI запустится, и после окончания работы с ним и выхода из X, Вы вернетесь в обычную консоль Linux.
Опционально, X может запускаться при начальной загрузке системы, и всегда выполняться (см. раздел Использование X Desktop Manager). Это может быть удобно для тех пользователей, у кого аллергия на консоль.
Назад |
Оглавление | Вперед |
Downloading and Installing Red Hat Updates | Using the X Desktop Manager |
Обновление ядра Linux
Время от времени надо обновлять ядро Linux. В нем регулярно отлавливаются ошибки и появляются новые возможности. Если Вы используете нестандартное оборудование, тоже придется перенастроить ядро.
Этот раздел описывает обновление и настройку нового ядра. Это не так трудно, как Вы можете думать!
Объявления о новых версиях ядра могут быть получены через различные источники, включая
comp.os.linux.announce newsgroup, или серверы http://freshmeat.net/
и http://slashdot.org/.
Пожалуйста обратите внимание, что имеется в настоящее время два “потока” разработки ядра: один называется “stable”, а другой “development”. Для критичных приложений, например, сервер Internet, строго рекомендуется использовать stable-версии ядра.
Различие между двумя потоками в том, что development-ядра включают новые, пока еще не проверенные аппаратные драйверы, файловые системы и тому подобное, что находится только в разработке и содержит кучу проблем. Такие версии предназначены для разработчиков ядра и тех, кто ОЧЕНЬ хорошо разбирается в системе
Stable-ядра представляют новые свойства и драйверы только после того, как они были полностью проверены. Малые (Minor) выпуски в этом потоке служат, чтобы очистить любые остающиеся ошибки, которые найдены и исправлены.
Два потока используют номера версии, которые пронумерованы по-разному, чтобы помочь различить их. Устойчивые ядра пронумерованы четным вторым числом в номере версии (2.0.35, 2.0.36, 2.2.4) в то время, как development-ядра пронумерованы со вторым нечетным номером (2.1.120, 2.1.121, 2.3.0).
Последнее устойчивое ядро всегда доступно в исходных текстах и откомпилированном виде на FTP сайте
ftp://ftp.redhat.com/redhat/updates. Скачайте нужные пакеты для вашей версии и платформы (например, зайдите в каталог ``
/6.1/i386/'' и скачайте файлы ``kernel-*.i386.rpm'' для версии 6.1 для платформы Intel).
Замечание: Вам не нужно скачивать исходные тексты ядра, если Вы не планируете формировать заказное ядро самостоятельно (подробности см. в разделе Построение специального ядра). |
Иногда, может быть необходимым использовать ядро, которое еще не было сделано доступным как RPM. В этом случае, Вы можете найти последние ядра на FTP сайте ftp://ftp.kernel.org в каталоге
/pub/linux/kernel/. Посмотрите каталог, соответствующий нужной главной (major) версии (сейчас ``v2.0
''), который хранит все выпуски ядра до самого современного. Загрузите нужный пакет (например, сжатый tarball для версии 2.0.36 называется ``linux-2.0.36.tar.gz'' для платформы Intel) и распакуйте его в каталог ``
/usr/src''.
Замечание: Исходники почти всех устанавливаемыех пользователем не из RPM-архивов программ должны быть распакованы в подкаталогах каталога ``/usr/local/src/'' по правилам, но это ядро, и в данном случае для него делается исключение. :-) |
Назад |
Оглавление | Вперед |
Strategies for Keeping an Up-to-date System | Локальное оглавление | Upgrading a Red Hat Stock Kernel |
Обновление Red Hat Stock Kernel
Самый простой путь обновления вашего ядра: использование ядер в формате RPM как предусмотрено Red Hat. RPM-файлы хранят откомпилированный код ядра с поддержкой для большого числа аппаратных средств и популярных свойств.
Установка такого ядра очень проста и включает совсем не много риска. Просто введите от имени root команды:
rpm -Uvh kernel-2.0.36.i386.rpm
cd /boot ls |
Посмотрите какое имя имеет новое ядро в выводе команды ``ls''. Вам интересны файлы ``vmlinuz'': например, третий RPM-релиз ядра версии 2.0.36 назван ``
vmlinuz-2.0.36-3''.
Поправьте файл настройки LILO (наберите: ``
pico -w /etc/lilo.conf'') и укажите имя файла нового ядра в строке ``image=/boot/...''. Теперь скомандуйте: ``/sbin/lilo''. Если LILO сообщает об ошибке, проверьте имя файла ядра в файле ``lilo.conf'': оно должно совпадать с именем файла ядра в каталоге ``
/boot/''.
Предупреждение: Не забудьте этот шаг! |
(Выше предполагалось, что используется платформа Intel и LILO в качестве загрузчика системы. См. подробности в разделе Загрузка с LILO главы 4 о LILO).
После обновления ядра и исправления данных загрузчика надо перезагрузить систему с новым ядром (подробности в разделе Выключение и перезапуск системы главы 6).
Назад | Оглавление | Вперед | ||
Linux Kernel Upgrades | Локальное оглавление | Building a Custom Kernel |
Обзор
Здесь рассматривается в общих чертах установка, настройка и поддержание в рабочем состоянии Вашей Linux-системы (сервера или рабочей станции). Здесь система не рассматривается во всех деталях: есть много хорошей документации по конкретным проблемам, и здесь предусмотрены ссылки на нее.
Вообще, Linux нетребует значительных усилий по настройке. Рутинные задачи, вроде ротации логов и их замены автоматизированы. Однако, в случаях особых потребностей или сбоя системы эта документация может оказаться полезной.
Я в настоящее время использую Linux дома и на работе. Она вот уже около четырех лет работает вполне надежно в качестве Internet и file/print сервера.
Назад | Оглавление | Вперед |
A Plea for Help | Choosing a Linux Distribution |
One User's Perspective
Я работаю с Linux на работе и дома.
На работе Linux используется для предоставления услуг провайдера Internet. Сервисы включают TACACS (dial-in modem user) аутенфикацию, web page hosting и proxy caching, а также SMTP и POP почту. Кроме того, мы используем Linux для поддержки сервиса NFS, а также протокола SMB (WfW/Win95/WinNT) файловый, print и FAX сервисы, предоставляемые пакетом Samba. Замечание переводчика: в Russian LDP планируется перевод руководства Using Samba.
Дома я использую Linux для личных целей: разработка программ, сервисы Internet, и игры (Quake II под Linux работает отлично!). Одна из причин моего хорошего отношения к Linux втом, что она не падает! Она также является хорошим способом для обучения, разработки и поддержки моих Unix-проектов.
Я использую Red Hat Linux 6.1 (см. http://www.redhat.com). Данный дистрибутив включает все необходимое программное обеспечение для полновесной unix системы: оболочки, компиляторы и интерпретаторы, поддержку работы с сетями, X Window System, все сервисы Internet (Mail, news, web server, telnet, etc.). Дистрибутив поставяляется с ядром версии 2.2.12.
На работе Linux-система является главным сервером Internet:
Ядро: 2.2.12
Комп: Pentium II на 300 MHz (bogo-mips 299.83) с шиной PCI, 256 Mb RAM
Один 3 Gb Fujitsu IDE винчестер (/dev/hda)
Четыре 4.4 Gb Quantum Fireball SCSI винчестера (с /dev/sd0 по /dev/sd3),
24x SCSI CD-ROM (/dev/scd0),
Adaptec AHA-131 SCSI контроллер
HP SCSI DAT стриммер (/dev/st0 и /dev/nst0),
Intel EtherExpress Pro 10/100 Ethernet карта
Есть и вторая система (в другом офисе). Она работает под Red Hat 5.2 и обеспечивает файл и print сервисы по сети через Samba, локальный web caching через Squid и вторичный DNS сервис. Увы, вторая система находится в 50 км от места, где я обычно работаю, так что остается фактически на управлении по сети. И работает! Ее конфигурация:
Ядро: 2.2.12
Комп: Pentium II на 350 MHz (bogo-mips 349.80) с PCI-шиной, 256 Mb RAM
Один 4.1 Gb Quantum Fireball SCSI винчестер (/dev/sda)
Четыре 9. 4 Gb Quantum Fireball SCSI винчестера (/dev/rd/c0d0, /dev/rd/c0d1) как аппаратный RAID-массив уровня 5,
36x SCSI CD-ROM (/dev/scd0),
BusLogic BT-948 SCSI контроллер
Mylex AcceleRAID 250 (DAC960) RAID контроллер,
HP SCSI DAT стриммер (/dev/st0 и /dev/nst0),
Intel EtherExpress Pro 10/100 Ethernet карта
При наличии невероятных 24+ Gb места на диске, с избыточным хранением, конфигурированным аппаратными средствами RAID5 массива, дает чувство спокойствия. Mylex RAID контроллер работает отлично, и я без колебаний рекомендую его всем, кто разыскивает аппаратное решение для RAID! (Если интересуетесь настройкой Linux с массивом RAID, см. раздел Высокая надежность и RAID в главе 11.)
Есть еще четыре системы под Linux; Alpha, Sparc и две машины Intel; и моя домашняя машина.
Этот документ содержит информацию по возможности независимую от аппаратных средств, но знание того, на какой аппаратуре все проверялось иногда может Вам весьма пригодится.
Назад | Оглавление | Вперед |
Breaking the Myths | Локальное оглавление | Installation and Hardware Configuration |
Пароли в Linux & формат файла Shadow
Традиционные Unix системы хранят данные о пользователях вместе с зашифрованным паролем в текстовом файле ``/etc/passwd''. Поскольку этот файл используется многими инструментальными средствами (типа ``ls'') чтобы отобразить владельца файла и другие подобные сведения, файл должен быть открыт на чтение для всех, что, конечно, дает отличный шанс хакерам.
Другой метод хранения информации, тот, который я всегда использую, затенение паролей. Как и раньше, есть файл /etc/passwd с данными о пользователях. Однако, вместо паролей ставится символ “x”, а пароли хранятся отдельно в файле ``
/etc/shadow'', в котором хранятся зашифрованные пароли и некоторая дополнительная информация о паролях. Файл /etc/shadow доступен для чтения только root, что повышает защиту.
В Red Hat Linux установка пакета Shadow Password Suite, ответственного за теневые пароли, проста. Наберите как root:
/usr/sbin/pwconv Для конвертации в формат shadow /usr/sbin/pwunconv Для конвертации назад в нормальный формат |
С теневыми (shadow) паролями файл ``/etc/passwd'' хранит сведения о пользователях в виде:
smithj:x:561:561:Joe Smith:/home/smithj:/bin/bash |
Каждое поле в записи отделено символом “:”:
Username, до 8 символов. Регистр важен, обычно пишут в нижнем регистре.
Символ “x” в поле пароля. Пароли хранятся в файле ``/etc/shadow''.
Числовой user id. Назначается скриптом ``adduser''. Unix использует данное значение и значение группы для определения кому какие файлы принадлежат.
Числовой group id. Red Hat использует group id в довольно неожиданном способе усиления защиты файла. Часто group id равен user id.
Полное имя пользователя. Максимальная длина мне неизвестна, но лучше ограничиться разумными рамками (до 30 символов).
Домашний каталог пользователя. Обычно /home/username (например, /home/smithj). Там хранятся все личные файлы пользователя и его web-страницы.
Пользовательская оболочка. Обычно используется ``/bin/bash'' для доступа к оболочке bash.
Если нужно чтобы пользователь не имел доступа к shell, создайте скрипт ``/bin/sorrysh'', который выведет соотвтетствующее сообщение и завершит работу пользователя. Впишите скрипт сюда в качестве оболочки.
Замечание: Если пользователь должен передавать файлы по “FTP” shell должна быть нормальной оболочкой, например, ``/bin/bash'', а чтобы не давать shell-доступа надо настроить доступ в домашнем каталоге пользователя. См. раздел Администрирование Web-сервера и HTTP Proxy в главе 7. |
smithj:Ep6mckrOLChF.:10063:0:99999:7::: |
Username, до 8 символов. Совпадает с username в файле /etc/passwd.
Пароль, 13 символов (зашифрованный). Пустая запись (то есть, ::) показывает, что для входа пароль не нужен (обычно идея плохая), и запись ``*'' (то есть, :*:) показывает, что вход заблокирован.
Количество дней (с 1 января 1970), когда пароль был сменен в последний раз.
Число дней до смены пароля (0 показывает, что он может быть сменен всегда).
Число дней, после которых пароль должен быть сменен (99999 показывает, что пользователь может не менять пароль фактически никогда).
Число дней, в течение которых пользователь получает предупреждения о необходимости пароль сменить (7 для полной недели).
Число дней после окончания действия пароля, когда еще можно работать. Если пароль не сменить, после данного срока он выдохнется, и аккаунт будет заблокирован.
Число дней, начиная с 1 января 1970, после которых пароль будет заблокирован.
Зарезервировано для возможного будущего использования.
Назад |
Оглавление | Вперед |
Removing User Accounts | Локальное оглавление | System Shutdown and Restart |
Переход к ядрам Linux 2.2.x
Ядро Linux 2.2.0 вышло 25 января 1999, принеся много новых свойств, улучшение эффективности и аппаратной поддержки. Любая существующая Linux-система может быть обновлена до одного из этих новых ядер, как описано в разделе Обновление ядра Linux.
Этот раздел описывает, как обновить Вашу систему до новых версий ядра. Так как Red Hat 6.0 (и выше) поставляется уже с новым ядром и пакетами обеспечения, этот раздел будет полезен только для тех, кто работет со старыми версиями, например 5.2. Я, вероятно, удалю этот раздел из будущих версий этого документа, как только я приду к выводу, что большинство пользователей мигрировало к версии 6.0 и выше.
Предупреждение! Имейте в виду, что обновлять надо не только ядро, но и ряд других пакетов, так что возможно, что кое-что будет идти ужасно неправильно. Как всегда, имейте резервные копии на случай, если что-то пойдет не так. Если Вы не имеете опыта обновления файлов с RPM или компиляции ядра, возможно, имеет смысл обновить систему до Red Hat 6.1. |
Вы можете обновляться на подготовленное Red Hat ядро или построить свое собственное. Я рекомендовал бы сначала перейти на подготовленное ядро, а уж потом формировать свое настроенное ядро (см. раздел Обновление Red Hat Stock Kernel.).
Чтобы использовать последнее ядро, необходимо обновить утилиты и системные библиотеки. Red Hat выявила, какие пакеты должны быть обновлены, чтобы поддерживать самое новое ядро и поместила соответствующие файлы RPM на свой FTP сайт ftp://ftp.redhat.com/redhat/updates/5.2/kernel-2.2/i386/
(для Red Hat 5.2 на платформе i386).
Очень хорошая web-страница, детализирующая инструментальные средства которые необходимы для перехода к версии ядра 2.2.x доступна на http://www-stu.calvin.edu/clug/users/jnieho38/goto22.html; ниже я буду пытаться суммировать информацию (элементы, отмеченные ``**'' показывают, что их надо обновить для Red Hat 5.2; элементы, не обозначенные так, возможно не нужно обновлять, но стоит их проверить).
** initscripts-3.78-2.4 или выше (введите ``rpm -q initscripts'' для проверки версии)
** modutils-2.1.121 или выше (введите ``rpm -q modutils'' для проверки версии)
** mount-2.9-0 или выше
(введите ``rpm -q mount'' для проверки версии)
gcc-2.7.2.3 или выше (``
rpm -q gcc'')
binutils-2.8.1.0.23 или выше
(``rpm -q binutils'')
libc-5.4.46 или выше (Red Hat использует новую ``glibc''. Не нужно.)
glibc-2.0.7-6 или выше (``
rpm -q glibc'')
ld.so 1.9.9 или выше (``
ls -l /lib/ld.so.*'')
libg++-2.7.2.8 или выше
(``rpm -q libg++'')
procps-1.2.9 или выше (``
rpm -q procps'')
** procinfo-15 или выше
(``rpm -q procinfo'')
psmisc-17 или выше (``
rpm -q psmisc'')
** net-tools-1.50 или выше (``rpm -q net-tools'')
loadlin-1.6 или выше ( Нужно только если Вы загружаете Linux из DOS, используя Loadlin. Не уверен, как вычислять номер версии; загрузите последнюю версию, чтобы быьт уверенным.)
sh-utils-1.16 или выше (``
rpm -q sh-utils'')
autofs-3.1.1 или выше (``
rpm -q autofs'')
nfs-server2.2beta37 или выше
(``rpm -q nfs-server''; нужен только если Вы используете NFS-сервер.)
bash-1.14.7 или выше (``
rpm -q bash'')
ncpfs-2.2.0 или выше (``
rpm -q ncpfs''; нужен только если Вы используете файловые системы Novell.)
kernel-pcmcia-cs-3.0.6 или выше
(``rpm -q kernel-pcmcia-cs''; нужен только если Вы используете laptop с поддержкой PCMCIA card.)
ppp-2.3.5 или выше (``
rpm -q ppp''; нужен только если Вы работаете с Internet через модем и PPP.)
dhcpcd-1.3.16-0 или выше (``
rpm -q dhcpcd''; нужен только если Вы работаете с клиентом DHCP для связи с Internet, например с cable modem).
** util-linux-2.9.0
(``rpm -q util-linux'')
setserial-2.1 или выше (``
rpm -q setserial'')
ipfwadmin/ipchains (нужен только если Вы работаете с брандмауэром; см. ``IPCHAINS-HOWTO'' по адресу:
http://isunix.it.iltu.edu/resources/ldp/HOWTO/IPCHAINS-HOWTO.html.)
Вы должны скачать и обновить нужные пакеты, используя RPM как требуется (см. раздел Использование Red Hat Package Manager (RPM)).
Внимание: Обновление пакета ``modutils'' не работает с модулями ядер 2.0.x! Не обновляйте данный пакет пока не поставите новое ядро в ``/usr/src/linux ''. |
Послеобновления инструментальных средств системы, Вы можете устанавливать исходные тексты ядра. Их можно найти на Red Hat FTP; я рекомендую загрузить одно из обновлений для Red Hat 6.1 с
ftp://ftp.redhat.com/redhat/updates/6.1/i386/. Чтобы поставить нужный пакет, введите:
rpm -Uvh kernel-source*.rpm kernel-headers*.rpm |
/sbin/chkconfig kerneld off /etc/rc.d/init.d/kerneld stop rpm -Uvh modutils*.rpm |
Зато при следующей загрузке Вы будете работать с последней и самой большой версией ядра Linux!
Много полезной информации можно найти на Red Hat web-сайте
http://www.redhat.com/corp/support/docs/kernel-2.2/kernel2.2-upgrade.html.
Назад |
Оглавление | Вперед |
Building a Custom Kernel | Локальное оглавление | Configuring the Apache Web Server |
Планирование процессов: Cron и файлы Crontab
Может пригодиться свойство Linux выполнять задачи в заданное время. Такое полезно при организации рутинных процедур обслуживания системы, которые должны выполняться периодически в заданное время. Такие процедуры не требуют вмешательства администратора, и могут выполняться автоматически. Для их выполнения есть утилита ``cron''. Такие задачи могут выполняться с разной частотой: от раза в минуту до раза в год.
Утилита cron в Linux очень похожа на подобные ей средства в других версиях Unix. Однако, Red Hat имеет несколько особый путь планирования задач, чем принятый в других дистрибутивах Linux. Как и в других версиях, информация о планируемых процессах заносится в системный файл ``crontab'' (в каталоге ``/etc/''), в формате:
минута час день месяц год команда |
Каждый компонент может быть задан целым числом (от 1 до 12 для месяцев) или вместо компонента может стоять звездочка (``*''), которая воспринимается как любое значение (то есть, * в компоненте месяца задает выполнение команды в заданное время заданного дня
каждого месяца. Например:
# Mail the system logs at 4:30pm every June 15th. 30 16 15 06 * for x in /var/log/*; do cat ${x} | mail postmaster; done
# Inform the administrator, at midnight, of the changing seasons. 00 00 20 04 * echo 'Woohoo, spring is here!' 00 00 20 06 * echo 'Yeah, summer has arrived, time to hit the beach!' 00 00 20 10 * echo 'Fall has arrived. Get those jackets out. :-(' 00 00 20 12 * echo 'Time for 5 months of misery. ;-(' |
Заметим, что команды, вывод которых идет на стандартный вывод системы, (например, команда ``echo'' в данном примере) пошлют свой вывод пользователю ``root'' по почте. Если такой подход Васне устраивает (хотя он удобен для контроля процессов), просто перенаправьте вывод на устройство null:
00 06 * * * echo 'I bug the system administrator daily at 6:00am!' >/dev/null |
В дополнение к стандартным записям в ``crontab'', Red Hat добавляет несколько каталогов:
/etc/cron.hourly/ /etc/cron.daily/ /etc/cron.weekly/ |
Исполняемые файлы могут быть помещены в любой из этих каталогов, и они будут выполнены ежечасно, ежедневно или еженедельно. Это сохраняет немного времени при установке частых задач: только поместите скрипт или программу (или символическую ссылку) в соответствующий каталог, и забудьте про это!
Назад | Оглавление | Вперед | ||
Starting and Stopping Processes | Локальное оглавление | Upgrading Linux and Other Applications |
Построение специального ядра
Если Вы используете Linux с необычной аппаратурой, нуждаетесь в возможностях, которых нет в стандартных ядрах системы или хотите уменьшить память, отдаваемую ядром тем возможностям, которыми Вы все равно не пользуетесь, создайте специально настроенное ядро.
Обновление ядра включает конфигурирование желательных модулей, компиляцию ядра и модулей, и в заключение установку образа ядра. Это сопровождается перезагрузкой системы, чтобы загрузить новое ядро. Все это описано в файле ``README'', поставляемом с каждым пакетом ядра. Дальнейшая информация может быть найдена в подкаталоге ``Documentation/''. Особенно полезный файл там ``
Configure.help'', который содержит детализированную информацию относительно доступного ядра, параметров компиляции и модулей.
Далее приводится пример построения заказного ядра версии 2.0.36 для платформы Intel. При формировании заказного ядра обычно происходит только конфигурирование, компиляция и установка, но иногда (обычно в случае новых аппаратных средств) необходимо загрузить дополнительное программное обеспечение (драйвер), если аппаратные средства еще не поддерживаются версией ядра, которую Вы компилируете.
Первый шаг в формирование заказного ядра: скачать и поставить исходный текст ядра из RPM (рекмендуется) или из tarball. См. в разделе Обновление ядра Linux подробности о том, какие файлы нужны и где их взять.
Теперь утилитой ``rpm'' (или ``tar'') поставьте дерево исходников ядра и файлы заголовков. Например, для установки ядра 2.0.36-3 из RPM:
rpm -Uvh kernel-source-2.0.36-3.i386.rpm kernel-headers-2.0.36-3.i386.rpm rpm -Uvh kernel-ibcs-2.0.36-3.i386.rpm |
(Если Linux используется на notebook, Вам также нужен файл ``kernel-pcmcia-cs-2.0.36-3.i386.rpm '', который поддерживает функции управления питанием.)
После установки файлов ядра, Вы должны быть способны найти новое дерево исходников в каталоге ``
/usr/src/linux/''.
Следующий шаг: надо скачать все дополнительные файлы драйверов (если они нужны) и установить их в новое ядерное исходное дерево. Например, чтобы добавить поддержку для Mylex DAC960 (аппаратный контроллер RAID) я загрузил драйвер с сайта
http://www.dandelion.com. К сожалению, такое программное обеспечение предлагается обычно только как tarballs, так что ставьте с использованием утилиты ``tar''. Например:
cd /usr/src/ tar zxvpf DAC960-2.0.0-Beta4.tar.gz |
README'', который поясняет как разместить скачанные файлы и применить патч ядра:
mv README.DAC960 DAC960.[ch] /usr/src/linux/drivers/block patch -p0 < DAC960.patch |
mail:/usr/src# cd /usr/include mail:/usr/include# rm -rf asm linux scsi mail:/usr/include# ln -s /usr/src/linux/include/asm-i386 asm mail:/usr/include# ln -s /usr/src/linux/include/linux linux mail:/usr/include# ln -s /usr/src/linux/include/scsi scsi |
Замечание: данный шаг больше не нужен для ядер версии 2.2.x или выше. |
Надо разобраться в том, что Вам нужно в системе, какие возможности должны поддерживаться, какое оборудование имеется. После нескольких попыток настройки ядра, процесс станет очень понятным и знакомым. Это в первый раз трудно, потом привыкнете!
Наберите следующее для запуска процесса настройки:
mail:/usr/include# cd /usr/src/linux mail:/usr/src/linux# make mrproper mail:/usr/src/linux# make menuconfig |
Чтобы конфигурировать ваше ядро, пройдите различные параметры настройки, разрешите те, которые нужны, и снимите выделение (отключите) с тех, которые не нужны. Вы можете выбирать между наличием поддержки некоторого свойства, встроенной в ядро, и наличием ее как модуля, который загружается и выгружается ядром когда необходимо. (Если Вы компилируете свойство, которое фактически необходимо, чтобы загружать систему, типа SCSI драйвера, как модуль, Вы будете должны создать образ RAMDISK, или система не будет загружаться. Это делается командой ``mkinitrd''; эта процедура описана немного позже.)
При прохождении параметров настройки конфигурации, Вы можете выбрать <Help> для описания того, зачем нужна данная опция ядра.
После того, как Вы сконфигурировали ваши ядерные параметры настройки, введите следующие команды, чтобы откомпилировать ядро:
mail:/usr/src/linux# make dep ; make clean mail:/usr/src/linux# make bzImage mail:/usr/src/linux# make modules |
mail:/usr/src/linux# mv /lib/modules/2.0.36-3 /lib/modules/2.0.36-3-backup |
mail:/usr/src/linux# make modules_install |
mail:/usr/src/linux# cd /boot mail:/boot# cp vmlinuz vmlinuz.OLD mail:/boot# cp /usr/src/linux/arch/i386/boot/bzImage vmlinuz-2.0.36 mail:/boot# /sbin/lilo |
boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/vmlinuz label=Linux root=/dev/hdb1 read-only image=/boot/vmlinuz.OLD label=OldLinux read-only |
Замечание: Как упомянуто выше, если Вы откомпилировали требуемое для загрузки системы свойство как модуль, Вы должны создать загрузочный образ RAMDISK, чтобы загрузить вашу систему. (Не забудьте откомпилировать Ваше ядро с поддержкой для такого образа начальной загрузки.) |
Процедура для создания и использования загрузочного образа RAMDISK:
Добавьте запись в файл ``/etc/lilo.conf'' для загрузки с загрузочного (initial) образа RAMdisk; как показано ниже:
image=/boot/vmlinuz label=Linux root=/dev/hdb1 initrd=/boot/initrd-2.2.4-4.img read-only |
Устройство loopback должно быть загружено прежде, чем Вы сможете использовать команду mkinitrd. Загрузите модуль устройства loopback:
/sbin/insmod loop |
''.)
Используйте команду ``mkinitrd'', чтобы создать образ:
/sbin/mkinitrd /boot/initrd-2.0.36-3.img 2.0.36-3 |
Запустите ``
/sbin/lilo'', чтобы обновить начальный загрузчик.
Вот и все, теперь перезагрузитесь с новым ядром!
mail:/boot# /sbin/shutdown -r now |
mount root=/dev/hda1 |
Linux должен нормально загрузиться с дискеты. Конечно, данное ядро не поддерживает специфических возможностей, так что часть аппаратуры, возможно, не будет работать, но того, что есть хватит для устранения неполадки. Восстановите старое ядро, переустановите LILO (то есть, ``mv /vmlinuz.old /vmlinuz ; /sbin/lilo'') и перезагрузитесь. Теперь можно попробовать перекомпилировать ядро с другими опциями и повторить попытку. Замечание переводчика: если Вы предусмотрели в настройке LILO запись для старого ядра, наберите ``OldLinux'' при загрузке с жесткого диска, чтобы загрузиться со старым ядром и исследовать проблему. Здесь дискеты не понадобятся. Непонятно почему автор предусмотрел упоминание про эту возможность выше, а здесь стал описывать загрузку с дискеты, будто нет возможности загрузить старое ядро. Забыл, что ли?
Назад |
Оглавление | Вперед |
Upgrading a Red Hat Stock Kernel | Локальное оглавление | Moving to the Linux 2.2.x Kernels |
Повреждение файловой системы после отключения питания или система рухнула
Хотя Linux устойчивая операционная система, иногда бывает всякое... Если Linux аварийно завершилась (возможно из-за ядерной ошибки, или из-за отключения электричества), ваша файловая система не была размонтирована, и будет автоматически проверена на ошибки, когда Linux перезапустится.
Обычно любые проблемы файловой системы малы, и вызваны буферами файлов, не записанными на диск, типа удаленного inodes, все еще отмеченного как используемый. В большинстве случаев, проверка файловой системы способна обнаружить и выполнить ремонт такой ошибки автоматически, и после завершения процесс начальной загрузки Linux продолжится как обычно.
Если проблема файловой системы более серьезна (такие проблемы имеют тенденцию вызываться дефектными аппаратными средствами типа плохого жесткого диска или чипа памяти), проверка файловой системы не может решить проблему автоматически. Это обычно, но не всегда, бывает в случае, когда корневая файловая система разрушена. В этом случае процесс начальной загрузки Red Hat отобразит сообщение об ошибках и запустит shell, позволяя Вам сделать попытку ремонта файловой системы вручную.
Поскольку оболочка восстановления не смонтировала файловые системы, кроме корневой (да и ее только для чтения: “read-only”), можно проверить все файловые системы соответствующими утилитами. Выполните для поврежденных систем e2fsck, которая обычно способна исправить ошибки.
После того, как Вы исправили (надеюсь) любые проблемы файловой системы, просто выйдите из оболочки. Linux перезагрузит систему и сделает попытку последующего рестарта.
Естественно, чтобы быть подготовленным к ситуациям типа невосстанавливаемой проблемы файловой системы, Вы должны иметь:
Набор дисков аварийной загрузки (boot/root emergency disk set), и/или
Аварийный диск LILO (LILO emergency boot disk), и
Недавнюю резервную копию Ваших важных файлов на всякий случай!
Назад | Оглавление | Вперед | ||
Help! Trouble in Paradise! | Локальное оглавление | Where to Turn for Help |
Проблемы расширения и переноса сервера
С поддержкой разнообразных аппаратных средств и доказанным быстродействием и надежностью, Linux постепенно начинает применяться на все более мощной аппаратуре. Это может включать переход к SMP (Symmetric Multi Processing) конфигурации для больших возмоностей обработки процессов, RAID level от 0 до 5 (программная или аппаратная поддержка) и т.п.
Если возможностей аппаратуры уже не хватает, нужен апгрейд. Здесь есть два варианта: нарастить мощность имеющегося сервера, или перенести все на новый. Этот раздел концентрируется на второй ситуации, когда Вы будете переносить свои сервисы со старого сервера на новый.
Имеются несколько cтратегий перемещения, однако этот раздел будет пытаться объяснить некоторые основные принципы, которым Вы можете следовать, чтобы гарантировать, что перенос сервера сопровождается минимальными разрушениями для пользователей.
Подготовьте новый сервер как нужно; установите и сконфигурируйте Linux так, чтобы новые аппаратные устройства работали, запустите все необходимые возможности ядра и демоны. Подробности см. в главе 4 и разделе Построение специального ядра главы 10.
Установите нужные сервисы (например, Apache web-сервер, Samba или Netatalk file & print сервисы) и погоняйте сервер с тестовыми данными несколько дней, дабы убедиться, что все работает. Подробности в разделах: Файловый сервис и печать через Samba главы 7 и Файловый сервис и печать через Netatalk главы 7 . Не забудьте гарантировать, чтобы любые изменения или скрипты в каталоге ``/etc/'' включая все в ``/etc/rc.d/'' также были выполнены на новом сервере как требуется. Особенно важно, чтобы Вы не забыли внести данные о пользователях в файлы ``/etc/passwd'', ``/etc/group'' и, если используется затенение паролей, в ``
/etc/shadow''!
Остановите сервисы на старом сервере, чтобы ваши файловые системы имели минимальное количество модификации файлов. Очевидно, Вы не хотите, чтобы юзвери меняли данные на старом сервере, в то время как Вы переносите данные на новый! Как root Вы можете остановить большинство сервисов следующей командой:
killall httpd atalkd smbd nmbd squid sendmail ftpd |
Данная команда завершит web-сервер, file & print сервисы, e-mail сервер и сервис FTP. ( У Вас может использоваться не совсем то, что я перечислил, так что проверьте список процессов и завершите все сервисы; см. раздел Управление процессами в главе 9.)
Можно также поправить на старом сервере файл ``
/etc/inetd.conf'' и закомментировать символом ``#'' все сервисы (такие как FTP, IMAP и POP3), которые меняют файловую систему. После чего от имени root введите:
killall -HUP inetd |
Теперь можно скопировать данные с одного сервера на другой. Переносить нужно данные из ``/home'', ``/var/spool'' и особых файловых систем, вроде ``
/archive''. В примере ниже использована утилита ``tar'' для создания сжатой копии данных:
cd / tar zcvpf /tmp/backup_data.tar.gz --exclude=var/spool/squid \ home archive var/spool |
Совет: Вы можете использовать утилиту ``du'' для оценки требуемого места. Например, чтобы узнать, сколько занимают каталоги ``/archive/'' и ``/home/'' введите: |
du -h -s /archive /home |
Теперь можно восстановить данные из tar-файла на новом сервере. Вы можете восстанавливать их непосредственно по NFS (см. раздел Сервисы Network File System (NFS) главы 7 на предмет настройки NFS) или просто передайте архив по FTP и распакуйте его на месте (замечание переводчика: сначала автор отключил сервис FTP, а теперь предлагает использовать его для передачи файлов...). В следующем примере восстанавливаются файлы, запакованные выше:
cd / tar zxvpf /tmp/backup_data.tar.gz |
Если все нормально, поменяйте IP-адреса на новом и старом сервере.
Наконец перезапустите сервер для отлова неожиданных ошибок. Подробности в разделе Выключение и перезапуск системы главы 6 .
Назад |
Оглавление | Вперед |
High Availability with RAID | Локальное оглавление | Strategies for Keeping a Secure Server |
Просьба о помощи
Если Вы находите этот документ полезным и хотели бы выразить Вашу поддерку, пожалуйста рассмотрите какую-либо финансовую помощь автору.
Назад | Оглавление | Вперед |
Copyright Information and Legal Disclaimers | Локальное оглавление | Introduction |
Проверка места на дисках
Время от времени проверяйте количество свободного места на дисках с помощью команды “df”. На моем рабочем сервере Internet результат выглядит так:
Filesystem 1024-blocks Used Available Capacity Mounted on /dev/sda1 1888052 135908 1654551 8% / /dev/sdd1 4299828 100084 3977246 2% /archive /dev/hda2 3048303 897858 1992794 31% /archive2 /dev/hda1 11677 1380 9694 12% /boot /dev/sdc1 4299828 350310 3727020 9% /home /dev/sdb1 4299828 598504 3478826 15% /usr /dev/sda2 1888083 700414 1090075 39% /var /dev/scd0 593958 593958 0 100% /cdrom |
Ряд файловых систем стабильны в том плане, что очнь мало меняют свою загруженность.
Файловая система “/” (она же root), смонтированная на /dev/hda1, хранит ядро Linux, файлы устройств и другие каталоги. Почта пользователей харнится в (
/var/spool/mail/), а логи в (/var/adm/), но почта уходит и приходит, а логи регулярно очищаются, так что свободное место почти не колеблется (примерно на 1% в месяц). Логи чистятся и резервируются еженедельно автоматически.
Замечание: Если эта файловая система возрастает быстро, сконцентрируйте свои усилия на каталоге /var/spool/mail directory: поищите там огромные почтовые ящики (например, командой ``
find /var/spool/mail -size +1000k'', которая выведет список почтовых ящиков, превышающих размерами 1Mb). Если обнаружен ящик размером больше 1,000,000 байт, значит пользователь его не чистит или подписан на большое число списков рассылки. Войдите с ним в контакт или просто сотрите его почту командой “> mailbox”, (например, ``>smithj'' сотрет почтовый ящик Joe Smith). Если пользователь возмутится уничтожением своей почты, не придавайте значения: вы администратор, а он пользователь, значит никто. Если места все еще мало, проверьте каталог ``/tmp/ '', который тоже надо чистить: программы должны удалять свои временные файлы, но удаляют их далеко не всегда... |
Файловая система “/usr/”, смонтированная на /dev/hda2, хранит софт, установленный администратором системы, web-страницы Вашего сайта, разные библиотеки, файлы заголовков для С и тому подобное. Система самая большая, но обычно растет медленно. Логи для web-страниц могут находиться здесь, и вот они-то растут быстро. Проверяйте и урезайте до приемлемых размеров. На моих системах в начале месяца логи для web перемещаются в сводный протокол за месяц (access_log.11 для логов за ноябрь). В конце года логи стираются и все начинается сначала, так что 1 января свободное место в системе резко увеличивается.
Замечание: Если эта файловая система растет быстро, проверьте каталоги ``/usr/local/etc/httpd/logs'' и ``/usr/local/squid/logs/'' (если они есть). Здесь могут быть слишком разросшиеся логи (например, если на сервер в последнее время пшла волна посетителей). Если логи регулярно автоматически урезаются, беспокоиться не о чем, и лучше их не торопится стирать: они могут пригодиться при анализе посещаемости Вашего сайта. Другое место, где лежат потенциально стираемые файлы, это ``/usr/tmp/''. |
Замечание: Если данная система выросла резко и неожиданно, значит кто-то положил много файлов в свой каталог. Проверьте файлы протокола ``/var/adm/xferlog.*'' для выявления того, кто расширил свою web-страничку. |
Еще есть CD-ROM, смонтированный как “/mnt/cdrom/” на /dev/scd0, который представляет из себя 24X SCSI CD-ROM, способный читать CD в формате ISO9660. Он используется прежде всего для установки программ, но DOS/Windows CD также могут быть смонтированы и доступны из Windows 3.x/95/NT как разделяемый сетевой ресурс с помощью сервиса Samba (подробности в разделе Файловый сервис и печать через Samba главы 7).
Команда “rm” удаляет файлы. Используйте ``rm filename''. Если нужно, чтобы перед удалением файла система спросила подтверждение, используйте параметр “-i” (например, ``
rm -i *''). В этом случае перед удалением каждого файла система спросит, уверены ли Вы.
Обратите внимание: Это значение по умолчанию для нормальных пользователей, но root система переспрашивать не будет, если не задан параметр “-i ”! |
Назад |
Оглавление | Вперед |
Cisco Router Configuration Backups | Managing Processes |
Разделение на разделы жесткого диска
Можно получить нормальную систему Linux на одном разделе. Кстати, такой подход проще, но иногда нужно все же несколько разделов.
Диск имеет смысл поделить на четыре раздела для основных файловых систем (root, /usr, /home и swap).
Во-первых, это может уменьшить время, требуемое, чтобы выполнить проверки файловой системы, потому что эти проверки могут быть выполнены параллельно. (Между прочим, НИКОГДА не выполняйте fsck на смонтированной файловой системе!!! Вы будете сожалеть о том, что случится с ней после такой проверки, но будет уже поздно. Исключительная ситуация: если файловая система смонтирована в режиме только для чтения, тогда безопасно делать такое.) К тому же, проверять несколько разделов проще: если известно о проблеме в разделе /home, я просто размонтирую его, проверю и смонтирую снова (а вот в случае с одним разделом придется грузиться с rescue diskette в однопользовательском режиме).
Во-вторых, определенные разделы можно смонтировать только для чтения, что иногда полезно.
Наконец, важным аргументом является защита файлов: падение одной системы не означает потери всех остальных.
Этот небольшой факт может быть большым плюсом. Например, если корневой раздел так разрушен, что Вы не можете загружаться, Вы можете загружаться со спасательного набора дискет, смонтировать корневой раздел и скопировать с него все, что еще копируется, (или восстановить с копии; см. главу 8 о резервировании и восстановлении), на другой раздел, например, /home, снова перезагрузится с emergency boot disk, ввести “mount root=/dev/hda3” (если Ваша временная корневая файловая система находится на третьем разделе hda) и загрузить полностью функциональный Linux. Затем Вы можете выполнить fsck для несмонтированного разрушенного корневого раздела (замечание переводчика: мне известен сисоп, который специально создает такой резервный корневой раздел именно на случай, когда система взорвется).
Я имею личный опыт катастроф с файловыми системами и очень рад тому, что ущерб был минимален, благодаря правильному разделению на разделы.
Наконец, Linux позволяет поставить в другие разделы другие ОС (например, Windows 95/98/NT, BeOS или что хотите), и создать dual- (или triple-, ...) загрузку системы. Обычно, хотят иметь по крайней мере один отдельный раздел для каждой операционной системы. Linux включает приличный менеджер начальной загрузки (LILO на Intel-основанных системах, MILO на Alpha и SILO на Sparc), который позволяет Вам определять, которую операционную систему Вы хотите загружать при включении питания по умолчанию (вероятно, Linux, правильно?).
Вы должны выделить разделы диска согласно Вашим потребностям. В моем опыте на платформах Intel, Альфа и Sparc, для довольно загруженной системы, я нашел, что следующая схема работает вполне нормально.
Дано: Данный диск X Mb/Gb (например, 2 Gb) (Или больше чем один диск с общей емкостью в X Mb/Gb) Посчитаем: (swap) примерно двойная RAM (например, 64 Mb RAM требует 128 Mb swap) / (root) около 10% от доступного (например, 200 Mb) /home около 20% от доступного (например, 400 Mb) /usr все, что осталось (например, 1272 Mb) /var (опционально: см. ниже) /boot (опционально: см. ниже) /archive (опционально: см. ниже) |
Ниже описаны разные файловые системы, что, возможно, даст Вам хорошие идеи по поводу того, чему сколько выделить:
/ (root) используется для хранения временного каталога, образа ядра, загрузчика, важных системных программ и библиотек. Здесь же хранятся протоколы, почта пользователей, задания на печать и временные RPM-файлы. Тип раздела обязательно 83 (Linux native).
/usr должен быть самым большым разделом, потому что большинство двоичных файлов, требуемых Linux, также как все локальное программное обеспечение, некоторые протоколы и все исходники будут здесь. К тому же, по умолчанию здесь хранятся web-страницы, Squid-кэш и ресурсы Samba, хотя все это можно переместить куда-нибудь еще. Тип раздела обязательно 83 (Linux native).
/ home может быть небольшим, если пользователи не имеют shell-доступа. Если пользователи имеют web-страницы, раздел надо сделать побольше. Тип раздела обязательно 83 (Linux native).
(swap) Linux обеспечивает работу с виртуальной памятью, для создания большего количества памяти RAM, чем ее реально установлено в системе. Раздел свопа используется с RAM, чтобы выполнить это. Как правило, раздел свопа по крайней мере вдвое превосходит RAM.
Если Вы имеете больше чем один физический жесткий диск в системе, Вы можете создавать много разделов свопа. Это может улучшить эффективность подкачки, пользуясь преимуществом параллельного дискового доступа. Например, с 256 Mb RAM и с четырьмя дисками, я вероятно создал бы четыре раздела свопа по 128 Mb каждый. Таким образом, получится для 256 Mb RAM 512 Mb свопа (а всего 768 Mb доступной виртуальной памяти, что уже солидно). Тип раздела обязательно 82 (Linux swap).
Замечание: Есть общее неправильное представление, что Linux имеет ограничение размера свопа в 128 МБ. Это было истинно в прошлом, но в современных версиях Linux размер зависит от архитектуры (например, Intel системы могут иметь размер свопа до 2 Gb). Подробности можно получить командой ``man mkswap''. |
/boot (optional) В некоторых обстоятельства (типа системы, установленной в программной конфигурации RAID) может быть необходимо иметь отдельный раздел, чтобы загрузить Linux. Этот раздел позволит загрузиться и затем загрузить любые драйверы, которые требуются, чтобы читать другие файловые системы. Размер раздела может быть всего пара МБ; я рекомендую приблизительно 10 МБ (что должно дать Вам участок памяти, чтобы сохранить ядро, начальный образ RAMDISK, и, возможно, еще резервное ядро или два). Тип раздела обязательно 83 (Linux native).
/archive (optional) Если Вам некуда девать место, может пригодиться каталог для архивов /archive. Его можно использовать для хранения всяких архивов перед их сбросом на стриммер, пердоставления к ним доступа через samba file services, да мало ли для чего еще! Тип раздела можно задать 83 (Linux native), или какой угодно, если раздел должен быть доступен из других систем. Например, 6 (DOS 16-bit >=32M) для доступа из систем Microsoft.
Система точек монтирования позволяет добавлять диски по мере необходимости. Например, если кончилось место, и Вы добавили диск, скажем, sda6, то можно смонтировать его как /usr/local и передать на него все данные из каталога /usr/local. Но система и приложения как работали, так и будут работать: им совершенно все равно, где это /usr/local находится реально.
Вот как созданы разделы у меня на Intel-системе (dual boot, Windows 95 и Linux):
Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 254 1024096+ 6 DOS 16-bit >=32M /dev/hda2 255 255 782 2128896 5 Extended /dev/hda5 255 255 331 310432+ 83 Linux native /dev/hda6 332 332 636 1229728+ 83 Linux native /dev/hda7 637 637 749 455584+ 83 Linux native /dev/hda8 750 750 782 133024+ 82 Linux swap |
Второй раздел, /dev/hda2, является физическим разделом (“extended”) который охватывает остальное место на диске. Это используется только для размещения оставшихся логических разделов. (может быть до 4 физических разделов на диске; в моем случае я требовал больше чем 4 раздела, следовательно я был должен использовать логическую схему для выделения остальных разделов).
Разделы с третьего по пятый, /dev/hda5, /dev/hda6 и /dev/hda7, отформатированы в файловой системе ext2fs, и использованы как файловые системы для / (root), /usr и /home соответственно.
Наконец, шестой раздел, /dev/hda8, используется под своп.
Другой пример: машина на Alpha с двумя жесткими дисками (sole boot, только Linux):
Device Boot Begin Start End Blocks Id System /dev/sda1 1 1 1 2046 4 DOS 16-bit |
Первый раздел, /dev/sda1, DOS-раздел, используется для хранения MILO boot loader. Платформа Alpha имеет немного другой метод загрузки, чем система Intel, следовательно Linux сохраняет информацию начальной загрузки в разделе FAT. Этот раздел только должен быть как можно меньше, в данном случае 2 Mb.
Второй раздел, /dev/sda2, ext2, использован для раздела / (root).
Третий раздел, /dev/sda3, использован для свопа.
Четвертый раздел, /dev/sda4, является разделом “extended” (см. предыдущий пример).
Пятый и шестой разделы, /dev/sda5 и /dev/sda6, отформатированы в файловой системе ext2 и соответственно использованы для /home и /usr.
Седьмой раздел, /dev/sdb1, тоже ext2fs, использован для /archive.
Восьмой и последний раздел, /dev/sdb2, тоже ext2fs, использован для /archive2.
После выделения разделов надо записать информацию о них на диск. После этого программа установки Red Hat обновит таблицу разделов в памяти и перейдет к следующему шагу процесса установки.
Назад | Оглавление | Вперед |
Booting Linux Installation Program | Локальное оглавление | Setting up Swap Space |
Разрушение мифов
Я давно пользуюсь Linux и немного в ней разбираюсь. Поскольку я энергичный читатель USENET, я стараюсь следовать за последними новшествами в системе. Мне известно несколько мифов, используемых продавцами коммерческих систем, чтобы протолкнуть свои технологии. Попробую их опровергнуть.
Linux freeware, значит ничего серьезного.
Многие люди считают, что если что-то написано без расчета на прибыль, то это гарантированно качеством ниже, чем коммерческий продукт.
Такое раньше и правда имело место. Я знаю немало
freeware-программ под DOS и ранние версии Windows, которые были абсолютным мусором), но сейчас это уже не истина.
Мощность Internet сделала возможным соединить некоторые из самых ярких умов в мире, делая возможным их сотрудничество в проектах, которые они находят интересными. Люди, участвовавшие в разработке Linux или тысяч GNU утилит и пакетов прикладных программ делали это из разных соображений.
Здесь есть все: хакеры с их страстью к новинкам в системах, кто-то, кому просто что-то понадобилось (например, монитор сетевого трафика для LAN на работе) и они решили написать программу сами, ученые и просто спецы по компьютерам, которые используют Linux в исследованиях.
Коммерческие продукты продаются без исходного кода. А вот программы для Linux анализируются, улучшается и отлаживаются всеми желающими, благодаря открытым исходным текстам. Именно поэтому Linux очень надежна.
Помните: Internet создан исключительно на проектах Open Source. E-mail, которой вы ежедневно обмениваетесь с множеством людей, на 80% обслуживается пакетом Sendmail, web-страницы посылаются на ваши запросы сервером Apache более чем на 50% сайтов. Это достаточно надежно?
Для Linux нет никакой поддержки.
А для других систем есть? Я имел опыт работы с одной очень популярной коммерческой операционной системой, где так называемая “поддержка” была полностью бесполезна.
Для Linux поддержка есть. Да, коммерческая поддержка. Имеются компании, которые могут обеспечивать так много поддержки, как Вы желаете оплачивать; консультации по телефону и электронной почте, даже выезд к вам, чтобы иметь дело с проблемой на месте!
Однако, в 99% ситуаций с Linux Вы способны выполнить то, что Вы желаете, если Вы можете просто получить ответ на вопрос или два. Это легко сделать в USENET или любом из списков рассылки!
Я ни разу не столкнулся с ситуацией, когда не нашел бы ответа, поискав на http://www.dejanews.com, или поспрашивав в одной из конференций comp.os.linux.*. Обычно ответа приходится ждать от 3 до 12 часов после отсылки вопроса.
Другой интересный аспект Linux то, что, поскольку исходный текст всего ядра и большинства других компонентов операционной системы является свободно доступным, проблемы типа защиты, denial of service, или ошибки в CPU (например, Intel F00F fatal exception) решены очень быстро, обычно на порядок быстрее чем решения, предлагаемые для подобных или идентичных проблем на коммерческих системах. Так где же коммерческая поддержка!?
Есть еще много всяких мифов, но они выходят за рамки данного документа. Если интересно, ознакомьтесь с их опровержением на “Linux Myth Dispeller” по адресу http://www.KenAndTed.com/KensBookmark/linux/index.html и на “The Linux FUDfactor FAQ” по адресу http://www.geocities.com/SiliconValley/Hills/9267/fud2.html.
Назад | Оглавление | Вперед |
Linux Overview | Локальное оглавление | One User's Perspective |
Резервирование настроек роутера Cisco
На моей работе мы имеем WAN соединение нескольких удаленных точек. Эти удаленные точки имеют маршрутизаторы Cisco, связанные через ISDN для предоставления доступа к Internet и WAN. Cisco маршрутизаторы позволяют использовать TFTP (“Trivial File Transfer Protocol”) на сетевом сервере ждя чтения и записи файлов настроек. Всякий раз, когда конфигурация маршрутизатора изменена, важно сохранить файл конфигурации на Linux-станции так, чтобы имелась резервная копия.
Пожалуйста обратите внимание, что Red Hat отключает TFTP обслуживание по умолчанию, потому что это может быть реальным отверстием в защите, если не сконфигурировано правильно. TFTP daemon позволяет любому читать и писать файлы без того, чтобы выполнить аутеникацию. Я сам создал каталог ``/tftpboot/'', принадлежащий root, и поменял строку настрйки в файле ``/etc/inetd.conf'':
tftpd dgram udp wait root /usr/sbin/tcpd in.tftpd /tftpboot |
Замечание: Добавление пути ``/tftpboot'' в конце строки определенно указывает, где TFTP daemon может брать файлы. Хотя можно разместить данный каталог где-нибудь в недрах файловой системы, TFTP не особенно безопасен с точки зрения защиты. |
Когда сервис TFTP разрешен, введите:
killall -HUP inetd |
Данная команда перезапустит INETD daemon, чтобы изменения в файле inetd.conf были им восприняты.
Создание копии файла конфигурации маршрутизатора включает 3 шага: установка разрешений на существующем файле (или создание нового) для записи, запись резервного файла и сброс разрешения на запись, что ограничит доступ к файлу настроек. Например:
mail:~# cd /tftpboot
mail:/tftpboot# chmod a+w xyzrouter-confg chmod: xyzrouter-confg: No such file or directory mail:/tftpboot# touch xyzrouter-confg mail:/tftpboot# chmod a+w loyola-confg mail:/tftpboot# telnet xyzrouter Escape character is '^]'. User Access Verification Password: **** xyzrouter> enable Password: **** xyzrouter# write network Remote host []? 123.12.41.41 Name of configuration file to write [xyzrouter-confg]?
Write file xyzrouter-confg on host 123.12.41.41? [confirm]
Building configuration... Writing xyzrouter-confg !! [OK]
xyzrouter# exit Connection closed by foreign host. mail:/tftpboot# chmod a-wr,u+r xyzrouter-confg mail:/tftpboot# exit |
В случае сбоя маршрутизатора эти резервные файлы могут быть полезны при восстановлении конфигурации маршрутизатора. Восстановление из файла конфигурации включает 3 шага: установка разрешений на существующем файле, загрузка файла и сброс разрешений, для ограничения доступа к файлу:
mail:~# cd /tftpboot mail:/tftpboot# chmod a+r xyzrouter-confg mail:/tftpboot# telnet xyzrouter Escape character is '^]'. User Access Verification Password: **** xyzrouter> enable Password: **** xyzrouter# config network Host or network configuration file [host]? Address of remote host [255.255.255.255]? 123.12.41.41 Name of configuration file [xyzrouter-confg]? Configure using loyola-confg from 123.12.41.41? [confirm] Loading xyzrouter-confg from 123.12.41.41 (via BRI0): ! [OK - 1265/32723 bytes] xyzrouter# write xyzrouter# exit Connection closed by foreign host. mail:/tftpboot# chmod a-wr,u+r xyzrouter-confg mail:/tftpboot# exit |
Назад |
Оглавление | Вперед |
Server Restore Procedures | Локальное оглавление | Various & Sundry Administrative Tasks |
Резервирование программой ``KDat'':
При использовании KDE утилита ``KDat'' может показаться более подходящей из-за ее дружественного интерфейса. На самом деле KDat всего лишь оболочка для ``tar''. Так что все, что зарезервировано с помощью KDat можно прочитать в tar! Совместимость гарантирована.
Замечание: Даже если не установили полный комплект KDE, можно использовать KDat до тех пор, пока установлены библиотеки Qt. |
При первом запуске KDat нужно создать профиль резервирования. Он сообщает KDat какие файлы нужно резервировать. Если желаете, можете создать больше чем один профиль в зависимости от потребностей (например, Вы могли бы создать профили “Full Backup” для полного резервирования системы и “Quick Backup” для резервирования только пользовательских файлов).
Для создания профиля выберите “Create Backup Profile” из пункта “File” в строке меню (или щелкните правой кнопкой мышки на папке “ Backup Profiles” и выберите “ Create Backup Profile”). Можно задать разные опции в окне KDat: имя профиля, имя архива, опции tar и прочее. Щелкните на “Help” для подробного описания опций.
Для указания того, какие файлы надо резервировать, щелкните левой кнопкой на checkbox около папки ``/
''. Это включит в список каталог вместе со всеми его подкаталогами. Теперь щелкните левой кнопкой на маленьком ``+'' рядом с папкой. Папка откроется, показав что в ней есть. Теперь можно исключить ненужные объекты простым щелчком левой кнопкой на checkbox рядом с каждым каталогом или файлом, в резервировании которых нет необходимости. Закончив выбор объектов, щелкните левой кнопкой на создаваемом профиле, а затем на кнопке “ Files >>” для перемещения выбранных объектов в профиль резервирования.
Обратите внимание: Если данные не помещаются на носитель, придется создать по профилю на каждую порцию данных. |
Для выполнения резервирования вставьте ленту в стриммер и выберите “Mount Tape” из меню “ File” (или щелкните левой кнопкой на пиктограмме ленты). Лента будет смонтирована. Поскольку стриммер устройство символьное, его нельзя монтировать как диск. Так что KDat перемотает ленту на начало и попытается прочитать заголовок. Если найдет, попытается найти на жестком диске оглавление ленты. В противном случае KDat предложит отформатировать ленту.
Обратите внимание: Если KDat начнет жаловаться, что лента не находится в стриммере, а она там, Вы должны гарантировать что в настройках определено правильное имя устройства: щелкните левой кнопкой мыши на пункт “Edit” в меню и выберите пункт “User Preferences”. |
”. KDat сначала отобразит диалоговое окно, показывая Вам детали профиля, щелкните левой кнопкой на “Ok” для начала резервирования.
В процессе резервирования KDat отобразит диалоговое окно со статистикой (прошедшее время, сколько зарезервировано, процент завершения, предполагаемое оставшееся время, количество файлов и их размер) и список зарезервированных файлов. Полное резервирование имеет дело с гигабайтами данных и может занять несколько часов. Оно может быть прервано в любое время щелчком левой кнопкой мышки по кнопке “Abort”.
После завершения резервирования размонтируйте ленту, выбрав из меню “Edit” пункт “Unmount Tape” или щелкнув левой кнопкой мышки по пиктограмме ленты, что приведет к перемотке и выдаче кассеты.
Назад |
Оглавление | Вперед |
Настройка от A до Z программой Linuxconf | >Восстановление сервера |
Резервирование программой ``tar'':
Если Вы используете для резервирования ``tar'', разберитесь с ее параметрами командной строки: наберите “man tar ”, там будет подробное описание. Еще потребуется знать, как обращаться к резервным носителям. В мире Unix все устройства доступны как файлы. Если запись идет на символьное устройство, имя “file” является именем устройства, например ``
/dev/nst0'' для SCSI-стриммера).
Следующая команда скопирует Вашу Linux-систему в файловую систему ``/archive/'', исключив псевдофайловую систему ``/proc/
'', все смонтированные файловые системы в ``
/mnt/'', саму систему ``
/archive/'' и Squid cache, который незачем резервировать, да и занимает он немало места.
tar -zcvpf /archive/full-backup-`date '+%d-%B-%Y'`.tar.gz \ --directory / --exclude=mnt --exclude=proc --exclude=var/spool/squid . |
Не пугайтесь длинной команды! Разделите ее на компоненты и поймите ее красоту и простоту.
Здесь использованы опции: ``z'' (сжать резервную копию программой ``gzip''), ``c'' (создать архивный файл), ``v'' (отображать список файлов при архивации), ``p'' (сохранить в архиве права доступа к файлам: при восстановлении они будут тоже восстановлены). Опция ``f'' (file) указывает, что следующий параметр задает имя файла или устройства длязаписи. Обратите внимание на то, что имя архивабудет содержать дату его создания, поскольку в имя файла включена команда ``date''. Общее соглашение об именах состоит в том, чтобы к имени архива добавлять ``tar'', а к имени сжатого архива добавлять ``
tar.gz''.
Опция ``--directory'' задает имя начального каталога, из которого надо брать данные для архивации (в данном случае ``/''). Опция ``--exclude'' указывает каталоги, которые не надо архивировать. Наконец, символ ``.'' указывает, что упаковать все надо с путями относительно текущего каталога.
Обратите внимание: Опции для tar cAsE-sEnSiTiVe! То есть, чувствительны к регистру символов. К тому же, многие опции могут задаваться как один символ (например, ``f'') или как несколько (например, ``file''). Краткая форма предваряется одним символом ``-'', а полная двумя такими символами. |
Другой пример: запись только определенных файловых систем (в противоположность записи всех, кроме некоторых, как было показано выше).
tar -cvpf /dev/nst0 --label="Backup set created on `date '+%d-%B-%Y'`." \ --directory / --exclude=var/spool/ etc home usr/local var/spool |
Поскольку стриммер устройство символьное, невозможно указать имя файла архива на ленте. Имя в команде tar просто задает имя устройства, ``/dev/nst0'', первый стриммер на SCSI.
Обратите внимание: При использовании имени `` /dev/nst0'' лента не будет перемотана после записи архива, что позволяет записывать несколько архивов один за другим на ленту стриммера. А если перемотка нужна, используйте имя ``/dev/st0''. |
Будут архивироваться файлы из каталогов ``/etc/'', ``/home/'', ``/usr/local'' и ``/var/spool/'' (кроме Squid cache).
При работе с лентой можно использовать команды для перемотки и извлечения кассеты из стриммера:
mt -f /dev/nst0 rewind mt -f /dev/nst0 offline |
Замечание: Первый символ ``/'' (slash) будет удален программой tar после создания архива. Такой режим работы задан по умолчанию и нужен, чтобы Вы случайно не перезаписали критические файлы их старыми версиями. Если Вы хотите как раз обратного результата, задайте параметр ``--absolute-paths'', тогда tar сохранит полные пути. Я не советую делать это, поскольку такой подход опасен! |
Резервирование сервера
Имеется ряд методов выполнения копий с Linux. Они включают инструментальные средства командной строки, включенные в каждый дистрибутив Linux, например ``dd'', ``dump'', ``cpio'' и ``tar''. Также доступны утилиты, основанные на тексте, например ``Amanda'' и ``Taper'' разработанные, чтобы добавить более дружественный интерфейс к процедурам резервирования и восстановления. Имеются также GUI-утилиты, например ``KDat''. Также доступны коммерческие утилиты, например ``BRU'' и ``PerfectBackup+''. Любое из этих решений может обеспечивать защиту для ценных данных.
Краткий перечень некоторых из доступных инструментальных средств, включая то, где они могут быть получены, может быть найден на “Linux Applications and Utilities Page” по адресу
http://www.xnet.com/blatura/linapp2.html#back. При выборе утилиты Вы должны рассмотреть следующие факторы:
Portability переносимость резервной копии. Например, резервирование в Solaris и восстановление в Red Hat Linux. Важно ли это Вам? Если да, вы вероятно выберете одно из инструментальных средств командной строки (``dd'', ``dump'', ``cpio'' или ``tar''), поскольку Вы можете быть приемлемо уверены что такое инструментальное средство будет доступно на любой *nix системе.
Unattended or automated backups Являются ли способность автоматизировать копирование так, чтобы оно могло выполняться равномерно без человеческого вмешательства, важным для Вас? Если да, Вы должны выбрать инструмент и резервную среду, которые будут поддерживать такую резервную схему.
User-friendliness Является ли дружественный интерфейс важным? Если да, Вы вероятно выберете инструмент, который обеспечивает текстовый или GUI интерфейс. Коммерческие утилиты могут обеспечивать самые простые интерфейсы, как и техническую поддержку.
Remote backups Является ли способность запустить копирование и восстановления с удаленной машины важной? Если да, вы, вероятно, выберете одно из инструментальных средств командной строки или текстоввую утилиту вместо GUI утилит (если Вы не имеете быстрого сетевого подключения для выполнения удаленного X сеанса).
Network backups Копирование и восстановление по сети Вам нужно? Если да, вероятно, стоит воспользоваться утилитой командной строки (например ``tar'') которая поддерживает сетевой доступ к устройствам резервирования или специальную утилиту (например, ``Amanda'') или какой-нибудь коммерческий пакет.
Media types Копии могут быть сохранены на разных носителях: ленте, жестком диске, ZIP диске или rewritable CD. Рассмотрите стоимость, надежность, емкость памяти и скорость передачи.
Предостережение: При резервировании файловых систем НЕ резервируйте псевдосистему `` /proc''! Файлы в /proc не настоящие, а только указатели на структуры данных ядра. Резервирование файлов типа ``/proc/kcore'', который является псевдофайлом, с содержанием всей памяти, является довольно большой и бессмысленной тратой ленты. Также не стоит резервировать файлы в ``/mnt'', поскольку там находятся файлы на CD-ROM, дискетах, сетевых дисках и других смонтированных внешних носителях. |
установка и настройка KDE главы 5 подробности о KDE).
Даже если утилита не имеет средств для автоматизации резервного копирования, процесс иногда удается автоматизировать, используя cron. Подробности в разделе Планирование процессов: Cron и файлы Crontab главы 9.
Сервисы Network File System (NFS)
Linux может быть клиентом и/или сервером для Network File System (NFS), которая является стандартом для разделяемых файловых систем в Unix.
Замечание: Пожалуйста знайте, что наличие NFS-сервиса на вашей системе может быть небезопасно с точки зрения защиты. Лично, я не рекомендую использовать NFS. |
Чтобы использовать NFS, нужно обеспечить поддержку NFS ядром или модулем ядра. См. раздел Обновление ядра Linux в главе 10 для подробностей по поводу настройки ядра Linux.
Разделяемые файловые системы в NFS настраиваются правкой файла ``/etc/exports''. Здесь приведен небольшой пример:
/archive spock.mydomain.name(ro) /archive2 spock.mydomain.name(ro) /mnt/cdrom other.domain(ro) /archive2 10.23.14.8(ro,insecure) |
Первая пара строк разрешает системе ``spock.mydomain.name'' доступ к каталогам ``/archive'' и ``/archive2'' через NFS. Они сделаны доступными только для чтения опцией ``(ro) ''. По соображениям безопасности, неплохо бы сделать так для всех каталогов, если можно.
Третья строка разрешает любой машине в домене ``domain.name'' обращаться к CD-ROM. Конечно, CD-ROM надо сначала смонтировать в ``
/mnt/cdrom''.
Обратите внимание: Использование опции ``(ro))'' чтобы отметить это устройство только для чтения может казаться немного избыточным, однако оно предотвратит запись в реальную файловую систему, если CD-ROM не смонтирован. |
После изменения файла ``
/etc/exports'' надо перезапустить NFS daemon. Введите:
/etc/rc.d/init.d/nfs restart |
Вы можете также настроить точки монтирования NFS с помощью утилиты ``Network Configurator'' из пакета ``Linuxconf''. Более подробно Linuxconf рассмотрен в разделе Настройка от A до Z программой Linuxconf
.
Много информации по NFS можно найти в ``NFS-HOWTO'' по адресу:
http://metalab.unc.edu/LDP/HOWTO/NFS-HOWTO.html и на man-страницах по ``nfsd'' и ``exports''.
Назад | Оглавление | Вперед | ||
Macintosh-style File and Print Services with Netatalk | Локальное оглавление | Configuration from A-Z with Linuxconf |
Скачивание и установка обновлений для Red Hat
Red Hat регулярно выпускает обновления для своих дистрибутивов. Следовательно, чтобы иметь относительно новую систему, необходимо загружать и применять обновления. Эти пакеты, “rpm-файлы”, применяются, используя утилиту RPM (подробности см. в разделе Использование Red Hat Package Manager (RPM) в главе 10).
Это, оказывается, одна из самых длительных по времени задач, но ее лучше сделать, дабы избавиться от кучи дырок и проблем с хакерами!
Сначала загрузите все файлы с
ftp://ftp.redhat.com/redhat/updates/6.1/i386
(Предполагается, что Linux работает на Intel-машине).
Вы должны, вероятно, загрузить все в один каталог, и затем Вы можете просто ввести: ``rpm -Uvh *'' для обновления всех пакетов. Если вы загрузили какие-то rpm-файлы ядра, их надо пока переместить в другой каталог, поскольку обновление или настройка ядра более сложна и должна быть выполнена с большой осторожностью (см. раздел Обновление ядра Linux главы 10). Так что перестите все файлы kernel-*.rpm из временного каталога обновлений в какой-то другой.
Для применения обновлений просто запустите ``rpm'' для всех пакетов (то есть, “rpm -Uvh *”), или можете обновлять их по одному (“rpm -Uvh file_to_upgrade.rpm”). Последний метод для тех, кто желает гарантировать, что каждая модификация применяется правильно, без ошибки. :-)
Возможно Вы поинтересуетесь, установлен ли данный пакет прежде, чем Вы попытаетесь обновить его. Или Вы желаете выяснить то, какая версия данного пакета установлена. Все это может быть выполнены утилитой RPM; см. раздел Использование Red Hat Package Manager (RPM) в главе 10.
Назад | Оглавление | Вперед |
Booting with LILO | Локальное оглавление | Configuring the X Window System |
Создание пользователей
(ПРЕДУПРЕЖДЕНИЕ: МАТЕРИАЛ ОРИЕНТИРОВАН НА SLACKWARE! ДЛЯ RED HAT НУЖНО СМОТРЕТЬ, ЧТО ДЕЛАЕТЕ.) |
Этот раздел предполагает, что Вы используете затенение паролей (Shadow password) на вашей Linux-системе. Если Вы их не используете, Вы должны рассмотреть их использование в целях усиления защиты. Пакет Shadow suite довольно прост в установке и автоматически преобразует ваш не-теневой файл паролей к новому формату.
Для создания пользователя надо сделать два шага. Сначала надо собственно создать пользователя, а потом создать ему псевдоним e-mail (у меня на работе мы используем формат “Firstname.Lastname@our.domain.name”.)
Для создания пользователя придумайте username, который Вы собираетесь назначить пользователю. Username длиной до 8 символов, и везде, где возможно, Вы должны выбрать фамилию или фамилию и имя пользователя (скрипт adduser обнаружит и защитит Вас от создания одинаковых имен пользователей).
Вас спросят о параметрах пользователя: полное имя, группа (обычно значение по умолчанию, замечание переводчика: в нескольких русских документах по Linux мне приходилосьвстречать термин стая юзверей), user id # (автоматически назначается), домашний каталог (автоматически назначается), оболочка пользователя, значения выдыхаемости пароля (замечание переводчика: Linux имеет механизм выдыхающихся паролей, которые действительны только определенное время, потом система их блокирует: пароль выдохся) и наконец желательный пароль (который не будет отображен; длина пароля от 6 до 8 символов из соображений безопасности). Замечание переводчика: многие системы разрешают задать пароль длиной до 128 символов, но реализована его поддержка так, что все, что выходит за пределы 8 символов, наоборот понижает надежность!
Пожалуйста обратите внимание, что все должно быть введено в нижнем регистре, кроме полного имени пользователя и пароля. Имейте в виду, что в новых версиях Linux username чувствителен к регистру, что порой доставляет больше вреда, чем пользы.
Для примера добавим в систему пользователя Joe Smith:
mail:~# /sbin/adduser User to add (^C to quit): smith That name is in use, choose another. User to add (^C to quit): smithj Editing information for new user [smithj] Full Name: Joe Smith GID [100]: Checking for an available UID after 500 First unused uid is 859 UID [859]: Home Directory [/home/smithj]: Shell [/bin/bash]: Min. Password Change Days [0]: Max. Password Change Days [30]: 90 Password Warning Days [15]: Days after Password Expiry for Account Locking [10]: 0 Password [smithj]: FL1539 Retype Password: Fl1539 Sorry, they do not match. Password:> FL1539 Retype Password: FL1539 Information for new user [smithj]: Name: Joe Smith Home directory: /home/smithj Shell: /bin/bash Password: <hidden> Uid: 859 Gid: 100 Min pass: 0 maX pass: 99999 Warn pass: 7 Lock account: 0 public home Directory: no Type 'y' if this is correct, 'q' to cancel and quit the program, or the letter of the item you wish to change: Y |
Для создания псевдонима e-mail отредактируйте файл ``/etc/aliases'':
mail#
pico -w /etc/aliases
Добавьте новый псевдоним в конец файла. Формат псевдонима:
First.Lastname:username |
Joe.Smith:smith |
X> и сохраните файл. Затем обновите базу данных псевдонимов командой ``newaliases''.
Теперь пользовательский аккаунт готов к работе. Надо сообщить пользователю его логин (username) и пароль, и сказать, что его e-mail адрес теперь ``Joe.Smith@mail.mydomain.name''.
Назад |
Оглавление | Вперед |
General System Administration Issues | Локальное оглавление | Changing User Passwords |
Создание установочных дискет
Первым делом надо найти способ запустить программу установки. Обычный метод состоит в том, чтобы создать диск установки, хотя, если Вы устанавливаете с CD-ROM, и BIOS вашей системы поддерживает загрузку с него, попробуйте загрузиться с него.
В противном случае создайте диск установки, для чего надо записать на дискету ``boot.img'' (который представляет собой простой образ ext2-дискеты с Linux, на которой есть программа установки). Файл ``
boot.img'' находится в каталоге /images
Red Hat CD-ROM или может быть загружен с FTP ftp://ftp.redhat.com/pub/redhat/redhat-6.1/i386/images.
Вы можете создать дискету начальной загрузки из DOS или Windows, или из существующей системы Linux или Unix. В качестве дискеты-адресата Вы можете использовать неформатированную или предварительно форматированную (для DOS) дискету (замечание переводчика: если на дискете были какие-то файлы, а вы их просто стерли, дискету надо переформатировать! Иначе процесс записи образа на дискету пройдет нормально, а вот загрузиться с нее не получится).
Под DOS: если привод CD-ROM имеет имя D:, введите:
d:cd \images
..\dosutils\rawrite |
В качестве имени исходного файла введите: ``
boot.img''. В качестве имени файла результата введите: ``a:'' (если дискета вставлена в привод A:). Программа ``rawrite'' распакует и запишет файл ``boot.img'' на дискету.
Под Linux/Unix: Если файл ``
boot.img'' находится в текущем каталоге (смонтируйте CD-ROM на /mnt/cdrom, тогда файл будет в /mnt/cdrom/images), введите:
dd if=boot.img of=/dev/fd0 |
Утилита ``dd'' скопирует данные из исходного файла (“if”), ``boot.img '' в выходной файл (“of”) /dev/fd0 (если дискета стоит в /dev/fd0).
Возможно, ваша Linux или Unix система не позволяет кому попало производить запись на дискету. В таком случае данную команду надо выполнять как админимтратору. Если Вы знаете пароль для root, наберите ``su'', чтобы стать суперпользователем, выполните ``dd'' и введите ``exit'' для возврата к статусу обычного пользователя.
По любой из данных схем Вы сможете создать дискету установки для Red Hat 6.1 и установить Red Hat Linux.
Назад | Оглавление | Вперед | |
One User's Perspective | Booting Linux Installation Program |
Стратегии обновления и поддержки системы
Время от времени Вы можете услышать о значительных обновлениях ядра Linux или прикладных программам из различных источников. Этими источниками могут быть журналы, newsgroups, web pages и т.п.
Вероятно, самый лучший интерактивный ресурс для администратора Linux http://freshmeat.net/. Этот сайт содержит описания новых Open Source приложений и проектов, документацию и другие объявления, представляющие интерес для сообщества Linux.
Другой ресурс для слежения за новыми объявлениями прикладных программ
comp.os.linux.announce. Эта newsgroup хранит анонсы новых прикладных программ, обновлений ядра или прикладных программ, web-страниц и т.п. для Linux. Эта группа модерируемая, так что имеет хорошее соотношение “сигнал/шум”.
Однако, там объявляются не все обновления. Так что посещайте регулярно web-страницы или FTP сайты тех пакетов, которыми пользуетесь.
Назад | Оглавление | Вперед | ||
Installing or Upgrading Without RPM | Локальное оглавление | Linux Kernel Upgrades |
Удаление пользоватеей
При случае, Вы можете желать удалить пользователя из Вашей системы вообще.
Если Вы пользователь Red Hat, самый простой способ удалить ненужного пользователя команда ``userdel'', которая должна быть введена от имени ``root''. Например:
/usr/sbin/userdel baduser |
Данная команда удалит запись о пользователе ``baduser из файла ``/etc/passwd
'' и, если используется затенение паролей (подробности о нем в разделе Пароли в Linux & формат файла Shadow
), то и из файла ``/etc/shadow ''.
Замечание: Файл ``/etc/group
'' не модифицируется, дабы не удалить группу, к которой могут принадлежать другие пользователи. Так что если нужно, придется поправить файл ручками и удалить группу самому. |
Если Вы желаете заодно удалить домашний каталог пользователя, добавьте параметр ``-r'' к команде ``userdel''. Например:
/usr/sbin/userdel -r baduser |
Я советую не удалять пользователя сразу, а сначала просто отключить: мало ли кому еще понадобятся файлы из его домашнего каталога. Другой вариант: смена служащего, которому принадлежала пользовательская запись. Взятому на его место понадобится именно эта запись и, скорее всего, данные в домашнем каталоге. В любом случае позаботьтесь о резервной копии данных “на всякий случай”. Подробности о временной блокировке пользователя можно найти в разделе Выключение пользователей, а о резервировании в главе 8.
Назад | Оглавление | Вперед | |
Disabling User Accounts | Локальное оглавление | Linux Password & Shadow File Formats |
Указатели на дополнительную документацию
Имеется невероятное количество документации по Linux и ее программам. Большинство этого может быть найдено в сети, но Вы, вероятно, обнаружите, что большое количество полезной документации уже доступно Вам, будучи загруженным как часть процедуры установки Red Hat Linux.
man-страницы помогут, когда Вы пробуете вычислить как работает команда. Например, если Вы пробуете понять, как использовать утилиту ``tar'', Вам можно посоветовать команду ``man tar'', которая обеспечит Вас очень подробным описанием tar, включая все параметры командной строки.
Вы можете найти более общую информацию в каталоге ``
/usr/doc/''. Здесь Вы найдете подкаталоги, которые включают документацию по утилитам и командам, часто задаваемые вопросы (FAQ), также как HOWTO документы, обеспечивающие хороший совет по ряду тем, например, как установить работу с сетями, или поддержку для японского языка.
Посмотрите каталог ``
/usr/info/'', который содержит учебники по утилитам, библиотекам и приложениям, вроде emacs.
Наконец, посмотрите документ Red Hat User's Frequently Asked Questions (FAQ) по адресу http://www.pobox.com/aturner/RedHat-FAQ, который содержит много полезной информации, специфической для Red Hat Linux.
Назад | Оглавление | ||
Where to Turn for Help | Локальное оглавление |
Улучшаем производительность
( Under construction. :-p )
Назад | Оглавление | Вперед | ||
Configuring the Sendmail E-mail Daemon | High Availability with RAID |
Управление процессами
Чтобы получить список процессов, выполняемых в данный момент, введите: ``ps -aux'', что выведет примерно вот что:
USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND bin 69 0.0 1.0 788 320 ? S Nov 30 0:00 /usr/sbin/rpc.portmap frampton 10273 0.0 2.1 1136 664 p0 S 14:12 0:00 -bash frampton 10744 0.0 1.1 820 360 p0 R 17:25 0:00 ps -aux frampton 10745 0.0 0.8 788 264 p0 S 17:25 0:00 more nobody 10132 0.0 1.8 1016 588 ? S 13:36 0:00 httpd nobody 10133 0.0 1.8 988 568 ? S 13:36 0:00 httpd nobody 10413 0.0 1.8 1012 580 ? S 14:56 0:00 httpd nobody 10416 0.0 1.8 1012 580 ? S 14:56 0:00 httpd nobody 10418 0.0 1.8 1012 588 ? S 14:57 0:00 httpd nobody 10488 0.0 1.7 976 556 ? S 15:34 0:00 httpd nobody 10564 0.0 1.8 988 564 ? S 16:06 0:00 httpd nobody 10600 0.0 1.8 988 564 ? S 16:15 0:00 httpd nobody 10670 0.0 1.8 988 568 ? S 16:45 0:00 httpd nobody 10704 0.0 1.7 976 552 ? S 17:03 0:00 httpd root 1 0.0 1.0 776 312 ? S Nov 30 1:13 init [3] root 2 0.0 0.0 0 0 ? SW Nov 30 0:00 (kflushd) root 3 0.0 0.0 0 0 ? SW Nov 30 0:00 (kswapd) |
Список показывает владельца процесса (“nobody” для специальных сервисов, как web-сервера), идентификатор процесса, % времени CPU, занимаемого процессом, % памяти, занятой процессом и прочие данные.
Для получения подробной информации о процессе, наберите: ``ps pid'' (где “pid” задает идентификатор процесса). Например, “ps 10704
” выведет:
10704 ? S 0:00 /usr/local/etc/httpd/httpd |
Данный процесс является web-сервером (Apache web-сервер указан в списке задач много раз, почему так получается читайте в разделе Администрирование Web-сервера и HTTP Proxy главы 7).
Если процесс повис (не действует), можно использовать “kill -HUP pid
” (здесь “pid ” является идентификатором процесса, который можно узнать из списка процессов, полученного от команды “ps”). Например, если сервисы Internet (процесс inetd, в нашем примере #123) не работает должным образом, скомандуйте: ``kill -HUP 123'' (или, что безопасней, используйте команду ``killall'' и укажите имя процесса: ``killall -HUP inetd'') должен перезапустить процесс. Опция -HUP команды kill отдает процессу сигнал “hang up”; процесс перезапустится.
Если что-то повисло уже серьезно, и тактика снятия процесса не помогла, придется перезагрузить систему. См. подробности в разделе Выключение и перезапуск системы в главе 6.
Иногда надо приостановить процесс, а потом возобновить его. Например, некая задача интенсивно использует CPU, а вам нужно записать диск на IDE CD-R. Проблема в том, что устройства на IDE используют CPU в своих обращениях к вводу/выводу. Если CPU слишком занят, то вы получите запорченный CD! Следующие две команды отправляют процесс в спячку и оживляют его:
kill -STOP 945 kill -CONT 945 |
Назад |
Оглавление | Вперед |
Various & Sundry Administrative Tasks | Локальное оглавление | Starting and Stopping Processes |
Установка и настройка GNOME
GNU Network Object Model Environment (GNOME) среда работы с окнами, которая расширяет вашу X Window. Это полнофункциональный пакет, включающий большой выбор прикладных программ, которые могут оказаться полезными. Однако, во время написания этого документа GNOME все еще имел несколько малых ошибок, что означает, что Вам придется иногда выносить неожиданное его поведение. Однако, он довольно устойчив и определенно пригоден для использования!
Если вы используете Red Hat 6.1, последняя версия GNOME (по крайней мере, последняя на время написания этого документа!) включена в дистрибутив. Иначе, Вы будете должны загрузить последний дистрибутив в RPM-пакете. На момент написания данного документа RPM-файлы для Red Hat 6.0 i386 могут быть найдены на
ftp://ftp.gnome.org/pub/GNOME/RHAD/redhat-6.0/i386 (или на сайтах зеркал).
Замечание: Если вы используете Red Hat 6.0, знайте, что в ее поставку входит очень ранняя версия GNOME. Вам следует загрузить последний RPM-пакет с FTP-сайта, как описано выше. |
После того, как Вы получите все необходимые файлы, пакет GNOME можно установить командой (как “root”):
rpm -Uvh gtk*.rpm *.rpm |
(Данная команда гарантирует, что библиотеки GTK будут установлены сначала, во избежание ошибок зависимостей).
Вопреки распространенному мнению, GNOME не
менеджер окон, он просто дополняет выбранный Вами менеджер. Так что, установив GNOME, выберите нужный менеджер окон и создайте свой файл ``.xinitrc'' в своем домашнем каталоге, который загружает нужный менеджер и GNOME. Файл может выглядеть примерно так:
afterstep & exec gnome-session |
Данный файл загрузит AfterStep в качестве менеджера окон, а потом GNOME.
Подробности о GNU Network Object Model Environment можно найти на GNOME web page по адресу:
http://www.gnome.org. Посмотрите скриншоты на
http://www.gnome.org/screenshots.
Назад | Оглавление | Вперед |
Choosing a Window Manager for X | Локальное оглавление | KDE Installation and Configuration |
Установка и настройка KDE
K Desktop Package (KDE) популярный менеджер окон, чуть более совершенный, чем GNOME. Однако, он требует большего количества ресурсов памяти, чем GNOME (если у Вас меньше 64 Mb RAM и 128 Mb свопа, лучше пользуйтесь GNOME).
Первый шаг в установке KDE: скачать последний дистрибутив в RPM-пакете. Посмотрите какое зеркало ближе всего, список можно найти на
http://www.kde.org/mirrors.html.
Когда Вы нашли подходящее зеркало, сгрузите все RPM-файлы для Вашей версии Red Hat и платформы. Например, если используется Red Hat 5.2 (выше) на Intel, надо качать пакеты из каталога ``
/pub/mirrors/kde/stable/latest/distribution/rpm/RedHat-5.2/i386/'' на FTP.
После того, как Вы получите все необходимые файлы, пакет KDE может быть установлен следующими простыми командами от имени “root” (удостоверьтесь, что перешли в каталог с файлами пакетов дистрибутива):
rpm -Uvh qt*.rpm install-kde-1.1-base |
Данные команды установят сначала библиотеки Qt, и затем пакет ядра KDE. Как только это выполнено, Вы должны выйти и зайти в систему снова так, чтобы Ваша переменная path была установлена соответственно, затем введите:
install-kde-1.1-apps |
Данная команда установит прикладные программы.
Процедура установки детально рассмотрена в файле ``readme-redhat-rpms.txt'', который должен быть среди скачанных файлов KDE.
Если все идет хорошо, и KDE был установлен без ошибок, Вы можете, если желаете, сконфигурировать KDE, чтобы он был заданным по умолчанию менеджером окон для любого из пользователей (того, который они будет видеть немедленно после команды ``startx''), для чего введите как “root”:
/opt/kde/bin/usekde userid |
(Удостоверьтесь, что Вы заменили userid на фактический идентификатор пользователя (user id)!
Подробности о K Desktop Environment можно найти на KDE web page по адресу http://www.kde.org. Посмотрите на скриншоты на
http://www.kde.org/kde2shots.html.
Назад | Оглавление | Вперед |
GNOME Installation and Configuration | Локальное оглавление | General System Administration Issues |
Установка и обновление без RPM
Иногда нужно поставить или обновить пакет, для которого нет версии в формате RPM. Конечно, можно делать такое (фактически, это Defacto-стандарт в мире Unix), но я не рекомендовал бы это делать без крайней необходимости (причины изложены в разделе Использование Red Hat Package Manager (RPM)).
Если Вы должны установить что-нибудь из tarballs, общее правило для системных программ, размещать их в файловой системе ``/usr/local/''. Исходники хранятся в ``/usr/local/src/
'', откомпилированные исполняемые файлы в ``
/usr/local/bin'', файлы настройки в ``/usr/local/etc/''. Такая схема делает администрирование Вашей системы проще.
Пользователи, желающие установить программное обеспечение из tarballs для их собственного частного использования, будут ставить его в иерархии под их собственными домашними каталогами.
После загрузки tarball из архива, перейдите в каталог с ним и распакуйте его командой (как root, если нужно):
tar zxvpf cardgame.tar.gz |
Данная команда распакует все файлы из сжатого архива ``cardgame.tar.gz''. Опция ``z'' показывает, что архив был сжат программой gzip (не указывайте ее, если он не сжат); опция ``x'' задает распаковку всех файлов из архива. Опция ``v'' выдастна консоль имена всех распаковываемых файлов. Опция ``p'' предписывает сохранять владельца файла и права доступа такими, какими они сохранены в архиве. Наконец, опция ``f'' сообщает tar, что следующий за ней параметр задает имя архива. Не забудьте, что опции tar чувствительны к регистру (cAsE-sEnSiTiVe).
Предупреждение: Как было сказано в разделе Восстановление программой ``tar'': главы 8, я рекомендую сначала использовать опцию ``t'', что позволит просмотреть и проверить оглавление архива, а также защитит от распаковки файлов не в тот каталог, или, еще хуже, перезаписи существующих файлов. |
После распаковки архива, поищите в каталоге с ним файл ``README'' или ``INSTALL'', в которых сказано, что делать с пакетом дальше. Обычно, надо скомандовать:
./configure make make install |
Данные команды настроят пакет на Вашу систему и библиотеки, скомпилируют программу и установят и все необходимые ей файлы (библиотеки, документацию, файлы настроек) куда следует.
Однако, я все же очень советую использовать RPM, если можно.
Назад | Оглавление | Вперед | ||
Upgrading Linux and Other Applications | Локальное оглавление | Strategies for Keeping an Up-to-date System |
Установка Linux на нестандартном оборудовании
( Under construction :-p )
Назад | Оглавление | Вперед | ||
Strategies for Keeping a Secure Server | File System Corruption after Power Outage or System Crash |
Установка свопа
Когда разделы созданы и настроены, и созданы точки монтирования (то есть, /usr является точкой монтирования для файловой системы /usr), программа установки спросит, какие разделы будут разделами свопа. Так как разделы свопа должны уже быть идентифицированы (partition ID #82), Вы можете нажать <Enter>, чтобы начать форматировать их для использования свопа. Я рекомендую включить “
Check for bad blocks during format”, чтобы гарантировать, что раздел свободен от плохих блоков. Это замедляет процесс форматирования, но я полагаю, что оно того стоит.
Назад | Оглавление | Вперед |
Partitioning Hard Drive(s) | Локальное оглавление | Choosing Partitions to Format |
Восстановление программой ``KDat'':
Для восстановления одного или нескольких файлов из KDat-архива, вставьте резервный носитель в устройство и выберите “Mount Tape” из меню “File” (или щелкните левой кнопкой мышки на пиктограмме ленты).
KDat попробует прочитать заголовок ленты, и если у нее получится, попробует найти оглавление ленты, соответствующее заголовку. Оглавление хранится на Вашем жестком диске, является уникальным файлом для каждой ленты, отформатированной KDat, и обновляется при каждом резервировании.
Если оглавление ленты отсутствует (возможно, Вы восстанавливаете из резервного набора, созданного на другой машине, или индексный файл был удален или как-то иначе разрушен на Вашем жестком диске), KDAT сообщит Вам об этом факте и спросит Вас, надо ли освежить оглавление ленты. Поскольку, для чтения чего-либо с ленты нужно оглавление, щелкните левой кнопкой мышки на “Yes”.
(Замечание: Как только лента будет повторно проиндексирована, ее имя изменится на “Reindexed Tape”. Вы должны переименовать ее к первоначальному имени.) |
Как только оглавление ленты успешно прочитался, его можно использовать для выбора каталогов или файлов, которые Вы желаете восстановить из резервного набора, аналогично тому, как создавался профиль резервирования (см. подробности о выборе файлов в разделе
Резервирование сервера).
После выбора файлов Вы можете начать восстановление, выбрав “ Restore...” из меню “File” (или щелкнув левой кнопкой мыши на пиктограмме восстановления). KDat отобразит диалоговое окно, с подтверждением того, какие файлы будут восстановлены. Дополнительно можно указать каталог, в который их надо восстанавливать.
Для начала собственно восстановления щелкните по кнопке “Okay” KDat прочитает ленту и аосстановит заданные файлы.
Иногда нужно восстановить файлы с копии, сделанной KDat без использования самой программы KDat. Помните, что KDat создает копии, используя ``tar'', утилиту командной строки, которая есть во всех *nix-системах.
Так что при восстановлении с копии, сделанной KDat без использования самой программы KDat, просто используйте tar собычными опциями. Здесь надо учитывать, что KDat-копия не сжата.
Обратите внимание: KDat-копия имеет в начале дополнительный заголовок, так что Вы получите сообщение об ошибке при попытке восстановить архив KDat с помощью tar. Просто повторите команду tar два или три раза, чтобы перескочить к началу фактического архива tar. |
Назад |
Оглавление | Вперед |
Backup and Restore Procedures | Локальное оглавление | Cisco Router Configuration Backups |