ПРИЛОЖЕНИЕ A КАТАЛОГИ И ФАЙЛЫ В Приложении описываются каталоги и файлы, необходимые адми- нистратору системы. КАТАЛОГИ В корневую файловую систему включены следующие каталоги: bin Каталог, содержащий общие команды. dev Каталог, содержащий специальные файлы, опреде- ляющие все устройства системы. etc Каталог, содержащий административные программы и таблицы. lib Каталог, содержащий общие библиотеки. lost+found Каталог, используемый командой fsck(1M) для сохранения файлов, на которые нет ссылок. mnt Каталог, используемый для временного хранения файловой системы при перезагрузке операционной системы с магнитного диска. tmp Каталог, используемый для хранения временных файлов. usr Каталог для хранения файловой системы /usr. ФАЙЛЫ Для управления компьютером необходимы следующие файлы и катало- ги. /etc/checklist /etc/fstab /etc/gettydefs /etc/group Каталог /etc/init.d /etc/inittab /etc/motd /etc/passwd /etc/profile /etc/rc0 Каталог /etc/rc0.d /etc/rc2 Каталог /etc/rc2.d Каталог /etc/rc.d /etc/rc3 Каталог /etc/rc3.d /etc/rstab Каталог /etc/save.d /etc/shutdown /etc/TIMEZONE /etc/utmp /etc/wtmp /usr/adm/sulog /usr/lib/cron/log /usr/lib/help/HELPLOG /usr/lib/spell/spellhist Каталог /usr/news Каталог /usr/spool/cron/crontabs Каждый из этих файлов кратко описан в данном приложении. /etc/checklist Файл /etc/checklist используется для определения списка уст- ройств файловой системы, которые по умолчанию проверяются на существование командами /etc/fsck и /etc/ncheck. Таким образом будет проверено наличие в системе данных устройств. Обычно уст- ройства в этом списке соответствуют устройствам, использующимся при работе системы в многопользовательском режиме (уровень 2). Корневая файловая система в этот список не входит. Необходимо помнить, что за исключением корневой - любая файловая система проверяется, если она не смонтирована. Файл checklist удобно использовать при работе в режиме с одним пользователем, когда смонтирована только корневая файловая система. Для системы с одним диском список понятен и короток. См. checklist(4) в Спра- вочнике программиста для дополнительной информации. /etc/fstab Файл /etc/fstab используется в качестве аргумента в команде /etc/mountall. Файл fstab определяет файловую систему (или сис- темы), которые должны быть смонтированы командой /etc/mountall, и удаленные файловые системы, которые монтируются командой /etc/rmountall. Этот файл содержит имена групп устройств, после которых указаны точки монтирования. (См. mountall в Справочнике администратора для дополнительной информации.) /etc/gettydefs Этот файл содержит информацию, используемую командой /etc/getty для установления скорости, а также других характеристик терми- нала. Команда getty выбирает данные из файла gettydefs по мет- ке. Общий формат данных файла gettydefs следующий: метка# начальные параметры# конечные параметры#login: #метка следующего Строки в gettydefs разделены пустыми строками. (См. getty- defs(4) в Справочнике программиста для полной информации.) Ниже показан типичный файл gettydefs. 19200# B19200 HUPCL # B19200 SANE IXANE TAB3 HUPCL #login: #9600 9600# B9600 HUPCL # B9600 SANE IXANE TAB3 HUPCL #login: #4800 4800# B4800 HUPCL # B4800 SANE IXANE TAB3 HUPCL #login: #2400 2400# B2400 HUPCL # B2400 SANE IXANE TAB3 HUPCL #login: #1200 1200# B1200 HUPCL # B1200 SANE IXANE TAB3 HUPCL #login: #300 300# B300 HUPCL # B300 SANE IXANE TAB3 HUPCL #login: #19200 console# B9600 HUPCL # OPOST ONLCR # B9600 SANE IXANE TAB3 #Con- sole Login: #console1 console1# B1200 HUPCL # OPOST ONLCR # B1200 SANE IXANE TAB3 #Con- sole Login: #console2 console2# B300 HUPCL # OPOST ONLCR # B300 SANE IXANE TAB3 #Conso- le Login: #console3 console3# B2400 HUPCL # OPOST ONLCR # B2400 SANE IXANE TAB3 #Con- sole Login: #console4 console4# B4800 HUPCL # OPOST ONLCR # B4800 SANE IXANE TAB3 #Con- sole Login: #console5 console5# B19200 HUPCL # OPOST ONLCR # B19200 SANE IXANE TAB3 #Console Login: #console contty# B9600 HUPCL OPOST ONLCR # B9600 SANE IXANE TAB3 #login: #contty1 contty1# B1200 HUPCL OPOST ONLCR # B1200 SANE IXANE TAB3 #login: #contty2 contty2# B300 HUPCL OPOST ONLCR # B300 SANE IXANE TAB3 #login: #contty3 contty3# B2400 HUPCL OPOST ONLCR # B2400 SANE IXANE TAB3 #login: #contty4 contty4# B4800 HUPCL OPOST ONLCR # B4800 SANE IXANE TAB3 #login: #contty5 contty5# B19200 HUPCL OPOST ONLCR # B19200 SANE IXANE TAB3 #login: #contty 4800H# B4800 # B4800 SANE IXANE TAB3 HUPCL #login: #9600H 9600H# B9600 # B9600 SANE IXANE TAB3 HUPCL #login: #19200H 19200H# B19200 # B19200 SANE IXANE TAB3 HUPCL #login: #2400H 2400H# B2400 # B2400 SANE IXANE TAB3 HUPCL #login: #1200H 1200H# B1200 # B1200 SANE IXANE TAB3 HUPCL #login: #300H 300H# B300 # B300 SANE IXANE TAB3 HUPCL #login: #4800H conttyH# B9600 OPOST ONLCR # B9600 SANE IXANE TAB3 #login: #contty1H contty1H# B1200 OPOST ONLCR # B1200 SANE IXANE TAB3 #login: #contty2H contty2H# B300 OPOST ONLCR # B300 SANE IXANE TAB3 #login: #contty3H contty3H# B2400 OPOST ONLCR # B2400 SANE IXANE TAB3 #login: #contty4H contty4H# B4800 OPOST ONLCR # B4800 SANE IXANE TAB3 #login: #contty5H contty5H# B19200 OPOST ONLCR # B19200 SANE IXANE TAB3 #login: #conttyH /etc/group Файл /etc/group описывает каждую группу в системе. Для каждой новой группы данные заносятся в этот файл. Файл состоит из строк, которые состоят из четырех полей, разделенных двоеточием (:): имя:пароль:группа:входные имена Значения полей следующие: имя Первое поле определяет имя группы. Оно содер- жит от трех до шести символов. Первый символ - буква. Остальные символы - буквы или цифры. Не должно быть букв верхнего регистра. пароль Второе поле содержит зашифрованный пароль группы. Зашифрованный пароль группы содержит 13 байт (символов). Настоящий пароль ограни- чен 8 байтами. После зашифрованного пароля может идти запятая, а после нее до 4 дополни- тельных байт информации о пароле. Использова- ние пароля для группы нежелательно. группа Третье поле содержит идентификационный номер группы, который должен входить в интервал от 0 до 60 000. Идентификационные номера от 0 до 99 зарезервированы; 0 означает суперпользова- теля (root). В этом поле не должно быть запя- тых. входные имена Четвертое поле содержит список входных имен (имена группы). Имена разделены запятыми. Имена в списке можно использовать в команде /etc/newgr, чтобы стать членом группы. Ниже показан типичный файл /etc/group. root ::0:root other ::1: bin::2:root, bin, daemon sys::3:root, bin, sys, adm adm::4:root, adm, daemon mail::6:root rje::8:rje, shger daemon::12:root, daemon Каталог /etc/init.d Каталог /etc/init.d содержит выполняемые файлы, используемые для перехода между различными уровнями системы. Эти файлы свя- заны с файлами, которые начинаются с S(старт) или K(стоп) в ка- талоге /etc/rcn.d, где n - номер соответствующего уровня. Файлы из этого каталога не выполняются. Они могут выполняться только в каталоге /etc/rcn.d. /etc/inittab Этот файл содержит инструкции для команды /etc/init. Инструкции описывают процессы, которые должны быть запущены или остановле- ны для каждого уровня выполнения. Приняты следующие обозначе- ния. Уровень 1 (или S, или s) соответствует режиму с одним пользователем; уровни 2 и 3 - многопользовательскому режиму. В гл.3 ("Операции управления процессом") описывются различные уровни и их использование.(См. inittab(4) в Справочнике прог- раммиста для дополнительной информации). Ниже показан типичный файл /etc/inittab. Его строка состоит из нескольких полей, раз- деленных двоеточием: идентификатор:уровень:действие:процесс Значение этих полей следующее: идентификатор Уникальное для данной линии одно- или двухсимвольное имя. уровень Уровень выполнения процесса. действие Указывает как интерпретируется поле процесса командой /etc/init. (Для более полной информации см. inittab(4) в Справочнике программиста). процесс Определяет команду shell, которая долж- на быть выполнена. Типичный файл /etc/inittab: ls:s:initdefault : sw:2345:bootwait:/etc/swapon /dev/console 2>&1 bchk:2345:bootwait:/etc/bcheckkrc /dev/console 2> &1 brc::bootwait:/etc/brc 1> /dev/console 2>&1 link:: wait: (rm -f /dev/syscon;ln /dev/systty /dev/syscon) 1> /dev/console 2>&1 r0:0:wait:/etc/rc0 1> /dev/console 0>&1 r2:2:wait:/etc/rc2 1> /dev/console 2>&1 r3:3:wait:/etc/rc3 1> /de /console 3>&1 st::off:/etc/stload > /dev/console 2>&1 pf::powerfail:/etc/powerfail 1> /dev/console 2>&1 rb:6:wait:/etc/uadmin 2 1 >/dev/console 2>&1 /etc/wtmp создает этот файл. При этом он пуст. Следующая команда ограничивает размер файла /etc/wtmp последними 3600 символами: tail -3600c /etc/wtmp>/tmp/wtmp ; mv /tmp/wtmp /etc/wtmp Заметьте, что команды /etc/cron, /etc/rc0 или /etc/rc2 могут использоваться для очистки файла wtmp. Для использования одной из этих функций, вставьте соответствующую командную строку в файлы /usr/spool/cron/crontab/root, /etc/shutdown.d/... или /etc/rc.d/ rc2.d , rc3.d. /usr/adm/sulog Этот файл содержит информацию об использовании команд различны- ми пользователями. Из соображений защиты этот файл не может чи- таться посторонними. Файл /usr/adm/sulog необходимо периодичес- ки усекать, чтобы его размер находился в разумных пределах. Ко- манды /etc/cron, /etc/rc0 или /etc/rc2 могут использоваться для очистки этого файла. Для этого необходимо вставить соответству- ющую команду в файлы /usr/spool/cron/crontab/root, /etc/shut- down.d... или /etc/rc.d/ rc2.d, rc3.d ... Следующие команды ог- раничивают размер этого файла до 100 его последних строк: tail -100 /usr/adm/sulog>/tmp/sulog mv /tmp/sulog /usr/adm/sulog Типичный файл /usr/adm/sulog: SU 08/18 12:35 + console root-sysadm SU 08/18 16:11 + console root-sysadm SU 08/18 16:16 + console root-sysadm SU 08/18 23:45 + tty?? root-uucp SU 08/19 11:53 + console root-sysadm SU 08/19 15:35 + console root-sysadm SU 08/19 23:45 + tty?? root-uucp SU 08/20 10:16 + console root-adm SU 08/20 10:33 + tty24 rar-root SU 08/20 10:42 + console root-sysadm SU 08/20 10:59 + console root-root SU 08/20 11:01 + console root-sysadm SU 08/20 12:36 + tty11 bin-bin SU 08/20 12:37 + tty11 tws-bin SU 08/20 14:42 + tty24 awa-sys SU 08/20 14:47 + tty24 awa-sys SU 08/20 14:48 + tty24 awa-root SU 08/20 15:44 + console root-sysadm /usr/lib/cron/log Информация о всех действиях, произведенных командой /etc/cron хранится в файле /usr/lib/cron/log. Этот файл нужно периодичес- ки усекать, чтобы сохранять его размеры в разумных пределах. Команды /etc/cron, /etc/rc0 или /etc/rc2 могут использоваться для его очистки. Для ограничения его размера необходимо вста- вить в файл /usr/spool/cron/crontab/root, /etc/shutdown.d/ или etc/rc.d/ rc2.d, rc3.d... соответствующую команду. Для ограни- чения размера файла последними 100 строками можно использовать следующие команды: tail -100 /usr/lib/cron/log>/tmp/log; mv /tmp/log /usr/lib/cron/ log Типичный файл /usr/lib/cron/log: ! *** cron started *** pid = 237 Sun Aug 19 14:06:45 1984 > CMD: /usr/lib/uucp/uudemon.hour > /dev/null > root 251 c Sun Aug 19 14:11:00 1984 < root 251 c Sun Aug 19 14:11:01 1984 > CMD: /usr/lib/uucp/uudemon.poll > /dev/null > root 370 c Sun Aug 19 14:30:00 1984 < root 370 c Sun Aug 19 14:30:03 1984 > CMD: /usr/lib/uucp/uudemon.hour > /dev/null > root 417 c Sun Aug 19 14:41:01 1984 < root 417 c Sun Aug 19 14:11:02 1984 > CMD: /usr/lib/uucp/uudemon.poll > /dev/null > root 452 c Sun Aug 19 15:01:00 1984 < root 452 c Sun Aug 19 15:01:04 1984 > CMD: /usr/lib/uucp/uudemon.hour > /dev/null > root 460 c Sun Aug 19 15:11:00 1984 < root 460 c Sun Aug 19 15:11:00 1984 > CMD: /usr/lib/uucp/uudemon.hour > /dev/null > root 541 c Sun Aug 19 15:30:00 1984 < root 541 c Sun Aug 19 15:30:07 1984 /usr/lib/help/HELPLOG Все действия, произведенные командой help, фиксируются в файле HELPLOG. Командой /usr/lib/help/helpclean содержимое этого фай- ла копируется в /usr/lib/help/oHELPLOG и создается новый файл /usr/lib/help/HELPLOG. Выполнение команды helpclean два раза подряд очищает как файл HELPLOG, так и oHELPLOG . Команды /etc/cron, /etc/rc0 или /etc/rc2 могут использоваться для очистки файла HELPLOG. Необходимо вставить соответствующие ко- манды в файл /usr/spool/cron/crontab/root, /etc/shutdown.d/... или /etc/rc.d/ rc2.d , rc3.d ... Следующие команды ограничивают размеры данного файла 100 последними строками: tail -100 /usr/lib/help/HELPLOG>/tmp/help mv /tmp/help /usr/lib/help/HELPLOG Типичный файл /usr/lib/help/HELPLOG: login=bin uname=blabla date=Mon Aug 20 12:51:03 EDT 1984 name=locate response ='l' status =OK name=locate response ='d' status =ERROR name=detkey response ='k' status =OK name=keysrch response ='list' status =OK name=quit response ='q' status =OK login=binte uname=blabla' date=Mon Aug 20 12:51:03 EDT 1984 /usr/news Этот каталог содержит файлы новостей. Имена этих файлов соот- ветствуют их содержанию (они аналогичны заголовкам). Когда пользователь читает новости, используя команду news, в его входном каталоге создается пустой файл с именем .news_time. Да- та (время) создания этого файла используется командой news, чтобы определить, прочел ли пользователь файл(ы) последних но- востей. /usr/spool/cron/crontabs Этот каталог содержит файлы регулярных действий для пользовате- лей с именами root, adm и sys. Занося свое входное имя в файл /usr/lib/cron/cron.allow, пользователи могут создавать свои собственные файлы crontabs с помощью команды crontab. Если файл cron.allow не существует, проверяется файл /usr/lib/cron/cron.- deny, который определяет, что пользователю не разрешено пользо- ваться командой crontab. Суперпользователь (root) может либо использовать команду cron tab(1), либо редактировать соответствующий файл в каталоге /usr/spool/cron/crontabs, чтобы внести в него соответствующие изменения. Внесенные в файл изменения дадут результат только при следующем запуске системы. Строки файла /usr/spool/cron/ crontabs/logname имеют следующий формат: минута час день месяц деньнедели команда Эти поля должны отвечать следующим условиям: минута Поле минут - это одно- или двузначное число в пределах от 0 до 59. час Одно- или двузначное число в пределах от 0 до 24. день Порядковый номер дня месяца в пределах от 1 до 31. месяц Номер месяца в году в пределах от 1 до 12. деньнедели Порядковый номер дня недели, причем воскресенье имеет номер 0, понедельник - 1 и т.д. команда Программа или команда, которую необходимо выпол- нить в заданное первыми пятью полями время. Следующие правила относятся к первым пяти полям: Два числа, разделенные знаком минус, означают промежуток чи- сел, ограниченный ими. Список чисел, разделенных запятыми, определяет все эти числа. Знак * означает все возможные значения. В поле команды (шестое поле) знак % обозначает переход на новую строку. Только первая строка (до знака %) поля команды выполня- ется shell'ом. Остальные строки доступны команде, как стандарт- ный ввод. Помните, что можно уменьшить количество заданий, выполняемых с терминала, используя команду cron. Пример файла /usr/spool/cron/crontabs/root: 0 1 * * * /usr/bin/calendar - 41,11 * * * * /usr/lib/uucp/uudemon.hour > /dev/null 45 23 * * * ulimit 5000; /bin/su uucp -c"/usr/lib/uucp/ uudemon.cleanup"> /dev/null 2>&1 1,30 * * * * /usr/lib/uucp/uudemon.poll > /dev/null (Для дополнительной информации см. crontab(1) в Справочнике пользователя.)