Jrmbt / usbwall

Control ldap users access to usb devices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License Build Status

USBWall

Preamble

The goal of the usbwall project is to support dynamic USB device filtering depending on a per-user centralized authorized device list. When a user log in, a custom PAM module will alert a daemon, that will get back the list of the authorized devices from LDAP.

Dependencies

  • libusb
  • libldap
  • libpam

See INSTALL file for more information on dependencies installation.

Build the project

A bootstrap script has been made to help you build the project. You can simply start the build with ./bootstrap && make -j. To build the project in debugging mode, just add the DEBUG parameter to the bootstrap script.

The output binaries are located in the out directory.

Configuration

Daemon configuration

The project use a configuration file, using a syntax similar to usual ldap.conf files. The configuration file must be named usbwall.cfg and located in the /etc folder.

A sample configuration file is described in this package. Report to this file in order to configure properly usbwall.

PAM configuration

The libpam_usbwall library also need to be configured to be used by PAM. To do this simply move the generated library to the pam modules folder. Example :

mv [path/to/usbwall]/out/libpam_usbwall.so /usr/lib/security/pam_usbwall.so

Finally, you need to configure PAM to load the module. To do that, simply modified the corresponding pam configuration file in /etc/pam.d/ and add this line :

session optional pam_usbwall.so debug
  • optional means that if the module fails, the user is not disconnected from the host.
  • replace pam_usbwall.so by the name of the module you moved in the modules folder.
  • debug is an optional argument that specify if the debug mode is activated or not.

Contributors

Arthur d'Avray (arthur.davray@epita.fr)
Mathilde Beylier (mathilde.beylier@epita.fr)
Sylvain Leroy (sylvain@unmondelibre.fr)
Damien Pradier (damien.pradier@epita.fr)

This project was also inspired from the previous libpam-devid project made by Philippe Thierry (phil@reseau-libre.net).

About

Control ldap users access to usb devices

License:MIT License


Languages

Language:C 87.2%Language:CMake 11.9%Language:Shell 0.5%Language:Makefile 0.5%