Był bibliotekarzem w Instytucie Historii Sztuki UAM w Poznaniu. Na początku lat 80. został zwolniony z pracy z powodów politycznych. Działacz NSZZ "S". Członek Międzyzakładowych Komisji Założycielskich "S" w zakładach pracy, został internowany w stanie wojennym. Przez 104 dni prowadził głodówkę, żądając nadania kolegom statusu więźniów politycznych. W latach 1990-97 był przewodniczącym Zarządu Regionu Wielkopolskiego NSZZ"S". Do 1997 r. był członkiem Komisji Krajowej "S". Był wiceprzewodniczącym związku do czasu uchwalenia z inicjatywy KK wotum nieufności dla rządu Hanny Suchockiej w 1993 r. W 1992 r. został członkiem Politycznego Komitetu Doradczego przy MSW, a w 1997 r. ministrem, koordynatorem ds. służb specjalnych. W czasach pełnienia tej funkcji głośna była sprawa zwolnienia ze stanowiska twórcy i dowódcy GROM-u generała Sławomira Petelickiego. Powodem miały być "nieprawidłowości przy zakupie sprzętu" rzekomo wykryte w czasie kontroli MSWiA. Sytuację w GROM-ie nazwał "bagnem". Wkrótce jednak publicznie przeprosił i oświadczył, że został wprowadzony w błąd przez Inspektorat Kontroli i Nadzoru MSWiA.
W latach 1991-93 i od 1997 r. był posłem na Sejm RP. W 2001 r. przeszedł na rentę i wycofał się z polityki.