Giter VIP home page Giter VIP logo

ansible-role-winbind's Introduction

City-of-Bloomington.winbind

Install winbind, and join a linux host to an Active Directory domain

Dependencies

City-of-Bloomington.linux

Requirements

This role does not cover the Windows Active Directory setup required. You must have already created the groups used for this server in Active Directory.

Group Mapping

This role allows for unlimited number of group mappings. Group maps have been split into Admin groups and User groups. This lets you declare a common set of Admin groups in group_vars, while setting per-host User groups in host_vars.

This role expects to use Nested Groups on the local machine. For us, this makes it easier to manage complicated group permissions from Active Directory. If you want to map AD groups directly to unix groups on the host machine, you will need to modify the groups.yml task file. The rest of the Samba, kerberos, and Winbind configuration should be the same.

Role Variables

Available variables with example values

winbind_domain: ATHENA.MIT.EDU
winbind_workgroup: ATHENA

windbind_krb:
  realms:
    kdc:
      - kerberos.mit.edu:88
      - kerberos-1.mit.edu:88
      - kerberos-2.mit.edu:88
    admin_server: kerberos.mit.edu
    default_domain: mit.edu
  domain_realms:
    - .mit.edu
    - mit.edu

# This must be an Active Directory user with permission to join machines
# to the domain
winbind_domain_admin:
  user: "Administrator"
  pass: "{{ vault_winbind_domain_admin_pass }}"

# If you need to lookup a group SID the easiest way to do so is via the command
# line: wbinfo -n <group name>
#
# This script uses "Nested Groups" to map AD group users to unix groups.
#
# I *highly* recommend choosing local names for the ntgroups that do not
# exist in your Active Directory.  This will avoid future confusion with
# group membership
winbind_groupmap_admins:
  - { ntgroup: "Admins", unixgroup: "sudo",  domain_sid: "S-1-5-21-1004336348-1177238915-682003330-512" }

winbind_groupmap_users:
  - { ntgroup: "Staff",  unixgroup: "staff", domain_sid: "S-1-5-32-545" }

Example Playbook

- hosts: winbind
  become: yes
  roles:
    - City-of-Bloomington.winbind

Copying and License

This material is copyright 2016 City of Bloomington, Indiana It is open and licensed under the GNU General Public License (GPL) v3.0 whose full text may be found at: https://www.gnu.org/licenses/gpl.txt

ansible-role-winbind's People

Contributors

inghamn avatar mpreisler avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mpreisler

ansible-role-winbind's Issues

Update apt-get install commands to new syntax

The old way of doing apt with-items is deprecated. The new way is to declare a variable for all the package names.

New style for apt-get install

- name: "Install Dependencies"
  apt:
    name: "{{ packages }}"
    state: present
  vars:
    packages:
      - "postgis"

Old, deprecated style

- name: "Install Dependencies"
  apt:
    name: "{{ item }}"
    state: present
  with_items:
    - "postgis"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.