OS.js v3 PAM Authentication Module
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


OS.js Logo

OS.js is an open-source desktop implementation for your browser with a fully-fledged window manager, Application APIs, GUI toolkits and filesystem abstraction.

Build Status Support Back Sponsor Donate Donate Community

OS.js v3 PAM Auth Provider Adapter

This is the PAM Auth Provider Adapter for OS.js v3

Please see the OS.js Authentication Guide for general information.


npm install --save --production @osjs/pam-auth

Please note that you need the PAM development libraries installed on your host computer. If you don't have this, you'll get errors during npm installation.

This varies depending on your distro:

  • Ubuntu: sudo apt install libpam-dev


Configure Server

In your server bootstrap script (src/server/index.js):

// In the top of the file load the library
const pamAuth = require('@osjs/pam-auth');

// Locate this line in the file and add the following:
osjs.register(AuthServiceProvider, {
  args: {
    adapter: pamAuth

A restart of the server is required

Configure Client

In your client configuration file (src/client/config.js) file remove the automatic login:

module.exports = {
  public: '/',

  // Either comment out this section, or remove it entirely
  auth: {
    login: {
      username: 'demo',
      password: 'demo'

Rebuilding the client is required

Custom groups

By default, groups are read from /etc/group, but you can customize this:

osjs.register(AuthServiceProvider, {
  args: {
    adapter: pamAuth,
    config: {
      native: false,
      config: '/etc/osjs/groups.json' // Default

The format of this file is:

  "username": ["group1", "group2"]



See the Official Manuals for articles, tutorials and guides.