in SQL 2005 you can change the logging options to log all successful and un-successful logins by click on the security tab under database properties.
To see who is currently logged in, you can run
to see what they have changed depends on whether you mean data changes or structure changed. For structure changes you may be able to see this in the default trace.
for data changes you will need to create this possibly by using triggers, however it really depends on your system. There is nothing by default that records who changes what data