Configuring PAM for work with NFS
Before configuring PAM to work with NFS, you must install and configure NFS media storage.
- Linux
- Windows
Create a folder for mounting media storage on the server. You can also use a ready-made folder, for example, /etc/axidian/axidian-pam/media-temp.
sudo mkdir -p /mnt/pamstorage/
Install NFS mount client:
RPM:
sudo yum install nfs-utils
DEB:
sudo apt install nfs-common
Mount the storage:
Command templatesudo mount -t nfs <fqdn_or_ip_nfs_server>:/path/to/media_storage /path/to/mount/folder
Command examplesudo mount -t nfs 192.168.131.200:/mnt/data_storage/ /mnt/pamstorage/
Add storage mount to autostart:
To automatically mount NFS on system startup, add an entry to the /etc/fstab file:
Command template<fqdn_or_ip_nfs_server>:/path/to/media_storage /path/to/mount/folder nfs defaults 0 0
File example:
Command example192.168.131.200:/mnt/data_storage/ /mnt/pamstorage/ nfs defaults 0 0
To verify the mount, run the command:
sudo mount
Edit the volumes section in the docker-compose files for Core and Gateway-Service:
- Core: Path to the file on the management server: /etc/axidian/axidian-pam/docker-compose.management-server.yml
- Gateway-Service: Path to the file on the access server: /etc/axidian/axidian-pam/docker-compose.access-server.yml
You need to add the path to the mounted storage to the
volumes
section:- /path/to/mount/folder:/mnt/storage:rw,z
Example for Core:
core:
image: nexus.axidian-id.hq:5050/pam/axidian-pam-core:${TAG}
container_name: pam-core
extends:
file: docker-compose.common-services.yml
service: base
pids_limit: 5000
depends_on:
- ca-certificates
- pgsql
environment:
- COMPlus_EnableDiagnostics=0
user: root
read_only: false
security_opt:
- apparmor=pam-management
volumes:
- ./core/events:/var/lib/axidian/axidian-pam/events:rw,Z
- ./core/appsettings.json:/app/appsettings.json:ro,z
- ./keys/shared/protector:/etc/axidian/axidian-pam/keys/shared/protector:ro,z
- ./keys/core:/etc/axidian/axidian-pam/keys/core:ro,Z
- ./logs/core:/app/logs:rw,Z
- /mnt/pamstorage:/mnt/storage:rw,z # NFS mount example
- pam-core-temp-data:/var/lib/axidian/axidian-pam:rw
- pam-ca-cert-store:${CERT_STORE}:ro
tmpfs:
- /tmp
networks:
- pam-core-network
- pam-ls-networkEdit the Storage section of the Core and Gateway-Service configuration files:
- Core: Path to the configuration file on the management server: /etc/axidian/axidian-pam/core/appsettings.json
- Gateway-Service: Path to the configuration file on the access server: /etc/axidian/axidian-pam/gateway-service/appsettings.json
In both files you need to specify the path to the mounted storage:
"Storage": {
"Type": "FileSystem",
"Settings": {
"Root": "/mnt/storage"
}
}Restart containers using the following command:
sudo bash /etc/axidian/axidian-pam/scripts/run-pam.sh
Install NFS mount client:
- Click Start → Server Manager in the lower left corner.
- Click Add Roles and Features.
- On the Features page, enable the Client for NFS checkbox and click Next.
- Confirm the settings by clicking Install.
Mount the storage and add it to autostart:
Use PowerShell without elevated privileges.
Command templateNew-PSDrive -PSProvider FileSystem -Name <drive_letter> -Root \\<fqdn_or_ip_nfs_server>\path\to\media_storage -Persist
Command exampleNew-PSDrive -PSProvider FileSystem -Name Z -Root \\192.168.131.200\mnt\data_storage\ -Persist
Edit the
Storage
section of the Core and Gateway-Service configuration files:- Core: Path to the configuration file on the management server:
C:\inetpub\wwwroot\core\appsettings.json
- Gateway-Service: Path to the configuration file on the access server:
C:\Program Files\Axidian\Axidian Privilege\Gateway\Pam.Gateway.Service\appsettings.json
Change the
Storage
section to:Section template"Storage": {
"Type": "FileSystem",
"Settings": {
"Root": "\\\\<fqdn_or_ip_nfs_server>\\path\\to\\media_storage"
}
},Section example"Storage": {
"Type": "FileSystem",
"Settings": {
"Root": "\\\\192.168.131.200\\mnt\\data_storage\\"
}
},- Core: Path to the configuration file on the management server:
Restart IIS and Gateway-Service:
Restart IIS on the management server:
Open IIS Manager and run the Restart command on the server.
Restart Gateway-Service:
Open Task Manager, find the PAM.Gateway.Service and restart it.