Большинство сетевых серверов не должно вызвать подпроцессы любого вида. Из соображений безопасности их путь должен быть минимален.
Важное исключение - все сервисы, которые позволяют подключаться к системе
через сеть. Этот раздел описывает окружение в этих случаях. Если команда
выполняется на удаленной машине с помощью rsh, она получает другой path,
чем тот, если команда выполнена с помощью ssh. Подобно, вход в систему с
помощью rlogin, Telnet или ssh различны.
inetd
Большинство сетевых сервисов не имеют собственного процесса для постоянного
ожидания запросов. Эта работа поручается супер-серверу интернет, называемому
inetd. Inetd слушает все определенные сетевые порты и запускает
соответствующий сервер, когда имеется входящий запрос. Этот режим определен
в /etc/inetd.conf.
inetd стартует из скрипта при запуске системы. Он наследует пути процесса
init. Он не изменяет их, и все серверы стартующие от inetd имеют пути
процесса init. Пример такого сервера imapd, сервер почтового протокола
IMAP.
Другие примеры процессы inetd - telnetd, rlogind, talkd, ftp, popd, многие http серверы и т.д.
Часто использование inetd еще усложняется, при использовании отдельной программы
tcpd для запуска конкретного сервера. Это программа делает
дополнительную проверку безопасности до запуска конкретного приложения. Она
не изменяет пути (не проверено).
rsh
Демон rsh устанавливает пути из определения _PATH_DEFPATH
(/usr/include/paths.h), этот же путь использует программа login для нормальных
пользователей. Root получит тот же путь, что и нормальный пользователь.
Фактически, rshd выполняет команду, полученную из командной строки:
shell -c command-line
и shell, это не login-shell. Желательно, чтобы все оболочки, упомянутые в
/etc/passwd, поддерживали опцию -c.
rlogin
Rlogin вызывается при входе в систему, чтобы запустить реальную процедуру
входа в систему. Если вы входите с помощью rlogin, то получаете те же самые
пути, что и при обычном входе в систему. Большинство других способов войти
на Linux компьютер не использует login. Обратите внимание на разность с
rsh.
Команда login фактически использует
login -p -h host-name user-name
-p сохраняет среду окружения, кроме переменных HOME, PATH, SHELL, TERM,
MAIL и LOGNAME. -h сообщает удаленному хосту имя для регистрации.
telnet
Telnet является че- то подобным rlogin. Использует программу login и командную строку.
ssh
ssh имеет собственную установку путей. Он добавляет каталог, где находится
ssh. Часто это означает, что /usr/bin находится в пути дважды:
/usr/local/bin:/usr/bin:/bin:.:/usr/bin
Путь не содержит /usr/X11/bin, и оболочка, вызванная командой ssh - не
оболочка входа в систему. Таким образом,
ssh remotehost xterm
не работает, и что-либо в /etc/profile или в /etc/csh.cshrc может заменить
это. Вы должны всегда использовать явный путь /usr/bin/X11/xterm.
ssh ищет переменные окружения в форме VAR=VALUE в файле /etc/environment. К
сожалению, это вызывает некоторые проблемы с XFree86.
Знаете ли Вы, что cогласно релятивистской мифологии "гравитационное линзирование - это физическое явление, связанное с отклонением лучей света в поле тяжести. Гравитационные линзы обясняют образование кратных изображений одного и того же астрономического объекта (квазаров, галактик), когда на луч зрения от источника к наблюдателю попадает другая галактика или скопление галактик (собственно линза). В некоторых изображениях происходит усиление яркости оригинального источника." (Релятивисты приводят примеры искажения изображений галактик в качестве подтверждения ОТО - воздействия гравитации на свет) При этом они забывают, что поле действия эффекта ОТО - это малые углы вблизи поверхности звезд, где на самом деле этот эффект не наблюдается (затменные двойные). Разница в шкалах явлений реального искажения изображений галактик и мифического отклонения вблизи звезд - 1011 раз. Приведу аналогию. Можно говорить о воздействии поверхностного натяжения на форму капель, но нельзя серьезно говорить о силе поверхностного натяжения, как о причине океанских приливов. Эфирная физика находит ответ на наблюдаемое явление искажения изображений галактик. Это результат нагрева эфира вблизи галактик, изменения его плотности и, следовательно, изменения скорости света на галактических расстояниях вследствие преломления света в эфире различной плотности. Подтверждением термической природы искажения изображений галактик является прямая связь этого искажения с радиоизлучением пространства, то есть эфира в этом месте, смещение спектра CMB (космическое микроволновое излучение) в данном направлении в высокочастотную область. Подробнее читайте в FAQ по эфирной физике.