OSX Server - Как установить переменную среды при входе пользователя в сеть

У меня на сервере есть группа пользователей "Разработчики", и я хотел бы, чтобы переменная окружения была установлена ​​для них при каждом входе в систему.

Более конкретно, когда кто-либо из этой группы входит в систему, я хотел бы получить эквивалент:

setenv ANDROID_SDK_HOME /Developers/Android/User

быть установленным при входе в систему. Я могу сделать это с помощью сценария входа в систему, если это необходимо, но я спрашиваю: можно ли установить этот тип вещей в Profile Manager, Workgroup Manager, Directory Utility и т. Д.?

2 ответа

Вы можете использовать "session required pam_env.so ..." в вашем /etc/pam.d/common-session, но вам потребуется некоторая логика, чтобы позаботиться о групповых вещах, возможно, из pam_succeed_if.so .

запустите "man pam_env" для деталей.

Вы можете использовать аналогичный подход, как это решение:

https://stackoverflow.com/questions/6059323/setting-user-environment-variable-and-apply-it-to-new-processes

По сути, создайте каталог и файл, принадлежащие разработчикам с правами на чтение группы:

/etc/profile.d/developers
chmod 0660 /etc/profile.d/developers

редактировать

/etc/profile 

и добавьте такую ​​строку:

source /etc/profile.d/developers 2 &>1 /dev/null

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

Другие вопросы по тегам