PowerBroker Open is an open source community project sponsored by BeyondTrust Software, Inc.
Clone or download
rali-bt Merged PR 7870: #159161-Set freed pointer to NULL
#159161-Set freed pointer to NULL so that the destructor does not try to free it again.

Related work items: #159161
Latest commit e17e7d6 Sep 14, 2018
Permalink
Failed to load latest commit information.
btkrb5 Merged PR 2009: Merge TFS88046-Access-Control-Groups to master Sep 29, 2017
build Merged PR 7362: Merge defects/155710-API-On-Mac to master Aug 9, 2018
centutils Merged PR 1229: Fix build errors for Ubuntu 17.04 x64 #98835 Jul 12, 2017
config Merged PR 7782: Merge enhancements/113326-replace-libedit-with-lineno… Sep 14, 2018
curl changes to support building on MacOS 10.9 and Xcode 6 (clang) Nov 2, 2015
cyrus-sasl Fix check for __attribute__ #66290 Aug 12, 2016
dcerpc Merged PR 7157: Merge features/153852-solaris-9-sparc to master Jul 27, 2018
docs Merged PR 7387: Merge TFS121216-add-man-pages to master Aug 23, 2018
domainjoin Merged PR 7782: Merge enhancements/113326-replace-libedit-with-lineno… Sep 14, 2018
eventlog Merged PR 460: Handle lsass error retrieving SIDs #91964 Mar 23, 2017
git-build Add netlogon plugin to support preferred site #47283 Nov 23, 2016
gssapps Merged PR 4582: Merge TFS133032-New-AIX61 to master May 9, 2018
installer Merged PR 7387: Merge TFS121216-add-man-pages to master Aug 23, 2018
krb5 Merged PR 4582: Merge TFS133032-New-AIX61 to master May 9, 2018
krb5_plugins Revert to older kerberos lib Aug 7, 2013
libedit changes to support building on MacOS 10.9 and Xcode 6 (clang) Nov 2, 2015
libiconv libiconv: Change library version number. Oct 27, 2011
libschannel Squashed commit of the following: Mar 30, 2016
libtdb The MakeKIt module "likewise" was changed to "pbis" in src/linux/Make… Sep 12, 2011
libuuid Merged PR 4582: Merge TFS133032-New-AIX61 to master May 9, 2018
libxml2 Merging in PPC64/PPC64LE changes from 8.3.4 branches. Feb 12, 2016
licenses Merged PR 3099: #121417 Update to OpenSSL 1.0.2m Nov 15, 2017
linenoise-mob Merged PR 7782: Merge enhancements/113326-replace-libedit-with-lineno… Sep 14, 2018
lsass Merged PR 7782: Merge enhancements/113326-replace-libedit-with-lineno… Sep 14, 2018
lwadtool Merged PR 6916: If --password=- read new-computer password from stdin… Jul 24, 2018
lwadvapi Merged PR 7661: #157799-Enhance password request conflict error Aug 30, 2018
lwbase Merged PR 2958: Merge TFS91130_Extended_Smartcard to master Mar 2, 2018
lwconfig Merged PR 6836: new spn option for new-user Jul 6, 2018
lwdns Remove debug #77390 Jul 20, 2017
lwio Remove debug #77390 Jul 20, 2017
lwmsg Merged PR 2958: Merge TFS91130_Extended_Smartcard to master Mar 2, 2018
lwnetapi Squashed commit of the following: Mar 30, 2016
lwreg Merged PR 7782: Merge enhancements/113326-replace-libedit-with-lineno… Sep 14, 2018
lwsecurity Updating App Integration docs Mar 31, 2012
lwsm Merged PR 7870: #159161-Set freed pointer to NULL Sep 14, 2018
lwtask Do not use -static in automake build. Feb 2, 2011
lwtest changing non-default cell to named cell Jul 4, 2013
lwtestsuite Create platform tree Apr 5, 2010
lwtools Remove old build system Apr 29, 2011
lwupgrade Add TrustEnumerationWait defaults back into product, since they were … Sep 9, 2015
makekit Merged PR 4582: Merge TFS133032-New-AIX61 to master May 9, 2018
mklocal Fix bug 13551 -- avoid clock_settime on some versions of AIX. Feb 14, 2012
mod_auth_kerb No longer treat mod_auth_kerb compilation warnings as errors #45519 Jul 21, 2016
mod_auth_pam Create platform tree Apr 5, 2010
netlogon Merged PR 1295: Remove reference to LWNET #73444 Jul 3, 2017
openldap autoenrol: Reverting Changes for making the build ready Sep 11, 2013
opensoap git-svn-id: svn+ssh://source-control.beyondtrust.com/sources/repo/bt-… Sep 12, 2014
openssl Merged PR 3751: #125622-Update to OpenSSL 1.0.2n Jan 9, 2018
package Merged PR 7782: Merge enhancements/113326-replace-libedit-with-lineno… Sep 14, 2018
popt Revert revision 63866 ^/trunk/Platform Mar 16, 2012
qatools Remove old build system Apr 29, 2011
reapsysl change the named pipes to be owned by syslog if the account exists. T… Jun 11, 2013
reskit Merged PR 4037: add offline-join.pl. removed old docs Jan 17, 2018
samba-interop Merged PR 2558: Ignore PAC cache call #117866 Oct 24, 2017
sqlite Fix build break Sep 1, 2011
tomlc99 Merged PR 7169: Merge enhancements/66928-PasswordSafe-Api to master Aug 2, 2018
usermonitor Merged PR 4582: Merge TFS133032-New-AIX61 to master May 9, 2018
utils/alloc_profile alloc_profile utility for measuring speed of malloc operations. Oct 22, 2010
vendor Application integration libraries Feb 11, 2012
CONTRIBUTING.md Merged PR 2109: Merge licensing to master Aug 31, 2017
LICENSE.md Merged PR 7782: Merge enhancements/113326-replace-libedit-with-lineno… Sep 14, 2018
MakeKitBuild Merged PR 7782: Merge enhancements/113326-replace-libedit-with-lineno… Sep 14, 2018
README.md Merged PR 7782: Merge enhancements/113326-replace-libedit-with-lineno… Sep 14, 2018
buildtool.dirs.xml Create platform tree Apr 5, 2010
configure Check in experimental MakeKit build system Oct 7, 2010
issue_template.md #107683 adding issue_template.md Jul 12, 2017
mk Reverse bad commit Oct 8, 2010

