Почему у того же пользователя есть другое значение ПУТИ на сервере Linux?

Схемы как это зависят в большой степени от реализации сервера. Некоторые серверы поддерживают намного больше функций, чем другие.

Я исследовал бы некоторый способ разделить файл или рассмотрел бы пользовательское заявление, которое отправит диапазон, который Вы просите.

2
задан 15 November 2012 в 22:21
5 ответов

Попытайтесь отладить использование техники, описанной в моем ответе на суперпользователе, использовании

debug_msg "running ~/.bashrc ($0), PATH = '$PATH'"

и подобный для/etc/bashrc,/etc/profile, и т.д.

1
ответ дан 3 December 2019 в 10:28
  • 1
    Спасибо за Вас ответ:) С функцией я нашел что PATH' s значение уже отличается в начале/etc/profile. Я can' t нашел, где ПУТЬ установлен перед/etc/profile сценарием. Вы могли дать мне некоторый совет?Спасибо. –  bluesea007 2 September 2009 в 09:22
  • 2
    Попробуйте " найдите / и т.д. - тип f-print0 | xargs-0 grep-l-w PATH" найти потенциальных кандидатов. –  hlovdal 2 September 2009 в 18:20

Проверьте поля ENV_SUPATH и ENV_PATH в/etc/login.def

Для хорошей практики сценариев не полагайтесь на переменную ПУТИ для выполнения команды, поскольку это неоднозначно.

1
ответ дан 3 December 2019 в 10:28

Различные сценарии (выполнение другого управления на ПУТИ) получены в этих двух случаях.
Так как Вы используете - опция, su должен получить Ваш сценарий входа в систему, в то время как ssh не должен.

Я не знаю, какое поведение Вы хотите точно, но возможно Вы могли проверить если некоторые su опции (например,-m, - сохранять-среда: не сбрасывайте переменные среды), мог помочь?

1
ответ дан 3 December 2019 в 10:28
  • 1
    Большое спасибо :) После ssh к серверу, я могу получить красивый вид терминального текста, но когда я использую " su - thesameuser" цвета текста не стало. Я хочу знать, что whick сценарии вызывают различие. Можно ли дать мне совет относительно этого?Спасибо. –   1 September 2009 в 13:12
  • 2
    Используйте огибающую команду. It' s prohably $LS_COLORS, в противном случае некоторая другая переменная среды. Почему не просто ssh к localhost вместо того, чтобы использовать su? –  reinierpost 1 September 2009 в 14:42

Это goees как этот:-

В/etc/passwd, где идентификатор пользователя определяется корневой каталог и оболочка по умолчанию:

auser:!:97:51::/home/user:/usr/bin/ksh

Когда auser входит в систему 'ksh' или удар или независимо от того, что будет работать, это поднимет 'ПУТЬ' по умолчанию с '/etc/environment' файл (и некоторые оболочки выполнят файл инициализации в масштабе всей системы), но, он также выполнит команды из первоначального сценария в корневом каталоге в вышеупомянутом случае '.kshrc' файл.

Таким образом, ПУТЬ может быть установлен начальной командой, настройками в масштабе всей системы для той начальной команды и 'скрытых' .rc файлов в пользовательском корневом каталоге.

'su -' не выполняет тот же набор начальных команд, как вход в систему только поднимает настройки по умолчанию с '/etc/environment' файл.

1
ответ дан 3 December 2019 в 10:28

из su страницы справочника

su is used to become another user during a login session. Invoked with-
       out a username, su defaults to becoming the super  user.  The  optional
       argument  -  may be used to provide an environment similiar to what the
       user would expect had the user logged in directly.

поэтому Вы будете всегда получать различные огибающие настройки на "su" и "su -"

0
ответ дан 3 December 2019 в 10:28

Теги

Похожие вопросы