Подход getent
был бы более совместимым и предпочтительным. Эти файлы (/ etc / group, / etc / hosts, / etc / services, / etc / passwd, ...) не всегда находятся в / etc
, они также могут быть, в зависимости от вашей операционной системы. в других местах. getent
все равно найдет записи (если они есть в системе).
Также, как заявил @John, getent
выполняет поиск во всех настроенных базах данных nsswitch. Даже если у вас есть (несколько) подключенных внешних источников, где ваши пользователи проходят аутентификацию или разрешения имен через DNS-серверы и так далее. getent
, следовательно, медленнее, потому что каждый поиск должен проходить через все базы данных.