Я ищу кросс-платформенный способ определить, действительно ли имя пользователя и имя группы. Платформы: Linux, Solaris, Aix и HPUX. Это должно работать независимо от того, определены ли пользователь / группа локально (например, / etc / passwd) или через службу, такую как LDAP или NIS / YP. Вероятно, принятие желаемого за действительное, что такой метод существует, но не повредит (слишком много) спросить. Спасибо!
Дополнительная информация: К сожалению, я не контролирую системы, в которых это будет работать; сценарий предоставляется клиентам, и они могут делать все, что захотят. И у меня нет возможности проверить это сам ...
"getent passwd | grep" никуда вас не приведет?
Из командная строка:
id <username>
Если не копаться в плоских файлах, я обычно использую команды id
или finger
. Если у вас есть система, настроенная на использование LDAP или NIS / YP в масштабе всей системы, любая утилита командной строки должна использовать эту функцию.
В конечном итоге, чтобы ваше решение было безошибочным, вам, вероятно, придется записать более сложную логику в свой сценарий. Это хороший пример того, почему ИТ-отделы часто пытаются предотвратить слишком большое количество технологических отклонений.