I've used ICS (on Windows 98) to share connection with Linux boxes on several different occasions. I've never really had any trouble with it.
Most of the Linux ditributions ask for all your network information during installation. I've typically just told it to use DHCP, and it got an IP just fine from the ICS gateway. If you've already installed the distribution, you can use the network configuration tools in Gnome or KDE, or you can read the Networking-HOWTO and "man ifconfig" and do it yourself.
As far as sharing files goes, you'll want to use Samba, which comes with most distributions. Redhat (I'm not sure if they all do or not, but I know Redhat) comes with a Service Configuration utility that works in Gnome or KDE that lets you start/stop services (as well as set the to start during boot). The ones you'll want to enable are smb (the actual file server), nmb (takes care of giving your computer a name that will show up in Network Neighborhood), and swat (a web based samba config utility, so you don't have to mess with smb.conf). Alternatively, if you feel like less of a man(woman?) for using graphical config tools, you can set it all up on the command line. The things you'll need to learn about for this is the System V Init procedure and smb.conf.
Good luck.