Yo usaría MySQL. Para ver como interactua PHP con MySQL, visita
http://www.php.net/mysql
Para el tema de permisos, yo usaría un .htaccess contra el mismo MySQL (si usas Apache).
Luego generas una tabla de usuarios con username, password i permisos, donde permisos seran las opciones disponibles para marcar SI (tiene permisos) o NO (no tiene permisos).
Si pueden tener varios niveles de permisos para una misma opcion, usa TINYINT donde 0 sea root y el número más alto sea sin permisos.