Назад | Перейти на главную страницу

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

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

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

setenv ANDROID_SDK_HOME /Developers/Android/User

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

Вы можете использовать «сессию, требующую 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

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