1. ACLsManager是访问控制的总管理类,其维护了"mapreduce.cluster.administrators",QueueManager和JobACLsManager三个访问控制列表。
2. "mapreduce.cluster.administrators"是从配置文件中配置mapreduce的管理员列表和group列表,用于检查访问用户是否属于administrator。
3. QueueManager管理了"acl-submit-job"和"acl-administer-jobs"人员和group列表,对用户进行提交或者管理job的时候检查该用户是否属于列表中允许的人员或组别,如果不允许则检查失败,返回异常。如果该用户属于unix系统(启动mapreduce的用户)用户或组别则检查通过。注意代码中似乎不存在acl-administer-jobs的操作。
4. JobACLsManager管理了"acl-view-job"和"acl-modify-job"人员和group列表,对用户进行查询获取job的时候检查该用户是否属于列表中允许的人员或组别,如果不允许则检查失败,返回异常。如果该用户属于unix系统(启动mapreduce的用户)用户或组别则检查通过。注意代码中似乎不存在acl-modify-job的操作。