A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.
1 #!/bin/sh 2 3 # test_ldapcmds.sh - simple test script to test lookups 4 # 5 # Copyright (C) 2017-2021 Arthur de Jong 6 # 7 # This library is free software; you can redistribute it and/or 8 # modify it under the terms of the GNU Lesser General Public 9 # License as published by the Free Software Foundation; either 10 # version 2.1 of the License, or (at your option) any later version. 11 # 12 # This library is distributed in the hope that it will be useful, 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 # Lesser General Public License for more details. 16 # 17 # You should have received a copy of the GNU Lesser General Public 18 # License along with this library; if not, write to the Free Software 19 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 20 # 02110-1301 USA 21 22 # This script expects to be run in an environment where nss-pam-ldapd 23 # is deployed with an LDAP server with the proper content (and nslcd running). 24 25 set -e 26 27 # find source directory 28 srcdir="${srcdir-`dirname "$0"`}" 29 top_srcdir="${top_srcdir-${srcdir}/..}" 30 builddir="${builddir-`dirname "$0"`}" 31 top_builddir="${top_builddir-${builddir}/..}" 32 python="${PYTHON-python}" 33 PYTHONPATH="${top_srcdir}/utils:${top_builddir}/utils" 34 export PYTHONPATH 35 36 # Force UTF-8 encoding for repeatable tests 37 PYTHONIOENCODING='utf-8' 38 export PYTHONIOENCODING 39 40 # ensure that we are running in the test environment 41 "$srcdir/testenv.sh" check_nslcd || exit 77 42 43 # if Python is missing, ignore 44 if [ -z "${python}" ] || ! ${python} --version > /dev/null 2> /dev/null 45 then 46 echo "Python (${python}) not found" 47 exit 77 48 fi 49 50 # the total number of errors 51 FAIL=0 52 53 getent_ldap() { 54 ${python} -m getent ${1:+"$@"} 55 } 56 57 check() { 58 # the command to execute 59 cmd="$1" 60 # save the expected output 61 expectfile=`mktemp -t expected.XXXXXX 2> /dev/null || tempfile -s .expected 2> /dev/null` 62 cat > "$expectfile" 63 # run the command 64 echo 'test_nsscmds.sh: checking "'"$cmd"'"' 65 actualfile=`mktemp -t actual.XXXXXX 2> /dev/null || tempfile -s .actual 2> /dev/null` 66 eval "$(echo $cmd | sed 's/getent.ldap/getent_ldap/g')" > "$actualfile" 2>&1 || true 67 # check for differences 68 diff -Nauwi "$expectfile" "$actualfile" || FAIL=`expr $FAIL + 1` 69 # remove temporary files 70 rm "$expectfile" "$actualfile" 71 } 72 73 ########################################################################### 74 75 echo "test_ldapcmds.sh: testing aliases..." 76 77 # check all aliases 78 check "getent.ldap aliases|sort" << EOM 79 bar2: foobar@example.com 80 bar: foobar@example.com 81 foo: bar@example.com 82 EOM 83 84 # get alias by name 85 check "getent.ldap aliases foo" << EOM 86 foo: bar@example.com 87 EOM 88 89 # get alias by second name 90 check "getent.ldap aliases bar2" << EOM 91 bar2: foobar@example.com 92 EOM 93 94 # get alias by different case 95 check "getent.ldap aliases FOO" << EOM 96 foo: bar@example.com 97 EOM 98 99 ########################################################################### 100 101 echo "test_ldapcmds.sh: testing ether..." 102 103 # get an entry by hostname 104 check "getent.ldap ethers testhost" << EOM 105 0:18:8a:54:1a:8e testhost 106 EOM 107 108 # get an entry by alias name 109 check "getent.ldap ethers testhostalias" << EOM 110 0:18:8a:54:1a:8e testhostalias 111 EOM 112 113 # get an entry by hostname with different case 114 check "getent.ldap ethers TESTHOST" << EOM 115 0:18:8a:54:1a:8e testhost 116 EOM 117 118 # get an entry by ethernet address 119 check "getent.ldap ethers 0:18:8a:54:1a:8b" << EOM 120 0:18:8a:54:1a:8b testhost2 121 EOM 122 123 # get all ethers (unsupported) 124 check "getent.ldap ethers|sort" << EOM 125 0:18:8a:54:1a:8b testhost2 126 0:18:8a:54:1a:8e testhost 127 0:18:8a:54:1a:8e testhostalias 128 EOM 129 130 ########################################################################### 131 132 echo "test_ldapcmds.sh: testing group..." 133 134 # function to sort group members of a group 135 sortgroup() { 136 while read line 137 do 138 group="`echo "$line" | sed 's/^\([^:]*:[^:]*:[^:]*\).*$/\1:/'`" 139 members="`echo "$line" | sed -n 's/^[^:]*:[^:]*:[^:]*:\(.*\)$/\1/p' | tr ',' '\n' | sort | tr '\n' ','`" 140 members="`echo "$members" | sed 's/,$//'`" 141 echo "${group}${members}" 142 done 143 } 144 145 check "getent.ldap group testgroup | sortgroup" << EOM 146 testgroup:*:6100:test,testuser4,testusr1 147 EOM 148 149 check "getent.ldap group users | sortgroup" << EOM 150 users:*:100:test,testusr1 151 EOM 152 153 # group with different case should not be found 154 check "getent.ldap group TESTGROUP" << EOM 155 EOM 156 157 check "getent.ldap group 6100 | sortgroup" << EOM 158 testgroup:*:6100:test,testuser4,testusr1 159 EOM 160 161 check "getent.ldap group.bymember testusr1 | sed 's/:.*//' | sort" << EOM 162 grp10 163 grp11 164 grp12 165 grp13 166 grp14 167 grp15 168 grp16 169 grp17 170 grp18 171 grp4 172 grp5 173 grp6 174 grp7 175 grp8 176 grp9 177 testgroup 178 testgroup2 179 users 180 EOM 181 182 check "getent.ldap group.bymember testuser4 | sed 's/:.*//' | sort" << EOM 183 testgroup 184 testgroup2 185 EOM 186 187 check "getent.ldap group | egrep '^(testgroup|users):' | sortgroup" << EOM 188 testgroup:*:6100:test,testuser4,testusr1 189 users:*:100:test,testusr1 190 EOM 191 192 check "getent.ldap group | wc -l" << EOM 193 23 194 EOM 195 196 check "getent.ldap group | grep ^largegroup | sortgroup" << EOM 197 largegroup:*:1005:akraskouskas,alat,ameisinger,bdevera,behrke,bmoldan,btempel,cjody,clouder,cmanno,dbye,dciviello,dfirpo,dgivliani,dgosser,emcquiddy,enastasi,fcunard,gcubbison,gdaub,gdreitzler,ghanauer,gpomerance,gsusoev,gtinnel,gvollrath,gzuhlke,hgalavis,hhaffey,hhydrick,hmachesky,hpaek,hpolk,hsweezer,htomlinson,hzagami,igurwell,ihashbarger,jyeater,kbradbury,khathway,kklavetter,lbuchtel,lgandee,lkhubba,lmauracher,lseehafer,lvittum,mblanchet,mbodley,mciaccia,mjuris,ndipanfilo,nfilipek,nfunchess,ngata,ngullett,nkraker,nriofrio,nroepke,nrybij,oclunes,oebrani,okveton,osaines,otrevor,pdossous,phaye,psowa,purquilla,rkoonz,rlatessa,rworkowski,sdebry,sgurski,showe,slaforge,tabdelal,testusr2,testusr3,tfalconeri,tpaa,uschweyen,utrezize,vchevalier,vdelnegro,vleyton,vmedici,vmigliori,vpender,vwaltmann,wbrettschneide,wselim,wvalcin,wworf,yautin,ykisak,zgingrich,znightingale,zwinterbottom 198 EOM 199 200 check "getent.ldap group largegroup | sortgroup" << EOM 201 largegroup:*:1005:akraskouskas,alat,ameisinger,bdevera,behrke,bmoldan,btempel,cjody,clouder,cmanno,dbye,dciviello,dfirpo,dgivliani,dgosser,emcquiddy,enastasi,fcunard,gcubbison,gdaub,gdreitzler,ghanauer,gpomerance,gsusoev,gtinnel,gvollrath,gzuhlke,hgalavis,hhaffey,hhydrick,hmachesky,hpaek,hpolk,hsweezer,htomlinson,hzagami,igurwell,ihashbarger,jyeater,kbradbury,khathway,kklavetter,lbuchtel,lgandee,lkhubba,lmauracher,lseehafer,lvittum,mblanchet,mbodley,mciaccia,mjuris,ndipanfilo,nfilipek,nfunchess,ngata,ngullett,nkraker,nriofrio,nroepke,nrybij,oclunes,oebrani,okveton,osaines,otrevor,pdossous,phaye,psowa,purquilla,rkoonz,rlatessa,rworkowski,sdebry,sgurski,showe,slaforge,tabdelal,testusr2,testusr3,tfalconeri,tpaa,uschweyen,utrezize,vchevalier,vdelnegro,vleyton,vmedici,vmigliori,vpender,vwaltmann,wbrettschneide,wselim,wvalcin,wworf,yautin,ykisak,zgingrich,znightingale,zwinterbottom 202 EOM 203 204 check "getent.ldap group | grep ^hugegroup | sortgroup" << EOM 205 hugegroup:*:1006:ablackstock,abortignon,achhor,ademosthenes,adenicola,adishaw,aesbensen,aferge,afredin,afuchs,agarbett,agimm,agordner,ahandy,ajaquess,akertzman,akomsthoeft,akraskouskas,akravetz,alamour,alat,alienhard,amanganelli,amaslyn,amayorga,amccroskey,amcgraw,amckinney,ameisinger,aponcedeleon,apurdon,areid,arosel,ascheno,ascovel,asemons,ashuey,asivley,astrunk,atollefsrud,atonkin,awhitt,aziernicki,badair,baigner,bbeckfield,bbrenton,bcoletta,bcolorado,bdadds,bdaughenbaugh,bdevera,bdominga,behrke,beon,bfishbeck,bgavagan,bguthary,bharnois,bhelverson,bjolly,blovig,bluellen,bmadamba,bmarlin,bmarszalek,bmicklos,bmoling,bouten,bphou,bpinedo,brodgerson,broher,bromano,bscadden,bsibal,bstrede,bswantak,btempel,btheim,bveeneman,bwinterton,bwynes,cabare,carguellez,cbarlup,cbartnick,cbelardo,cbleimehl,cbotdorf,cbourek,cbrechbill,cbrom,ccyganiewicz,cdeckard,cdegravelle,cdickes,cdrumm,cfasone,cflenner,cfleurantin,cgaler,cgalinol,cgaudette,cghianni,charriman,cjody,cjuntunen,ckerska,ckistenmacher,cklem,ckodish,clapenta,clewicki,clouder,cmafnas,cmanno,cmcanulty,cmellberg,cmiramon,cnabzdyk,cnoriego,cpaccione,cpalmios,cparee,cpencil,cpentreath,cpinela,cpluid,critchie,cscullion,csever,csoomaroo,cspilis,cswigert,ctenny,ctetteh,ctuzzo,cwank,cweiss,dasiedu,daubert,dbarriball,dbertels,dblazejewski,dcaltabiano,dciullo,ddeguire,ddigerolamo,denriquez,deshmon,dfirpo,dflore,dfollman,dgiacomazzi,dgivliani,dgosser,dhammontree,dhendon,dhindsman,dholdaway,dlablue,dlanois,dlargo,dledenbach,dlongbotham,dloubier,dmahapatra,dmarchizano,dmcgillen,dminozzi,dnegri,dpebbles,draymundo,dscheurer,dsharr,dsherard,dsteever,dtashjian,dtornow,dtuholski,dwittlinger,dzurek,eaguire,eathey,ebattee,ebeachem,eberkman,ebusk,ecelestin,ecolden,ecordas,ediga,edrinkwater,edurick,egospatrick,egrago,ehathcock,ehindbaugh,ejeppesen,ekalfas,ekenady,ekeuper,eklein,eklunder,ekurter,emanikowski,emargulis,emcquiddy,emehta,eorsten,eparham,epeterson,epoinelli,erathert,erostad,eserrett,esheehan,esonia,esproull,esthill,estockwin,etunby,ewicks,ewilles,ewismer,ewuitschick,eyounglas,eziebert,fagro,faleo,farquette,fbeatrice,fberra,fberyman,fbielecki,fburrough,fcha,fcunard,ffigert,fgoben,fgrashot,fhain,fhalon,fkeef,fmarchi,fmilsaps,fnottage,fparness,fplayfair,fsapien,fsavela,fsirianni,fsplinter,fsunderland,fsymmonds,fthein,fvallian,fvascones,fverfaille,fvinal,fwidhalm,gallanson,gapkin,garchambeault,gbitar,gbolay,gcarlini,gcervantez,gchounlapane,gclapham,gcobane,gconver,gcukaj,gcummer,gcurnutt,gdaub,gdeblasio,gdeyarmond,gdrilling,gearnshaw,gfaire,gfedewa,ggehrke,ggillim,ghann,ghelderman,ghumbles,gishii,gjankowiak,gkerens,glafontaine,gloebs,gmackinder,gmassi,gmilian,gmings,gmoen,gparkersmith,gpomerance,gportolese,greiff,gsantella,gschaumburg,gshrode,gtinnel,guresti,gvollrath,gwaud,habby,hbastidos,hbetterman,hbickford,hbraim,hbrandow,hbrehmer,hbukovsky,hcafourek,hcarrizal,hchaviano,hcintron,hcowles,hcusta,hdoiel,hdyner,hfludd,hgalavis,hhaffey,hhagee,hhartranft,hholyfield,hhysong,hkarney,hkinderknecht,hkippes,hkohlmeyer,hlauchaire,hlemon,hlichota,hliverman,hloftis,hlynema,hmateer,hmatonak,hmiazga,hmogush,hmuscaro,hpalmquist,hpimpare,hpolintan,hrapisura,hrenart,hriech,hsabol,hschelb,hschoepfer,hspiry,hstreitnatter,hsweezer,htilzer,htomlinson,htsuha,hvannette,hveader,hwestermark,hwoodert,hzagami,hzinda,iambrosino,ibeto,ibreitbart,ibuzo,ibyles,ichewning,icoard,ideveyra,ienglert,igizzi,ihalford,ihanneman,ihegener,ihernan,iherrarte,ihimmelwright,ihoa,iiffert,ikadar,ikulbida,ilacourse,ilamberth,ilawbaugh,ileaman,ilevian,imarungo,imcbay,imensah,imicthell,imillin,imuehl,inarain,iogasawara,iroiger,iseipel,isowder,isplonskowski,istallcup,istarring,isteinlicht,ithum,ivanschaack,iweibe,iyorgey,iyorks,jamber,jappleyard,jbielicki,jbjorkman,jcaroll,jdodge,jeuresti,jeverton,jglotzbecker,jherkenratt,jholzmiller,jjumalon,jkimpton,jknight,jlebouf,jlunney,jmartha,jmarugg,jmatty,joligee,jquicksall,jrees,jreigh,jroman,jscheitlin,jseen,jsegundo,jsenavanh,jskafec,jspohn,jsweezy,jvillaire,jwinterton,jzych,kaanerud,kalguire,kbarnthouse,kbartolet,kbattershell,kbrevitz,kbrugal,kcofrancesco,kcomparoni,kconkey,kdevincent,kepps,kfaure,kfend,kgarced,kgremminger,khartness,kheadlon,khovanesian,kjoslyn,klitehiser,klundsten,klurie,kmallach,kmandolfo,kmarzili,kmayoras,kmcardle,kmcguire,kmedcaf,kmeester,kmisove,kmoesch,kmosko,kmuros,kolexa,kottomaniello,kpalka,kpannunzio,kpenale,kpuebla,krahman,kseisler,kshippy,ksiering,ksollitto,ksparling,kstachurski,kthede,ktoni,ktriblett,ktuccio,ktuner,kwidrick,kwinterling,kwirght,laksamit,lautovino,lbanco,lbassin,lbove,lbuchtel,lcanestrini,lcaudell,lcavez,lcocherell,lcoulon,lcremer,leberhardt,lfarraj,lfichtner,lgadomski,lgandee,lgradilla,lhuggler,limbrogno,ljomes,lkimel,llarmore,llasher,lmadruga,lmauracher,lmcgeary,lmichaud,lmuehlberger,lnormand,lparrish,lpeagler,lpintor,lpitek,lpondexter,lrandall,lringuette,lschenkelberg,lschnorbus,lschollmeier,lseabold,lseehafer,lshilling,lsivic,lsobrino,lsous,lspielvogel,lvaleriano,lvanconant,lwedner,lyoula,mallmand,maustine,mbeagley,mbodley,mbravata,mcampagnone,mcaram,mcashett,mcasida,mcoch,mcolehour,mcontreras,mdanos,mdecourcey,mdedon,mdickinson,mdimaio,mdoering,mdyce,meconomides,mespinel,mfaeth,mfeil,mferandez,mfitzherbert,mgavet,mgayden,mground,mheilbrun,mhollings,mjeon,mkibler,mkofoed,mlaverde,mlenning,mlinak,mlinardi,mmangiamele,mmattu,mmcchristian,mmerriwether,mmesidor,mneubacher,moller,moser,mpanahon,mpark,mpellew,mpilon,mpizzaro,mpytko,mquigg,mredd,mrizer,mruppel,mrydelek,mskeele,mstirn,mswogger,mtanzi,mtintle,mvanbergen,mvanpelt,mvas,mvedder,mviverette,myokoyama,nagerton,nasmar,nbuford,nbugtong,ncermeno,nchrisman,nciucci,ndesautels,ndrumgole,nedgin,nendicott,nerbach,nevan,nforti,nfunchess,ngiesler,nglathar,ngrowney,ngullett,nhayer,nhelfinstine,nhija,ninnella,njordon,nkempon,nkubley,nlainhart,nlatchaw,nlemma,nlinarez,nlohmiller,nmccolm,nmoren,nnamanworth,nnickel,nousdahl,nphan,nramones,nranck,nridinger,nriofrio,nrybij,nrysavy,nschmig,nsiemonsma,nslaby,nspolar,nvyhnal,nwescott,nwiker,oahyou,oalthouse,obeaufait,obenallack,obercier,obihl,ocalleo,ochasten,oclunes,oconerly,ocrabbs,oebrani,ofelcher,ohatto,ohearl,ohedlund,ohoffert,ohove,ojerabek,okave,okveton,omalvaez,omasone,omatula,omcdaid,oolivarez,oosterhouse,opeet,opizzuti,opoch,oport,opuglisi,oreiss,osaber,oscarpello,oshough,ovibbert,owhelchel,owhitelow,pahles,pbascom,pbeckerdite,pbiggart,pbondroff,pbrentano,pcaposole,pcornn,pdauterman,pdech,pdischinger,pduitscher,pdulac,pdurando,pfavolise,pgiegerich,pgreenier,pgrybel,phalkett,pheathcock,phyer,pmineo,pminnis,ppedraja,ppeper,pphuaphes,prepasky,prowena,psabado,psalesky,pschrayter,psharits,psiroky,psundeen,pthornberry,ptoenjes,ptraweek,purquilla,pvierthaler,pvirelli,pviviani,pwademan,pwashuk,pwetherwax,pwhitmire,pwohlenhaus,pwutzke,qhanly,ralspach,rbernhagen,rbillingsly,rbloomstrand,rbrisby,rcheshier,rchevrette,rdubs,rdubuisson,redling,rfassinger,rfauerbach,rfidel,rginer,rgoonez,rgramby,rgriffies,rguinane,rheinzmann,rkraszewski,rlambertus,rlatessa,rlosinger,rmandril,rmcstay,rnordby,rpastorin,rpikes,rpinilla,rpitter,rramirez,rrasual,rschkade,rtole,rtooker,saben,sackles,sarndt,saycock,sbemo,sbettridge,sbloise,sbonnie,sbrabyn,scocuzza,sdebry,senrico,sestergard,sgefroh,sgirsh,sgropper,sgunder,sgurski,shaith,sherzberg,showe,sjankauskas,skanjirathinga,skoegler,slaningham,slaudeman,slerew,smccaie,smillian,smullowney,snotari,spolmer,srees,srubenfield,sscheiern,sskone,sskyers,sspagnuolo,sstough,sstuemke,svandewalle,svielle,svogler,svongal,swoodie,tabdelal,tairth,tbagne,tbattista,tboxx,tcacal,tcossa,tcrissinger,tdonathan,teliades,tfalconeri,tfetherston,tgelen,tgindhart,tguinnip,tharr,thelfritz,thoch,thynson,tkeala,tkelly,tkhora,tlana,tlowers,tmalecki,tmarkus,tmccaffity,tmccamish,tmcmickle,tmelland,tmorr,tmurata,tmysinger,tnaillon,tnitzel,tpaa,tplatko,tredfearn,tsablea,tsann,tschnepel,tsearle,tsepulueda,tsowells,tstalworth,tvehrs,tvrooman,tyounglas,ualway,uazatyan,ubenken,ubieniek,ubynum,udatu,uednilao,ueriks,uflander,ugerpheide,ugreenberg,uhayakawa,uholecek,ulanigan,umarbury,umosser,upater,upellam,uransford,urosentrance,uschweyen,usevera,uslavinski,uspittler,uvanmatre,uwalpole,uweyand,vbaldasaro,vbigalow,vbonder,vburton,vchevalier,vcrofton,vdesir,vdolan,veisenhardt,vemily,venfort,vfeigel,vglidden,vkrug,vlubic,vmaynard,vmedici,vnazzal,vnery,vpeairs,vpender,vpiraino,vrodick,vrunyon,vsefcovic,vstirman,vtowell,vtresch,vtrumpp,vwabasha,vwaltmann,vwisinger,vwokwicz,wbrill,wclokecloak,wconces,wconstantino,wcreggett,wdagrella,wdevenish,wdovey,wenglander,werrick,wesguerra,wganther,wkhazaleh,wleiva,wlynch,wmailey,wmendell,wnunziata,wottesen,wselim,wstjean,wtruman,wvalcin,wvermeulen,xeppley,xlantey,xrahaim,yautin,ycerasoli,ycobetto,ycostaneda,yduft,yeven,yfrymoyer,ygockel,yhenriques,ykimbel,yolivier,yschmuff,ysnock,yvdberg,zanderlik,zborgmeyer,zbuscaglia,zculp,zfarler,zhaulk,zkutchera,zmeeker,zneeb,zratti,zscammahorn,zvagt,zwinterbottom 206 EOM 207 208 check "getent.ldap group hugegroup | sortgroup" << EOM 209 hugegroup:*:1006:ablackstock,abortignon,achhor,ademosthenes,adenicola,adishaw,aesbensen,aferge,afredin,afuchs,agarbett,agimm,agordner,ahandy,ajaquess,akertzman,akomsthoeft,akraskouskas,akravetz,alamour,alat,alienhard,amanganelli,amaslyn,amayorga,amccroskey,amcgraw,amckinney,ameisinger,aponcedeleon,apurdon,areid,arosel,ascheno,ascovel,asemons,ashuey,asivley,astrunk,atollefsrud,atonkin,awhitt,aziernicki,badair,baigner,bbeckfield,bbrenton,bcoletta,bcolorado,bdadds,bdaughenbaugh,bdevera,bdominga,behrke,beon,bfishbeck,bgavagan,bguthary,bharnois,bhelverson,bjolly,blovig,bluellen,bmadamba,bmarlin,bmarszalek,bmicklos,bmoling,bouten,bphou,bpinedo,brodgerson,broher,bromano,bscadden,bsibal,bstrede,bswantak,btempel,btheim,bveeneman,bwinterton,bwynes,cabare,carguellez,cbarlup,cbartnick,cbelardo,cbleimehl,cbotdorf,cbourek,cbrechbill,cbrom,ccyganiewicz,cdeckard,cdegravelle,cdickes,cdrumm,cfasone,cflenner,cfleurantin,cgaler,cgalinol,cgaudette,cghianni,charriman,cjody,cjuntunen,ckerska,ckistenmacher,cklem,ckodish,clapenta,clewicki,clouder,cmafnas,cmanno,cmcanulty,cmellberg,cmiramon,cnabzdyk,cnoriego,cpaccione,cpalmios,cparee,cpencil,cpentreath,cpinela,cpluid,critchie,cscullion,csever,csoomaroo,cspilis,cswigert,ctenny,ctetteh,ctuzzo,cwank,cweiss,dasiedu,daubert,dbarriball,dbertels,dblazejewski,dcaltabiano,dciullo,ddeguire,ddigerolamo,denriquez,deshmon,dfirpo,dflore,dfollman,dgiacomazzi,dgivliani,dgosser,dhammontree,dhendon,dhindsman,dholdaway,dlablue,dlanois,dlargo,dledenbach,dlongbotham,dloubier,dmahapatra,dmarchizano,dmcgillen,dminozzi,dnegri,dpebbles,draymundo,dscheurer,dsharr,dsherard,dsteever,dtashjian,dtornow,dtuholski,dwittlinger,dzurek,eaguire,eathey,ebattee,ebeachem,eberkman,ebusk,ecelestin,ecolden,ecordas,ediga,edrinkwater,edurick,egospatrick,egrago,ehathcock,ehindbaugh,ejeppesen,ekalfas,ekenady,ekeuper,eklein,eklunder,ekurter,emanikowski,emargulis,emcquiddy,emehta,eorsten,eparham,epeterson,epoinelli,erathert,erostad,eserrett,esheehan,esonia,esproull,esthill,estockwin,etunby,ewicks,ewilles,ewismer,ewuitschick,eyounglas,eziebert,fagro,faleo,farquette,fbeatrice,fberra,fberyman,fbielecki,fburrough,fcha,fcunard,ffigert,fgoben,fgrashot,fhain,fhalon,fkeef,fmarchi,fmilsaps,fnottage,fparness,fplayfair,fsapien,fsavela,fsirianni,fsplinter,fsunderland,fsymmonds,fthein,fvallian,fvascones,fverfaille,fvinal,fwidhalm,gallanson,gapkin,garchambeault,gbitar,gbolay,gcarlini,gcervantez,gchounlapane,gclapham,gcobane,gconver,gcukaj,gcummer,gcurnutt,gdaub,gdeblasio,gdeyarmond,gdrilling,gearnshaw,gfaire,gfedewa,ggehrke,ggillim,ghann,ghelderman,ghumbles,gishii,gjankowiak,gkerens,glafontaine,gloebs,gmackinder,gmassi,gmilian,gmings,gmoen,gparkersmith,gpomerance,gportolese,greiff,gsantella,gschaumburg,gshrode,gtinnel,guresti,gvollrath,gwaud,habby,hbastidos,hbetterman,hbickford,hbraim,hbrandow,hbrehmer,hbukovsky,hcafourek,hcarrizal,hchaviano,hcintron,hcowles,hcusta,hdoiel,hdyner,hfludd,hgalavis,hhaffey,hhagee,hhartranft,hholyfield,hhysong,hkarney,hkinderknecht,hkippes,hkohlmeyer,hlauchaire,hlemon,hlichota,hliverman,hloftis,hlynema,hmateer,hmatonak,hmiazga,hmogush,hmuscaro,hpalmquist,hpimpare,hpolintan,hrapisura,hrenart,hriech,hsabol,hschelb,hschoepfer,hspiry,hstreitnatter,hsweezer,htilzer,htomlinson,htsuha,hvannette,hveader,hwestermark,hwoodert,hzagami,hzinda,iambrosino,ibeto,ibreitbart,ibuzo,ibyles,ichewning,icoard,ideveyra,ienglert,igizzi,ihalford,ihanneman,ihegener,ihernan,iherrarte,ihimmelwright,ihoa,iiffert,ikadar,ikulbida,ilacourse,ilamberth,ilawbaugh,ileaman,ilevian,imarungo,imcbay,imensah,imicthell,imillin,imuehl,inarain,iogasawara,iroiger,iseipel,isowder,isplonskowski,istallcup,istarring,isteinlicht,ithum,ivanschaack,iweibe,iyorgey,iyorks,jamber,jappleyard,jbielicki,jbjorkman,jcaroll,jdodge,jeuresti,jeverton,jglotzbecker,jherkenratt,jholzmiller,jjumalon,jkimpton,jknight,jlebouf,jlunney,jmartha,jmarugg,jmatty,joligee,jquicksall,jrees,jreigh,jroman,jscheitlin,jseen,jsegundo,jsenavanh,jskafec,jspohn,jsweezy,jvillaire,jwinterton,jzych,kaanerud,kalguire,kbarnthouse,kbartolet,kbattershell,kbrevitz,kbrugal,kcofrancesco,kcomparoni,kconkey,kdevincent,kepps,kfaure,kfend,kgarced,kgremminger,khartness,kheadlon,khovanesian,kjoslyn,klitehiser,klundsten,klurie,kmallach,kmandolfo,kmarzili,kmayoras,kmcardle,kmcguire,kmedcaf,kmeester,kmisove,kmoesch,kmosko,kmuros,kolexa,kottomaniello,kpalka,kpannunzio,kpenale,kpuebla,krahman,kseisler,kshippy,ksiering,ksollitto,ksparling,kstachurski,kthede,ktoni,ktriblett,ktuccio,ktuner,kwidrick,kwinterling,kwirght,laksamit,lautovino,lbanco,lbassin,lbove,lbuchtel,lcanestrini,lcaudell,lcavez,lcocherell,lcoulon,lcremer,leberhardt,lfarraj,lfichtner,lgadomski,lgandee,lgradilla,lhuggler,limbrogno,ljomes,lkimel,llarmore,llasher,lmadruga,lmauracher,lmcgeary,lmichaud,lmuehlberger,lnormand,lparrish,lpeagler,lpintor,lpitek,lpondexter,lrandall,lringuette,lschenkelberg,lschnorbus,lschollmeier,lseabold,lseehafer,lshilling,lsivic,lsobrino,lsous,lspielvogel,lvaleriano,lvanconant,lwedner,lyoula,mallmand,maustine,mbeagley,mbodley,mbravata,mcampagnone,mcaram,mcashett,mcasida,mcoch,mcolehour,mcontreras,mdanos,mdecourcey,mdedon,mdickinson,mdimaio,mdoering,mdyce,meconomides,mespinel,mfaeth,mfeil,mferandez,mfitzherbert,mgavet,mgayden,mground,mheilbrun,mhollings,mjeon,mkibler,mkofoed,mlaverde,mlenning,mlinak,mlinardi,mmangiamele,mmattu,mmcchristian,mmerriwether,mmesidor,mneubacher,moller,moser,mpanahon,mpark,mpellew,mpilon,mpizzaro,mpytko,mquigg,mredd,mrizer,mruppel,mrydelek,mskeele,mstirn,mswogger,mtanzi,mtintle,mvanbergen,mvanpelt,mvas,mvedder,mviverette,myokoyama,nagerton,nasmar,nbuford,nbugtong,ncermeno,nchrisman,nciucci,ndesautels,ndrumgole,nedgin,nendicott,nerbach,nevan,nforti,nfunchess,ngiesler,nglathar,ngrowney,ngullett,nhayer,nhelfinstine,nhija,ninnella,njordon,nkempon,nkubley,nlainhart,nlatchaw,nlemma,nlinarez,nlohmiller,nmccolm,nmoren,nnamanworth,nnickel,nousdahl,nphan,nramones,nranck,nridinger,nriofrio,nrybij,nrysavy,nschmig,nsiemonsma,nslaby,nspolar,nvyhnal,nwescott,nwiker,oahyou,oalthouse,obeaufait,obenallack,obercier,obihl,ocalleo,ochasten,oclunes,oconerly,ocrabbs,oebrani,ofelcher,ohatto,ohearl,ohedlund,ohoffert,ohove,ojerabek,okave,okveton,omalvaez,omasone,omatula,omcdaid,oolivarez,oosterhouse,opeet,opizzuti,opoch,oport,opuglisi,oreiss,osaber,oscarpello,oshough,ovibbert,owhelchel,owhitelow,pahles,pbascom,pbeckerdite,pbiggart,pbondroff,pbrentano,pcaposole,pcornn,pdauterman,pdech,pdischinger,pduitscher,pdulac,pdurando,pfavolise,pgiegerich,pgreenier,pgrybel,phalkett,pheathcock,phyer,pmineo,pminnis,ppedraja,ppeper,pphuaphes,prepasky,prowena,psabado,psalesky,pschrayter,psharits,psiroky,psundeen,pthornberry,ptoenjes,ptraweek,purquilla,pvierthaler,pvirelli,pviviani,pwademan,pwashuk,pwetherwax,pwhitmire,pwohlenhaus,pwutzke,qhanly,ralspach,rbernhagen,rbillingsly,rbloomstrand,rbrisby,rcheshier,rchevrette,rdubs,rdubuisson,redling,rfassinger,rfauerbach,rfidel,rginer,rgoonez,rgramby,rgriffies,rguinane,rheinzmann,rkraszewski,rlambertus,rlatessa,rlosinger,rmandril,rmcstay,rnordby,rpastorin,rpikes,rpinilla,rpitter,rramirez,rrasual,rschkade,rtole,rtooker,saben,sackles,sarndt,saycock,sbemo,sbettridge,sbloise,sbonnie,sbrabyn,scocuzza,sdebry,senrico,sestergard,sgefroh,sgirsh,sgropper,sgunder,sgurski,shaith,sherzberg,showe,sjankauskas,skanjirathinga,skoegler,slaningham,slaudeman,slerew,smccaie,smillian,smullowney,snotari,spolmer,srees,srubenfield,sscheiern,sskone,sskyers,sspagnuolo,sstough,sstuemke,svandewalle,svielle,svogler,svongal,swoodie,tabdelal,tairth,tbagne,tbattista,tboxx,tcacal,tcossa,tcrissinger,tdonathan,teliades,tfalconeri,tfetherston,tgelen,tgindhart,tguinnip,tharr,thelfritz,thoch,thynson,tkeala,tkelly,tkhora,tlana,tlowers,tmalecki,tmarkus,tmccaffity,tmccamish,tmcmickle,tmelland,tmorr,tmurata,tmysinger,tnaillon,tnitzel,tpaa,tplatko,tredfearn,tsablea,tsann,tschnepel,tsearle,tsepulueda,tsowells,tstalworth,tvehrs,tvrooman,tyounglas,ualway,uazatyan,ubenken,ubieniek,ubynum,udatu,uednilao,ueriks,uflander,ugerpheide,ugreenberg,uhayakawa,uholecek,ulanigan,umarbury,umosser,upater,upellam,uransford,urosentrance,uschweyen,usevera,uslavinski,uspittler,uvanmatre,uwalpole,uweyand,vbaldasaro,vbigalow,vbonder,vburton,vchevalier,vcrofton,vdesir,vdolan,veisenhardt,vemily,venfort,vfeigel,vglidden,vkrug,vlubic,vmaynard,vmedici,vnazzal,vnery,vpeairs,vpender,vpiraino,vrodick,vrunyon,vsefcovic,vstirman,vtowell,vtresch,vtrumpp,vwabasha,vwaltmann,vwisinger,vwokwicz,wbrill,wclokecloak,wconces,wconstantino,wcreggett,wdagrella,wdevenish,wdovey,wenglander,werrick,wesguerra,wganther,wkhazaleh,wleiva,wlynch,wmailey,wmendell,wnunziata,wottesen,wselim,wstjean,wtruman,wvalcin,wvermeulen,xeppley,xlantey,xrahaim,yautin,ycerasoli,ycobetto,ycostaneda,yduft,yeven,yfrymoyer,ygockel,yhenriques,ykimbel,yolivier,yschmuff,ysnock,yvdberg,zanderlik,zborgmeyer,zbuscaglia,zculp,zfarler,zhaulk,zkutchera,zmeeker,zneeb,zratti,zscammahorn,zvagt,zwinterbottom 210 EOM 211 212 check "getent.ldap group nstgrp1 | sortgroup" << EOM 213 nstgrp1:*:800:testusr2 214 EOM 215 216 check "getent.ldap group nstgrp2 | sortgroup" << EOM 217 nstgrp2:*:801:testusr2,testusr3 218 EOM 219 220 check "getent.ldap group nstgrp3 | sortgroup" << EOM 221 nstgrp3:*:802:testusr2,testusr3 222 EOM 223 224 check "getent.ldap group.bymember testusr2 | sed 's/:.*//' | sort" << EOM 225 largegroup 226 nstgrp1 227 nstgrp2 228 nstgrp3 229 testgroup2 230 EOM 231 232 check "getent.ldap group.bymember testusr3 | sed 's/:.*//' | sort" << EOM 233 largegroup 234 nstgrp2 235 nstgrp3 236 EOM 237 238 ########################################################################### 239 240 echo "test_ldapcmds.sh: testing hosts..." 241 242 check "getent.ldap hosts testhost" << EOM 243 192.0.2.123 testhost testhostalias 244 EOM 245 246 check "getent.ldap hosts testhostalias" << EOM 247 192.0.2.123 testhost testhostalias 248 EOM 249 250 # check hostname with different case 251 check "getent.ldap hosts TESTHOST" << EOM 252 192.0.2.123 testhost testhostalias 253 EOM 254 255 check "getent.ldap hosts 192.0.2.123" << EOM 256 192.0.2.123 testhost testhostalias 257 EOM 258 259 check "getent.ldap hosts | grep testhost | sort" << EOM 260 192.0.2.123 testhost testhostalias 261 192.0.2.124 testhost2 262 192.0.2.126 testhost4 263 2001:db8::7e27:ac1d testhost4 264 2001:db8::dead:beef testhost2 265 2001:db8::feed:c0de testhost3 266 EOM 267 268 check "getent.ldap hosts 2001:db8::dead:beef | sort" << EOM 269 192.0.2.124 testhost2 270 2001:db8::dead:beef testhost2 271 EOM 272 273 check "getent.ldap hostsv4 testhost2" << EOM 274 192.0.2.124 testhost2 275 EOM 276 277 check "getent.ldap hostsv6 testhost2" << EOM 278 2001:db8::dead:beef testhost2 279 EOM 280 281 check "getent.ldap hostsv4 192.0.2.124" << EOM 282 192.0.2.124 testhost2 283 EOM 284 285 check "getent.ldap hostsv6 2001:db8::dead:beef" << EOM 286 2001:db8::dead:beef testhost2 287 EOM 288 289 check "getent.ldap hostsv4 2001:db8::dead:beef" << EOM 290 EOM 291 292 check "getent.ldap hostsv6 192.0.2.124" << EOM 293 EOM 294 295 ########################################################################### 296 297 echo "test_ldapcmds.sh: testing netgroup..." 298 299 # check netgroup lookup of test netgroup 300 check "getent.ldap netgroup tstnetgroup" << EOM 301 tstnetgroup ( , testusr1, ) (noot, , ) 302 EOM 303 304 # check netgroup lookup with different case 305 check "getent.ldap netgroup TSTNETGROUP" << EOM 306 EOM 307 308 # check netgroup lookup of test netgroup without recursion 309 check "getent.ldap netgroup.norec tstnetgroup" << EOM 310 tstnetgroup tst3netgroup tst2netgroup (, testusr1, ) 311 EOM 312 313 ########################################################################### 314 315 echo "test_ldapcmds.sh: testing networks..." 316 317 check "getent.ldap networks testnet" << EOM 318 testnet 192.0.2.0 319 EOM 320 321 # check network name with different case 322 check "getent.ldap networks TESTNET" << EOM 323 testnet 192.0.2.0 324 EOM 325 326 check "getent.ldap networks 192.0.2.0" << EOM 327 testnet 192.0.2.0 328 EOM 329 330 check "getent.ldap networks | grep testnet" << EOM 331 testnet 192.0.2.0 332 EOM 333 334 ########################################################################### 335 336 echo "test_ldapcmds.sh: testing passwd..." 337 338 check "getent.ldap passwd ecolden | sed 's/:[x*]:/:x:/'" << EOM 339 ecolden:x:5972:1000:Estelle Colden:/home/ecolden:/bin/bash 340 EOM 341 342 check "getent.ldap passwd testusr1 | sed 's/:[x*]:/:x:/'" << EOM 343 testusr1:x:1007:100:Arthur de Jong:/home/testusr1:/bin/bash 344 EOM 345 346 # check username with different case 347 check "getent.ldap passwd TESTUSR1" << EOM 348 EOM 349 350 check "getent.ldap passwd 4089 | sed 's/:[x*]:/:x:/'" << EOM 351 jguzzetta:x:4089:1000:Josephine Guzzetta:/home/jguzzetta:/bin/bash 352 EOM 353 354 # count the number of passwd entries in the 4000-5999 range 355 check "getent.ldap passwd | grep -c ':[x*]:[45][0-9][0-9][0-9]:'" << EOM 356 2000 357 EOM 358 359 ########################################################################### 360 361 echo "test_ldapcmds.sh: testing protocols..." 362 363 check "getent.ldap protocols protfoo" << EOM 364 protfoo 253 protfooalias 365 EOM 366 367 check "getent.ldap protocols protfooalias" << EOM 368 protfoo 253 protfooalias 369 EOM 370 371 # check protocol with different case 372 check "getent.ldap protocols PROTFOO" << EOM 373 EOM 374 375 # test protocol alias with different case 376 check "getent.ldap protocols PROTFOOALIAS" << EOM 377 EOM 378 379 check "getent.ldap protocols 253" << EOM 380 protfoo 253 protfooalias 381 EOM 382 383 check "getent.ldap protocols | grep protfoo" << EOM 384 protfoo 253 protfooalias 385 EOM 386 387 ########################################################################### 388 389 echo "test_ldapcmds.sh: testing rpc..." 390 391 check "getent.ldap rpc rpcfoo" << EOM 392 rpcfoo 160002 rpcfooalias 393 EOM 394 395 check "getent.ldap rpc rpcfooalias" << EOM 396 rpcfoo 160002 rpcfooalias 397 EOM 398 399 # test rpc name with different case 400 check "getent.ldap rpc RPCFOO" << EOM 401 EOM 402 403 check "getent.ldap rpc 160002" << EOM 404 rpcfoo 160002 rpcfooalias 405 EOM 406 407 check "getent.ldap rpc | grep rpcfoo" << EOM 408 rpcfoo 160002 rpcfooalias 409 EOM 410 411 ########################################################################### 412 413 echo "test_ldapcmds.sh: testing services..." 414 415 check "getent.ldap services foosrv" << EOM 416 foosrv 15349/tcp 417 EOM 418 419 check "getent.ldap services foosrv/tcp" << EOM 420 foosrv 15349/tcp 421 EOM 422 423 check "getent.ldap services foosrv/udp" << EOM 424 EOM 425 426 # check with different case 427 check "getent.ldap services FOOSRV" << EOM 428 EOM 429 430 # check protocol name case sensitivity (TCP is commonly an alias) 431 check "getent.ldap services foosrv/tCp" << EOM 432 EOM 433 434 check "getent.ldap services 15349/tcp" << EOM 435 foosrv 15349/tcp 436 EOM 437 438 check "getent.ldap services 15349/udp" << EOM 439 EOM 440 441 check "getent.ldap services barsrv | sort" << EOM 442 barsrv 15350/tcp 443 barsrv 15350/udp 444 EOM 445 446 check "getent.ldap services barsrv/tcp" << EOM 447 barsrv 15350/tcp 448 EOM 449 450 check "getent.ldap services barsrv/udp" << EOM 451 barsrv 15350/udp 452 EOM 453 454 check "getent.ldap services | egrep '(foo|bar)srv' | sort" << EOM 455 barsrv 15350/tcp 456 barsrv 15350/udp 457 foosrv 15349/tcp 458 EOM 459 460 check "getent.ldap services sssin" << EOM 461 sssin 5000/tcp SSSIN 462 EOM 463 464 check "getent.ldap services SSSIN" << EOM 465 sssin 5000/tcp SSSIN 466 EOM 467 468 check "getent.ldap services | sort" << EOM 469 barsrv 15350/tcp 470 barsrv 15350/udp 471 foosrv 15349/tcp 472 sssin 5000/tcp SSSIN 473 EOM 474 475 ########################################################################### 476 477 echo "test_ldapcmds.sh: testing shadow..." 478 479 # function to remove the password field from output 480 rmpasswd() { 481 sed 's/^\([^:]*\):[^:]*:/\1:*:/' 482 } 483 484 check "getent.ldap shadow ecordas | rmpasswd" << EOM 485 ecordas:*::::7:2::0 486 EOM 487 488 check "getent.ldap shadow adishaw | rmpasswd" << EOM 489 adishaw:*:12302:::7:2::0 490 EOM 491 492 # check case-sensitivity 493 check "getent.ldap shadow ADISHAW" << EOM 494 EOM 495 496 # check if the names of users match between passwd and shadow 497 getent_ldap passwd | sed 's/:.*//' | sort | \ 498 check "getent.ldap shadow | sed 's/:.*//' | sort" 499 500 ########################################################################### 501 # determine the result 502 503 if [ $FAIL -eq 0 ] 504 then 505 echo "test_ldapcmds.sh: all tests passed" 506 exit 0 507 else 508 echo "test_ldapcmds.sh: $FAIL TESTS FAILED" 509 exit 1 510 fi