На Mac под управлением OSX 10.7.5 мне нужно установить PATH для неинтерактивных пользователей, которые подключаются через ssh и проходят проверку подлинности с использованием LDAP. Это тот же вопрос, который был задан (и ответил) здесь:
но я недостаточно знаком с PAM или LDAP, чтобы полностью понять ответ.
Похоже, мне нужно:
add a line to /etc/pam.d/sshd saying "auth required pam_env.so"
create a file named /etc/security/pam_env.conf
но документация для pam_env.conf действительно сбивает с толку, и я не могу сказать, нужно ли мне значение DEFAULT или OVERRIDE.
Я прав, что это правильные шаги? Какую строку я должен поместить в pam_env.conf?
Спасибо Крис
п.с. Я попытался поместить строку «auth required pam_env.so debug» в /etc/pam.d/sshd, и я не вижу ничего в /var/log/system.log, которое выглядит так, как будто оно исходит от pam_env.so. Я также создал /etc/security/pam_env.conf и поместил в него строку «PATH DEFAULT = /usr /fred OVERRIDE = /usr /george», и это не оказало видимого влияния на PATH.
pps Если я выполню:
ssh USER@MACHINE echo \$SHELL
Это говорит /bin /bash. Если я войду в MACHINE и добавлю эту строку в /etc /bashrc:
export Test=Fred
и вернитесь к моей машине и выполните:
ssh USER@MACHINE echo \$Test
это ничего не возвращает. Когда я вхожу таким образом, используя LDAP, он не выполняет /etc /bashrc.
ppps Некоторая дополнительная информация, которая может оказаться важной: на MACHINE нет локального пользователя с именем USER. MACHINE настроен на выполнение аутентификации LDAP, поэтому, когда я запускаю ssh USER @ MACHINE, мой $ HOME устанавливается в /Network /Servers /blah /blah /Users /USER. Если я редактирую /Network/Servers/blah/blah/Users/USER/.bashrc, чтобы установить PATH, он работает правильно для меня, но это не очень хорошее решение, потому что это означает, что каждый, кто хочет получить доступ к этому серверу, должен редактировать свои сеть .bashrc.