github.com/stolowski/snapd@v0.0.0-20210407085831-115137ce5a22/osutil/group_no_cgo.go (about) 1 // -*- Mode: Go; indent-tabs-mode: t -*- 2 // +build !cgo 3 4 package osutil 5 6 // The builtin os/user functions only look at /etc/passwd and 7 // /etc/group when building without cgo. 8 // 9 // So if something extra is configured via nsswitch.conf, like 10 // extrausers those are not searched with the standard user.Lookup() 11 // which is used in find{Uid,Gid}NoGetenvFallback. 12 // 13 // To fix this behavior we use find{Uid,Gid}WithGetentFallback() that 14 // perform a 'getent <database> <name>' automatically if no local user 15 // is found and getent will use the libc nss functions to search all 16 // configured data sources. 17 18 var ( 19 findUid = findUidWithGetentFallback 20 findGid = findGidWithGetentFallback 21 )