Samba
Samba is the standard Windows interoperability suite of programs for Linux and Unix.
Samba implements the CIFS network protocol to work with changes Microsoft has made in their Windows networking platform. CIFS is the extension of the SMB protocol. The in-kernel CIFS filesystem is generally the preferred method for mounting SMB/CIFS shares on Linux.
CIFS protocol is strictly port 445. Samba does still support SMB and an example where this is useful may be if sharing with older Windows operating systems still using NetBIOS that will want to connect to the Samba server via port 137, 138, 139.
Samba Daemons:
- smbd The smbd daemon provides the file and print services to SMB clients, such as Windows 95/98, Windows NT, Windows for Workgroups or LanManager. The configuration file for this daemon is described in smb.conf.
- nmbd The nmbd daemon provides NetBIOS nameservice and browsing support. The configuration file for this daemon is described in smb.conf.
- winbindd winbindd is a daemon that is used for integrating authentication and the user database into unix.
Active Directory User Management
Configure Samba Active Directory Domain Controller
Configure a restricted share directory
Join an existing Windows Active Directory Domain
Join a Windows Active Directory Domain with Samba Winbind
Resolve rlimit_max below minimum Windows limit
Test Samba’s ability to authenticate users
Verify Samba configuration settings
TODO
How can I log what files are accessed what is done with those files and by whom? You need to use at least samba-2.2.7a and use the audit.so module.
The samba source code has what you need. Check out the information in ~samba/examples/VFS/audit.c and in the README file in that directory.