Sha256: ad630119be32c458db48e0c541d81592638cea917023ca253a51c4f454d10309

Contents?: true

Size: 1.04 KB

Versions: 5

Compression:

Stored size: 1.04 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|
  opts.banner += " GROUP_NAME"
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.setup_connection("update")

class Group < ActiveSambaLdap::Group
  ldap_mapping :recommended_classes => []
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

ActiveSambaLdap::Base.restart_nscd

ActiveSambaLdap::Base.clear_active_connections!

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
activesambaldap-0.1.0 bin/asl-samba-groupadd
activesambaldap-0.0.9 bin/asl-samba-groupadd
activesambaldap-0.0.8 bin/asl-samba-groupadd
ActiveSambaLdap-0.0.7 bin/asl-samba-groupadd
activesambaldap-0.0.7 bin/asl-samba-groupadd