README.md

PowerBroker Identity Services Open

PowerBroker Identity Services Open has several goals:

  1. Simplify the process of joining non-Microsoft hosts to Active Directory domains.
  2. Simplify the management of these hosts.
  3. Provide a rich development platform for writing applications in heterogeneous networks.

Instructions on building pbis-open

The pbis-open build uses makekit (http://bkoropoff.github.io/makekit/) While the code is portable among a variety of *nix based platforms (Linux, Solaris, AIX, HP-UX, and OS X), this build system is primarily intended for Linux & FreeBSD platforms.

Before you begin, please read over this list of prerequisite development packages (depending on your Linux distro):

RedHat/Fedora

  • gcc glibc-devel pam-devel flex bison rpm-build rpm-devel popt-devel libxml2-devel autoconf automake libtool

Optional packages:

  • libglade2-devel - To build domainjoin-gui GTK application
  • 32bit development tools and libraries for compatibility packages when building on x86_64
    • glibc-devel.i686 libgcc.i686 pam-devel.i686

Ubuntu

  • build-essential fakeroot devscripts debhelper autoconf automake libtool flex bison libpam0g-dev libxml2-dev libpopt-dev

Optional packages:

  • libglade2-dev - To build domainjoin-gui GTK application
  • 32bit development tools and libraries for compatibility packages when building on x86_64
    • libc6-dev-i386 gcc-multilib libpam0g-dev:i386
    • ia32-libs - replaced by lib32z1

Note: The default version of awk on some Ubuntu systems has a known bug which causes it to segfault when attempting to build. You can work around this by installing GNU awk:

sudo apt-get install gawk

See https://launchpad.net/ubuntu/+source/mawk/+bug/23494 for details

The easiest way to begin a build is to run:

$ mkdir debug && cd debug
$ ../configure --debug
$ make -jXX package  ## where XX is 2x CPU cores

This will build the necessary binaries and libraries and package them up into DEBs or RPMs in the pbis-open/debug/package/ directory.

If you do not want to install using packages, you can do the following instead, but be sure to read the note below:

$ make -jXX
$ sudo make install

You may view the complete set of configure options by running

$ ../configure --help

To generate a release tarball, run "build/mkdist" with pbis-open as your working directory.

Note: When not installing using the local package managers (DEB or RPM), you will need to start lwsmd and import registry files manually:

$ sudo /etc/init.d/lwsmd start
$ sudo bash -c 'for file in /opt/pbis/share/config/*.reg; do \
  /opt/pbis/bin/regshell import $file; \
  done'
$ sudo /etc/init.d/lwsmd reload

PBIS Registry Service

The PBIS Registry Service (lwregd) is the configuration data store used by all PBIS services. PBIS provides several ways to view and modify the registry settings: - /opt/pbis/bin/edit-reg - /opt/pbis/bin/regshell

edit-reg allows you to modify registry settings in your preferred text editor. For example:

$ sudo /opt/pbis/bin/edit-reg

regshell provides the ability to interactively display and modify settings. For example:

$ sudo /opt/pbis/bin/regshell
> cd hkey_this_machine\\services

hkey_this_machine\services> dir
[hkey_this_machine\services]
[HKEY_THIS_MACHINE\Services\lsass]
...

hkey_this_machine\services> cd lsass

hkey_this_machine\services\lsass> dir
Arguments    REG_SZ   "lsassd --syslog"
Dependencies REG_SZ   "netlogon lwio lwreg rdr"
Description  REG_SZ    "PBIS Security and Authentication Subsystem"
Path         REG_SZ    "/opt/pbis/sbin/lsassd"
Type         REG_DWORD 0x00000001 (1)

[HKEY_THIS_MACHINE\Services\lsass\Parameters]

NOTE: incorrectly configuring the PBIS registry can prevent PBIS from starting and/or prevent user authentication. Use caution when modifying existing settings.

PBIS Service Manager

The PBIS Service Manager (lwsmd) provides a service control architecture for starting and stopping all PBIS daemons and drivers based on a dependency graph.

The lwsmd daemon itself is managed using the standard SysV init script:

$ /etc/init.d/lwsmd start
* Starting PBIS Service Manager: lwsmd              [ OK ] 

Only the registry service (lwregd) is hard coded to be started initially. The user space CLI for managing services is the "lwsm" utility.

$ lwsm list
lwreg       running (standalone: 19415)
dcerpc      running (standalone: 19453)
eventlog    stopped
lsass       running (standalone: 19475)
lwio        running (standalone: 19438)
rdr         running (io: 19438)
srv         running (io: 19438)
pvfs        running (io: 19438)
npfs        running (io: 19438)
netlogon    running (standalone: 19468)
srvsvc      running (standalone: 19529)

$ lwsm info lsass
Service: lsass
Description: PBIS Security and Authentication Subsystem
Type: executable
Autostart: no
Path: /opt/pbis/sbin/lsassd
Arguments: 'lsassd' '--syslog'
Dependencies: netlogon lwio lwreg rdr

$ lwsm stop lsass
Stopping service reverse dependency: srvsvc
Stopping service reverse dependency: srv
Stopping service: lsass

$ lwsm start srvsvc
Starting service dependency: lsass
Starting service dependency: srv
Starting service: srvsvc

Getting Help

The main PBIS Open web site is at GitHub. From here you will find links to the project forums, and pre-built package downloads.