Sha256: 9f9963e4824f049967f7a38f4377ba0142f42cbb8c90ed5a481205232b5c342d
Contents?: true
Size: 1.11 KB
Versions: 7
Compression:
Stored size: 1.11 KB
Contents
#!/usr/bin/ruby -W0 base = File.expand_path(File.join(File.dirname(__FILE__), "..")) $LOAD_PATH << File.join(base, "lib") $LOAD_PATH << File.join(base, "examples") require 'active_ldap' require 'objects/user' require 'objects/group' argv, opts, options = ActiveLdap::Command.parse_options do |opts, options| opts.banner += " USER_NAME CN UID" end if argv.size == 3 name, cn, uid = argv else $stderr.puts opts exit 1 end pwb = Proc.new do |user| ActiveLdap::Command.read_password("[#{user}] Password: ") end ActiveLdap::Base.establish_connection(:password_block => pwb, :allow_anonymous => false) if User.exists?(name) $stderr.puts("User #{name} already exists.") exit 1 end user = User.new(name) user.add_class('shadowAccount') user.cn = cn user.sn = "somesn" user.uid_number = uid user.gid_number = uid user.home_directory = "/home/#{name}" user.add_class('strongAuthenticationUser') cert_file = File.join(File.dirname(__FILE__), 'example.der') user.user_certificate = File.read(cert_file) unless user.save puts "failed" puts user.errors.full_messages exit 1 end
Version data entries
7 entries across 7 versions & 2 rubygems