Надеюсь, я не прошу что-то, что нарушит великие умы пользователей переполнения стека; Я считаю, что я сделал домашнее задание, но пришел с пустыми руками.Запустить loginhook, но получить UID текущего зарегистрированного пользователя
В OS X, я пытаюсь создать loginhook, который будет проверять, существует ли файл в папке/usr/share, и если он не существует, он должен создать пустой файл с заголовком UID пользователя, который регистрируется.
Например, если мой UID равен 501, при входе в систему скрипт должен проверить, существует ли файл/501 в/usr/share. Если он не существует, он должен его создать.
Проблема, с которой я столкнулся, заключается в том, что все loginhooks выполняются как root, поэтому, если файл создан, это имя файла просто «0».
Единственное, что я придумал до сих пор является:
#!/bin/bash
userID=$(id -u)
if [ ! /usr/share/$userID ]
touch /usr/share/$userID
fi
Хм, я думал, что это сработало, но когда я запустил скрипт, он создал файл с названием 65, что означает, что учетная запись с UID 65 выполняла этот процесс. Выключается после выполнения «dscl -plist. Readall/users». Я смог найти, что учетная запись является mDNSResponder. Так странно. Я думаю, что ты меня на правильном пути, хотя, Вего. :) Я опубликую обновление, если найду ответ, который я ищу. – Semibeard