attitude

command module
v0.0.0-...-4c21ec7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2016 License: GPL-2.0 Imports: 12 Imported by: 0

README

Attitude Go Report Card

Attitude is a command line application written in Go (golang) to manipulate user attributes in an Active Directory Setup. We use it at Celluloid VFX to automatically edit attributes like login scripts paths (scriptPath).

If you find this useful please file bugs and pull requests.

BIG FAT WARNING !!!1!

This is used against a Samba 4.2 Active Directory Setup and not tested on something else.

We don't have a clue about anything! Neither LDAP, AD, LDIF or programming. If you checkout this app and instadestroy™ your company don't blame us. Seriously! read the source code and decide if this is something you would allow to manipulate your directory service.

This code is barely tested and considered a hack. You have been warned!

Installation

Dependencies
  • Linux
  • Go (golang) > 1.7.1 With Debian based Linux systems it's the easiest way to install go via godeb.
  • ciparser - a celluloid vfx build tool
Build Attitude from source
git clone https://github.com/celluloidvfx/attitude.git
cd attitude

Beware the make file depends on our internal continuous integration tool called ciparser and will fail if you don't have it installed. Ciparser generates values in compile time from the cell-ci.yaml.

Read more here

Things you should change for your environment before build. Edit following values in cell-ci.yaml

    customvars:
      - name: LdapServer
        value: "ldap://yourserver.com:389"
      - name: LdapDomain
        value: "celluloidvfx.inc"
      - name: AdminUser
        value: admin
      - name: AdminPass
        value: "yourpass"

Once that is done simply type:

make

The app will not work using go's standard tools without ciparser and make. This behavior eventually will be dropped.

Ciparser uses musl-gcc, upx and gometalinter as default. We statically compile libraries into the executable. You can switch this behavior off in the cell-ci.yaml. See ciparser for more information on compile options.

Tested on
  • Windows 7 --> Check
  • Ubuntu 16.04 --> Check

Server Running

Using attitude

Attitude is a command line app and is started in your terminal/cmd.

for more information see

./attitude --help

Todo

  1. Right now the admin password is compiled into the app and is displayed in debug mode. We kind of like this configless non-interactive execution. But this is very specific to our internal needs and needs external security measures. In future an non-/interactive User/Password request should be done similar to i.e. mysqlclient.
  2. Right now you can easily break your directory. This app should prevent you from doing this.
  3. Ldaps. TLS encrypted communication
  4. Add more attributes
  5. Enhance documentation. List attributes with M$ reference

Thanks to

ldap library

Copyright (C) 2012 The Go Authors. See https://github.com/nmcclain/ldap/blob/master/LICENSE This seems to be a fork from https://github.com/mmitton/ldap/blob/master/LICENSE

logrus

Copyright (c) 2014 Simon Eskildsen https://github.com/Sirupsen/logrus/blob/master/LICENSE

cli

Copyright (c) 2016 Jeremy Saenz & Contributors https://github.com/urfave/cli/blob/master/LICENSE

Copyright (C) 2016 Celluloid VFX and Johannes Amorosa

##License GPL Version 2 see attached License file

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL