Access_Control_List

本文详细介绍了访问控制列表(ACL)的概念,包括访问控制项(ACE)如何确定受信任主体的访问权限。解释了自定义访问控制列表(DACL)和系统访问控制列表(SACL)的功能,以及它们如何控制对象的访问和记录尝试。强调了直接操作ACL的风险,并提供了创建和管理ACL的方法。

An access control list (ACL) is a list of access control entries (ACE). Each ACE in an ACL identifies a trustee and specifies the access rights allowed, denied, or audited for that trustee. The security descriptor for a securable object can contain two types of ACLs: a DACL and a SACL.

discretionary access control list (DACL) identifies the trustees that are allowed or denied access to a securable object. When a process tries to access a securable object, the system checks the ACEs in the object's DACL to determine whether to grant access to it. If the object does not have a DACL, the system grants full access to everyone. If the object's DACL has no ACEs, the system denies all attempts to access the object because the DACL does not allow any access rights. The system checks the ACEs in sequence until it finds one or more ACEs that allow all the requested access rights, or until any of the requested access rights are denied. For more information, see How DACLs Control Access to an Object. For information about how to properly create a DACL, see Creating a DACL.

system access control list (SACL) enables administrators to log attempts to access a secured object. Each ACE specifies the types of access attempts by a specified trustee that cause the system to generate a record in the security event log. An ACE in a SACL can generate audit records when an access attempt fails, when it succeeds, or both. For more information about SACLs, see Audit Generation and SACL Access Right.

Do not try to work directly with the contents of an ACL. To ensure that ACLs are semantically correct, use the appropriate functions to create and manipulate ACLs. For more information, see Getting Information from an ACL andCreating or Modifying an ACL.

ACLs also provide access control to Microsoft Active Directory directory service objects. Active Directory Service Interfaces (ADSI) include routines to create and modify the contents of these ACLs. For more information, see Controlling Access to Active Directory Objects.


Filesystem ACLs

Networking ACLs

SQL implementations

REF:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa374872(v=vs.85).aspx

http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.security/doc/security/access_control_list.htm

http://en.wikipedia.org/wiki/Access_control_list

针对下面代码详细的解释分析(每行代码都要解释): local dispatch_tbl = { enable = { ["read"] = { cb = read_access_control_settings }, ["write"] = { cb = write_access_control_settings, cmd = "/etc/init.d/access_control reload" } }, mode = { ["read"] = { cb = read_access_control_mode }, ["write"] = { cb = update_access_control_mode, cmd = "/etc/init.d/access_control reload" } }, black_devices = { ["load"] = { cb = request_client_list_wrapper }, ["tmp_load"] = { cb = tmp_request_client_list }, ["tmp_load_multi"] = {cb = tmp_request_client_list_multissid}, ["tmp_load_all"] = { cb = tmp_request_all_client_list }, ["block"] = { cb = insert_black_devices, cmd = "/etc/init.d/access_control reload" } }, white_devices = { ["load"] = { cb = request_client_list_wrapper }, ["access"] = { cb = insert_white_devices, cmd = "/etc/init.d/access_control reload" } }, black_list = { ["load"] = { cb = load_black_list, others = get_max_dev }, ["tmp_load"] = { cb = tmp_load_black_list }, ["tmp_load_basic"] = { cb = tmp_load_basic }, ["update"] = { cb = update_black_list, cmd = "/etc/init.d/access_control reload" }, ["insert"] = { cb = insert_black_list, cmd = "/etc/init.d/access_control reload" }, ["tmp_insert"] = { cb = tmp_insert_black_list, cmd = "/etc/init.d/access_control reload" }, ["remove"] = { cb = remove_black_list, cmd = "/etc/init.d/access_control reload" }, ["tmp_remove"] = { cb = tmp_remove_black_list, cmd = "/etc/init.d/access_control reload" } }, white_list = { ["load"] = { cb = load_white_list_filter, others = get_max_dev }, ["update"] = { cb = update_white_list, cmd = "/etc/init.d/access_control reload" }, ["insert"] = { cb = insert_white_list, cmd = "/etc/init.d/access_control reload" }, ["remove"] = { cb = remove_white_list, cmd = "/etc/init.d/access_control reload" } }, guest_network = { ["read"] = { cb = read_guest_enable }, ["write"] = { cb = write_guest_enable, cmd = "/etc/init.d/access_control reload" } }, offline_list = { ["remove_v1"] = { cb = remove_offline_client_v1 } }, tmp_server = { ["mode_get"] = { cb = tmp_ac_mode_get }, ["mode_set"] = { cb = tmp_ac_mode_set}, ["white_list_get"] = { cb = tmp_ac_white_list_get }, ["white_list_add"] = { cb = tmp_ac_white_list_add }, ["white_list_remove"] = { cb = tmp_ac_white_list_remove }, ["apply_list_get"] = { cb = tmp_ac_apply_list_get }, ["apply_list_set"] = { cb = tmp_ac_apply_list_set} } } function dispatch(http_form) local function hook_cb(success, action) if success and action.cmd then sys.fork_exec(action.cmd) end return true end return ctl.dispatch(dispatch_tbl, http_form, {post_hook = hook_cb}) end function access_control_dispatch(app_form) return ctl.dispatch(dispatch_tbl, app_form) end function _index() return ctl._index(dispatch) end function index() entry({"admin", "access_control"}, call("_index")).leaf = true end
06-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值