Sha256: 7bffe0a3e5e346145ba9d890548de4005b808ba1100d9fb96d513d236da3083f
Contents?: true
Size: 1.51 KB
Versions: 3
Compression:
Stored size: 1.51 KB
Contents
#!/usr/bin/env ruby require 'active_samba_ldap' require 'active_samba_ldap/command' include ActiveSambaLdap::GetTextSupport argv, opts, options = ActiveSambaLdap::Command.parse_options do |opts, options| options.gid = nil options.group_type = "domain" options.print_gid_number = false opts.banner += " GROUP_NAME" opts.on("-g", "--gid=GID", Integer, _("GID number")) {|options.gid|} opts.on("-t", "--type=TYPE", _("group type"), "(#{options.group_type})") {|options.group_type|} opts.on("-p", "--[no-]print-gid-number", _("print the gid number to stdout"), "(#{options.print_gid_number})") {|options.print_gid_number|} end name = nil if argv.size == 1 name = argv.first else $stderr.puts opts exit 1 end unless Process.uid.zero? $stderr.puts(_("need root authority.")) exit 1 end ActiveSambaLdap::Base.establish_connection("update") class Group < ActiveSambaLdap::Group ldap_mapping end class UnixIdPool < ActiveSambaLdap::UnixIdPool ldap_mapping end if Group.exists?(name) $stderr.puts(_("group already exists: %s") % name) exit 1 end create_options = { :cn => name, :gid_number => options.gid, :pool_class => UnixIdPool, :group_type => options.group_type, } group = Group.create(create_options) unless group.errors.empty? group.errors.each_full do |message| $stderr.puts(message) end exit 1 end if options.print_gid_number puts group.gid_number end ActiveSambaLdap::Base.restart_nscd ActiveSambaLdap::Base.clear_active_connections!
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
activesambaldap-0.0.4 | bin/asl-groupadd |
activesambaldap-0.0.5 | bin/asl-groupadd |
activesambaldap-0.0.6 | bin/asl-groupadd |