Большинство сетевых серверов не должно вызвать подпроцессы любого вида. Из соображений безопасности их путь должен быть минимален.
Важное исключение - все сервисы, которые позволяют подключаться к системе через сеть. Этот раздел описывает окружение в этих случаях. Если команда выполняется на удаленной машине с помощью rsh, она получает другой path, чем тот, если команда выполнена с помощью ssh. Подобно, вход в систему с помощью rlogin, Telnet или ssh различны.
Большинство сетевых сервисов не имеют собственного процесса для постоянного ожидания запросов. Эта работа поручается супер-серверу интернет, называемому inetd. Inetd слушает все определенные сетевые порты и запускает соответствующий сервер, когда имеется входящий запрос. Этот режим определен в /etc/inetd.conf.
inetd стартует из скрипта при запуске системы. Он наследует пути процесса init. Он не изменяет их, и все серверы стартующие от inetd имеют пути процесса init. Пример такого сервера imapd, сервер почтового протокола IMAP.
Другие примеры процессы inetd - telnetd, rlogind, talkd, ftp, popd, многие http серверы и т.д.
Часто использование inetd еще усложняется, при использовании отдельной программы tcpd для запуска конкретного сервера. Это программа делает дополнительную проверку безопасности до запуска конкретного приложения. Она не изменяет пути (не проверено).
Демон rsh устанавливает пути из определения _PATH_DEFPATH (/usr/include/paths.h), этот же путь использует программа login для нормальных пользователей. Root получит тот же путь, что и нормальный пользователь.
Фактически, rshd выполняет команду, полученную из командной строки:
shell -c command-line |
и shell, это не login-shell. Желательно, чтобы все оболочки, упомянутые в /etc/passwd, поддерживали опцию -c.
Rlogin вызывается при входе в систему, чтобы запустить реальную процедуру входа в систему. Если вы входите с помощью rlogin, то получаете те же самые пути, что и при обычном входе в систему. Большинство других способов войти на Linux компьютер не использует login. Обратите внимание на разность с rsh.
Команда login фактически использует
login -p -h host-name user-name |
-p сохраняет среду окружения, кроме переменных HOME, PATH, SHELL, TERM, MAIL и LOGNAME. -h сообщает удаленному хосту имя для регистрации.
Telnet является че- то подобным rlogin. Использует программу login и командную строку.
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.
1. Электромагнитная волна (в религиозной терминологии релятивизма - "свет") имеет строго постоянную скорость 300 тыс.км/с, абсурдно не отсчитываемую ни от чего. Реально ЭМ-волны имеют разную скорость в веществе (например, ~200 тыс км/с в стекле и ~3 млн. км/с в поверхностных слоях металлов, разную скорость в эфире (см. статью "Температура эфира и красные смещения"), разную скорость для разных частот (см. статью "О скорости ЭМ-волн")
2. В релятивизме "свет" есть мифическое явление само по себе, а не физическая волна, являющаяся волнением определенной физической среды. Релятивистский "свет" - это волнение ничего в ничем. У него нет среды-носителя колебаний.
3. В релятивизме возможны манипуляции со временем (замедление), поэтому там нарушаются основополагающие для любой науки принцип причинности и принцип строгой логичности. В релятивизме при скорости света время останавливается (поэтому в нем абсурдно говорить о частоте фотона). В релятивизме возможны такие насилия над разумом, как утверждение о взаимном превышении возраста близнецов, движущихся с субсветовой скоростью, и прочие издевательства над логикой, присущие любой религии.
4. В гравитационном релятивизме (ОТО) вопреки наблюдаемым фактам утверждается об угловом отклонении ЭМ-волн в пустом пространстве под действием гравитации. Однако астрономам известно, что свет от затменных двойных звезд не подвержен такому отклонению, а те "подтверждающие теорию Эйнштейна факты", которые якобы наблюдались А. Эддингтоном в 1919 году в отношении Солнца, являются фальсификацией. Подробнее читайте в FAQ по эфирной физике.