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

Есть ли общий способ узнать, действительно ли имя пользователя в данной Unix-подобной системе?

Я ищу кросс-платформенный способ определить, действительно ли имя пользователя и имя группы. Платформы: Linux, Solaris, Aix и HPUX. Это должно работать независимо от того, определены ли пользователь / группа локально (например, / etc / passwd) или через службу, такую ​​как LDAP или NIS / YP. Вероятно, принятие желаемого за действительное, что такой метод существует, но не повредит (слишком много) спросить. Спасибо!

Дополнительная информация: К сожалению, я не контролирую системы, в которых это будет работать; сценарий предоставляется клиентам, и они могут делать все, что захотят. И у меня нет возможности проверить это сам ...

"getent passwd | grep" никуда вас не приведет?

Из командная строка:

id <username>

Если не копаться в плоских файлах, я обычно использую команды id или finger. Если у вас есть система, настроенная на использование LDAP или NIS / YP в масштабе всей системы, любая утилита командной строки должна использовать эту функцию.

В конечном итоге, чтобы ваше решение было безошибочным, вам, вероятно, придется записать более сложную логику в свой сценарий. Это хороший пример того, почему ИТ-отделы часто пытаются предотвратить слишком большое количество технологических отклонений.