@osjs/pam-auth
v1.2.0
Published
OS.js v3 PAM authentication provider adapter
Downloads
16
Readme
OS.js is an open-source web desktop platform with a window manager, application APIs, GUI toolkit, filesystem abstractions and much more.
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.
Installation
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
Usage
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
}
});
If you want to change the home directories of users, change your configuration (src/server/config.js
):
{
vfs: {
root: '/home'
}
}
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"]
}
Using IPC
You can also connect this adapter up to a IPC running as a separate user if you can't use PAM as the user OS.js server runs on.
osjs.register(AuthServiceProvider, {
args: {
adapter: pamAuth,
config: {
ipc: true
}
}
});
And then run the src/ipc.js
server as the required user.
Contribution
- Sponsor on Github
- Become a Patreon
- Support on Open Collective
- Contribution Guide
Documentation
See the Official Manuals for articles, tutorials and guides.