Sha256: a94a02b38ff02cdadb302e5ab99da032a6c38b2556d5a072061c317607f2c31f

Contents?: true

Size: 1.13 KB

Versions: 5

Compression:

Stored size: 1.13 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.force = false

  opts.banner += " GROUP_NAME"

  opts.on("-f", "--[no-]force",
          _("force delete group"),
          "(#{options.force})") {|options.force|}
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
end

class User < ActiveSambaLdap::User
  ldap_mapping
end

class Computer < ActiveSambaLdap::Computer
  ldap_mapping
end

unless Group.exists?(name)
  $stderr.puts(_("group doesn't exist: %s") % name)
  exit 1
end
group = Group.find(name)

begin
  group.destroy(:remove_members => true,
                :force_change_primary_members => options.force)
rescue ActiveSambaLdap::Error
  $stderr.puts $!
  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-groupdel
activesambaldap-0.0.9 bin/asl-groupdel
activesambaldap-0.0.8 bin/asl-groupdel
ActiveSambaLdap-0.0.7 bin/asl-groupdel
activesambaldap-0.0.7 bin/asl-groupdel