Иван Евдокимович Гриб родился 4 марта 1911 года в деревне Новоивановка Давлекановского района Республики Башкортостан. В 1933-1935 годах проходил срочную службу в Советской Армии. В предвоенные годы работал главным бухгалтером автобазы в городе Бийске Алтайского края. В 1941 году был вновь призван в армию, а в 1943 году окончил военное пехотное училище.
В звании гвардии младшего лейтенанта Иван Гриб командовал взводом пулемётной роты 73-й гвардейской стрелковой дивизии. 25 сентября 1943 года его подразделение одним из первых под сильным артиллерийским и пулемётным огнём противника форсировало Днепр. Закрепившись на правом берегу, взвод Гриба обеспечил успешную переправу всего батальона. В последующих боях за деревню Бородаевка Верхнеднепровского района бойцы Гриба уничтожили в рукопашной схватке несколько десятков немецких солдат.
За проявленные мужество и героизм Указом Президиума Верховного Совета СССР от 26 октября 1943 года Ивану Евдокимовичу Грибу было присвоено звание Героя Советского Союза.
После окончания войны герой жил в городе Славянске Донецкой области, где работал диспетчером на местном заводе.
Скончался 23 января 1987 года.
Награды: медаль «Золотая Звезда»; орден Ленина; орден Отечественной войны I степени; орден Красной Звезды.