Description

A security library for MS Windows that allows you to open existing or
create new security identifiers (SID's), as well as create access
control lists (ACL's) and access control entries (ACE's).

Synopsis

require 'win32/security'
include Win32
sid = Security::SID.open('some_user')
sid.valid? # => true
sid.to_s   # => "S-1-5-21-3733855671-1102023144-2002619019-1000"
sid.length # => 28
sid.sid    # => "\001\005\000\000\000\000\000\005\025\000\000\000..."
acl = Security::ACL.new
mask = Security::ACL::GENERIC_READ | Security::ACL::GENERIC_WRITE
acl.add_access_allowed_ace('some_user', mask)
acl.add_access_denied_ace('some_user', Security::ACL::GENERIC_EXECUTE)
acl.acl_count # => 2
acl.valid?    # => true

Future Plans

None at the moment. Suggestions welcome.

Known Issues

There appears to be an issue with 64-bit versions of JRuby. I believe this
is related to this issue: https://github.com/jruby/jruby/issues/1315. There
is nothing I can do about it here.
Please file any other bug reports on the project page at:
https://github.com/djberg96/win32-security

Contributions

Although this library is free, please consider having your company
setup a tip if used by your company professionally.
https://gratipay.com/~djberg96/

License

Artistic 2.0
(C) 2003-2016 Daniel J. Berger
All Rights Reserved

Authors

Daniel J. Berger
Park Heesob