I had a chef boyfriend once who was a bit of a cast-iron Nazi (he actually yelped once when he caught me scraping his cast iron pan with a metal spatula) but he taught me well. I will pass along what I’ve learned.
I always season with coconut oil. It works marvelously. I’m sure other oils would work pretty well too – olive seems ok. Shortening is icky and not real food, I wouldn’t use that. I do it in the oven rather than over the stovetop – rub the oil both within and without, and put a piece of aluminum foil underneath to catch the drips. Try 300 degrees for about 2–3 hours. It WILL make your kitchen smell weird!
After you’ve done this – baby it at first. It will take a while to build up a perfect “season.” If you cook acidic stuff in it it’ll ruin the season. So, no tomato sauce! (Plus acidic food can absorb really high levels of dietary iron from the pan, making your food taste like metal.) Cook with lots of butter/oil in a newly-seasoned pan, and rinse out with hot water and a soft sponge/cloth. You already know not to use soap, but try not to use a really abrasive cleaner either if you can help it (i.e. don’t scrape it with a metal spatula, ahem). Rub it with oil immediately after washing.
If you treat your cast iron with love and affection, it will be easy to clean, heat as evenly as a dream, and be a great source of dietary iron for years to come…