Я знаю единственный дистрибутив Linux,
который можно было использовать сразу, не
ковыряясь в его конфиг-файлах, в
пользовательском окружении, и т.п. - Slackware 1.0
образца 1994 года.
Все последующие релизы Slackware, а тем паче RedHat перед
употреблением требуют хирургического
вмешательства.
fstab: Пропал диск C:, где дискетки A:, B:
Проблемы:
Лечение: Создать соответствующие каталоги
mkdir /a mkdir /b mkdir /cdrom mkdir /dos mkdir /dosd
В файле /etc/fstab добавить/исправить строчки:
/dev/fd0 /a msdos defaults,user,umask=000,noauto 0 0 /dev/fd1 /b msdos defaults,user,umask=000,noauto 0 0 /dev/cdrom /cdrom iso9660 defaults,user,ro,exec,dev,suid,noauto 0 0 /dev/hda1 /dos msdos defaults,user,umask=000 0 0
Проблема: После запуска X, startx
занимает один виртуальный терминал, и оставляет
за собой два sleeped процесса.
Лечение: В файле /usr/bin/X11/startx исправить строчку
xinit $clientargs -- $serverargs на exec xinit $clientargs -- $serverargs &
Проблема: RedHat host по умолчанию не
дозволяет печатать на своем принтере удаленным
lpr клиентам.
Лечение: (вообще-то так оно и должно быть - security)
В файл /etc/hosts.lpd вписать все хосты, которым
дозволено печатать.
Проблема: PC с клиентами NFS не
получают доступ к сетевому диску.
Лечение: то, что нужно вписать в /etc/exports
хотя-бы такую строчку
/ (rw)
это, полагаю, особого удивления вызывать не
должно. Но, в RedHat не входит демон pcnfsd !
Скомпилируйте pcnfsd из исходников, или возьмите
его из RedHatовского Contrib'а или из Slackware, и добавьте
запуск rpc.pcnfsd в файл активизации nfsserver'а
/etc/rc.d/rc3.d/S60nfs
daemon rpc.mountd daemon rpc.nfsd + daemon rpc.pcnfsd echo
Проблема: vi рисует русские буквы
восьмиричными кодами. Less рисует русские буквы
шестнадцатеричными кодами. Bash не позволяет
ввести в командной строке русских букв и мерзко
пищит при этом.
Лечение: В /etc/profile добавьте команды
LC_CTYPE=iso_8859_1 export LC_CTYPE # Это спасает русские буквы в VI LC_LOCALE=iso_8859_1 export LC_LOCALE # Это спасает русские буквы в VI LESS="-e -r" export LESS # Чтоб less русские буквы не калечил
Проблема: перед тем, как вывести
приглашение login, стирается экран. Кстати, из-за
этого сбрасывается русский алфавит и
перекодировку koi2alt приходилось восстанавливать
ручками echo -e '\033(K'
Лечение: В /etc/inittab поправить строчки запуска
getty (добавить "--noclear")
1:12345:respawn:/sbin/mingetty --noclear tty1 . . .
Проблема: Приглашение командного
интерпретатора bash во первых невразумительно, а
во вторых в разных окошках оно разное.
Лечение: Приглашение задается переменной
окружения PS1. Наивен, кто считает, что достаточно
установить ее в своем пользовательском .profile .
Увы, следы кривого окружения надо выкорчевывать
с корнем.
В файлах /etc/profile /etc/skel/.bashrc $HOME/.profile
добавьте/исправьте команду
PS1='\u@tty2:\w/\$ ' export PS1
Файл /etc/bashrc уничтожьте. Все что было в нем
разумного (IMHO - ничего в нем разумного нет)
верните на свое законное место в /etc/profile
Проблема: Выставляется безумное
значение переменной PS1. Не отрабатывается
пользовательский .profile
Лечение: Удалить в домашнем каталоге файлы
.bash_logout .bash_profile
Исправить файл .bashrc на
PS1='\u@tty2:\w/\$ ' export PS1
Чтобы прекратить "осчастливливание" всех
своих юзеров, проделать ту же операцию в каталоге
/etc/skel
crontab root'а лежит у RedHat в нестандартном
месте - /etc/crontab . Может быть для БОЛЬШОГО много
пользовательского internet-сервера и нужен такой
огромный список планируемых работ, но все равно,
рекомендую на него посмотреть, сократить частоту
запуска раз эдак в 10, а кое-что совсем
закомментировать.
Конкретно: сократить частоту atrun
0,10,20,30,40,50 * * * * root /usr/sbin/atrun
увеличить размер при котором log-файл
удаляется с 16 до 256kb
Если используется uucp то добавить чистку uucp-ишых
log-файлов.
Проблема: В Redhat Linux ежедневно
пускается команда updatedb, создающая индекс для locate.
Однако в этот индекс попадают файлы только из
корневого каталога.
Лечение: исправить ключи команды updatedb в файле
/etc/cron.daily/updatedb.cron
с --localpaths='' --netpaths='/' на --localpaths='/' --netpaths=''
Проблема: Поставляемый с RedHat файл
Xsession неработоспособен.
Лечение: Поправьте в /etc/X11/xdm/Xsession нижний
фрагмент текста на примерно такой:
################## moshkow ############################# sysprofile=/etc/profile profile=$HOME/.profile [ -f "$sysprofile" ] && . $sysprofile [ -f "$profile" ] && . $profile [ -f "$resources" ] || resources=$HOME/.Xdefaults [ -f "$resources" ] || resources=$HOME/.Xresources [ -f "$startup" ] || startup=$HOME/.xinitrc [ -f "$startup" ] || startup=$HOME/.xsession [ -f "$startup" ] || startup=/usr/lib/X11/xinit/xinitrc if [ -f "$startup" ]; then xrdb -load "$resources" exec sh "$startup" fi ################## moshkow #############################
Команда man по завершении просмотра стирает экран с мануалом. Называется "а у тебя ведь хорошая память? Isn't it?"
После перекомпиляции ядра ВСЕ модули, пришедшие с дистрибутивом перестают работать. Их остается только уничтожить. Но iBCS уничтожать жалко - а он скомпилирован почему-то под версию ядра 2.0.13 вместо 2.0.18. Приходится искать исходник iBCS и перекомпилировать.
Штатная поставка sendmail 8.7.5 имеет security hole - локальный юзер имеет возможность получить root права.
Штатная поставка sendmail 8.7.5 неработоспособна вообще - примерно четверть всех писем не доставляется по причине delivery errors
Единственный метод лечения - upgrade до версии 8.8.5, у которого этот bug залечен
Поставляемый с RedHat 3.0 mount имеет security hole - локальный юзер имеет возможность получить root права.
Произведите update на исправленную версию, ftp://ftp.redhat.com/pub/redhat/redhat-3.0.3/i386/updates/RPMS/mount-2.5k-1.i386.rpm или снимите setuid-бит с команд mount/umount
# chmod u-s /bin/mount /bin/umount
По умолчанию все сервисы в /etc/inetd.conf
открыты. Рекомендуется ограничить доступ к своей
машине, оставив его только доверенным хостам и
своей локальной сети.
Перекрыть доступ снаружи на узловую машину: В
файл /etc/hosts.deny вставить строчку
ALL : ALL
Открыть доступ на узловую машину с машин
локальной сети 195.0.1.0
В файл /etc/hosts.allow вставить строчки
ALL : \ 127.0.0.1 ALL : \ 195.0.1.0/255.255.255.0
А какой версии sendmail на вашей машине?
Кстати CERT советует ставить Sendmail 8.8.5. Более ранние
версии позволяют удаленно выполнять любые
команды от имени суперпользователя на вашей
машине.
httpd: дырявые cgi-скрипты
Штатная поставка Apach-httpd имеет cgi-скрипт
/home/httpd/cgi-bin/phf, который позволяет выполнять
произвольные команды на вашей машине от имени
юзера nobody
Проблема: при начальной загрузке
запускается большое количество излишних
сервисов (что особенно нервирует на домашних
standalone машинах)
Лечение: Зайти в каталог /etc/rc.d/rc3.d и
переименовать "лишние" файлы:
mv S45pcmcia s45pcmcia . . .
Проблема: Если пытаться
устанавливать статический роутинг сетей через
"control-panel -- Network" - то не работает.
Лечение: Либо добавить команды
route add -net network.address gw your-host в файл /etc/rc.d/rc.local
Либо исправить в конце /etc/sysconfig/network-scripts/ifup-routes
grep "$1 " /etc/sysconfig/static-routes | while read device args; do route add -$args $device done
на
grep "$1 " /etc/sysconfig/static-routes | while read device args; do route add -$args # $device ########## done
Проблема: заморочки с ядром. С
инсталляции рабочее ядро кладется в /boot/vmlinuz и
/etc/lilo.conf затачивается под него, а при
перекомпиляции, по команде make zlilo ядро
забрасывается в /vmlinuz
Лечение: Поправить /etc/lilo.conf ручками, и сказать
lilo
Проблема: На сильно загруженных системах начинается игра в нехватку:
cannot fork try again, no more filedescriptors, no more pty...
Лечение: Увеличьте настраиваемые параметры и
перекомпилируйте ядро.
Число псевдотерминалов (а следовательно число
xterm'ов, телнетов...)
/usr/src/linux/include/linux/tty.h #define NR_PTYS 256 /* этот параметр трогать не рекомендуется */
И не забудьте mknod для большего числа pty
Максимальное число процессов
/usr/src/linux/include/linux/tasks.h #define NR_TASKS 512 #define MIN_TASKS_LEFT_FOR_ROOT 4
Число файлдескрипторов и открытых файлов.
/usr/src/linux/include/linux/fs.h #define NR_OPEN 256 #define NR_FILE 1024 /usr/src/linux/include/linux/limits.h: #define NR_OPEN 256
Нормально можно поставить RedHat с CD или по NFS. А вот с локального жесткого диска...
#$%^#$&&^)#%$@$&^*%%^
а еще он стер мой файл /etc/hosts, /etc/httpd/conf/*,
переименовал /etc/sendmail.cf, /etc/lilo.conf
Короче, я-то поставил. А Вы?
Присылайте свои советы/замечания/дополнения по
поводу всего вышесказанного
Максим Мошков. moshkow@ipsun.ras.ru
Comments: info@citmgu.ru
Copyright © CIT