Access control shells function as part of the operating system, much like monitoring tools. Rather than monitoring for virus-like behavior, the shell attempts to enforce an access control policy for the system. This policy is described in terms of programs and the data files they may access. The access control shell will sound an alarm every time a user attempts to access or modify a file with an unauthorized software package.