Родился в 1910 году в Ярославле. По окончании школы в Ленинграде работал несколько лет на химическом заводе. Весной 1934 года он принял участие в математической олимпиаде и, войдя в число ее победителей, был зачислен в 1934 году на матмех ЛГУ. Однако вскоре выяснилось, что его отец — бывший офицер царской армии, и Сергей это скрывал. В результате он был исключен из Университета и выселен в Уфу. Но благодаря однокурсникам, он сохранил связь с факультетом и в Уфе продолжал заниматься математикой. Через два года вернулся в Университет, но в 1939 году был призван в армию и участвовал в финской войне, так что смог закончить Университет лишь в 1941 году. К этому времени им были выполнены 4 работы по геометрии, в которых были получены замечательные результаты по изгибанию поверхностей “в целом”. Вместе со своим научным руководителем профессором А.Д.Александровым он занимался исследованиями, которые вылились потом в общую теорию выпуклых поверхностей.
По словам А.Д.Александрова, в эту теорию прочно вошли теоремы Оловянишникова и Либермана, и эти теоремы он считал “себя вправе назвать классическими”.
По окончании Университета С.Оловянишников сразу поступил в аспирантуру. Однако в начале Великой Отечественной войны был призван в армию командиром огневого взвода полевой артиллерии. Раненый в августе 1941 года на Ленинградском фронте при защите села Ивановское, он продолжал научную работу. В декабре 1941 года С.Оловянишников погиб.
Материал, опубликованный в журнале "Санкт-Петербургский университет" №9, 2011 г.