Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #218 from joergsteffens/dev/joergs/master/systemte…
…st-bconsole-pam add bconsole-pam systemtest
- Loading branch information
Showing
32 changed files
with
484 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
33 changes: 33 additions & 0 deletions
33
systemtests/tests/bconsole-pam/bin/check_pam_exec_available.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
#!/bin/sh | ||
|
||
# | ||
# Verify that our test pam configuration works. | ||
# It uses | ||
# * pam_wrapper to redirect PAM to our test environemnt, using a specific service file | ||
# * pamtester to test PAM without the need to run Bareos | ||
# * pam_exec.so is defined in the bareos PAM service file. | ||
# It is configured to accept all logins where USERNAME = PASSWORD. | ||
# | ||
|
||
set -e | ||
set -u | ||
|
||
export PAM_WRAPPER=1 | ||
export PAM_WRAPPER_SERVICE_DIR=etc/pam.d/bareos | ||
|
||
if ! [ -e "${PAM_WRAPPER_SERVICE_DIR}" ]; then | ||
echo "PAM service file ${PAM_WRAPPER_SERVICE_DIR} not found" | ||
exit 1 | ||
fi | ||
|
||
# DEBUG | ||
#export PAM_WRAPPER_DEBUGLEVEL=4 | ||
|
||
# PAM_WRAPPER creates extra environments in /tmp/pam.*/ | ||
|
||
# PAM_WRAPPER_LIBRARIES will be set my cmake | ||
USERNAME="user" | ||
PASSWORD="user" | ||
echo "$PASSWORD" | LD_PRELOAD=${PAM_WRAPPER_LIBRARIES} pamtester bareos "$USERNAME" authenticate | ||
|
||
exit $? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
#!/bin/sh | ||
|
||
# auth optional pam_exec.so expose_authtok debug log=/tmp/pam.log /usr/bin/sc_pam_wlan.sh | ||
|
||
# called by: | ||
# auth optional pam_exec.so expose_authtok /usr/bin/sc_pam_wlan.sh | ||
|
||
# pam_exec options: | ||
# debug | ||
# expose_authtok | ||
# During authentication the calling command can read the password from stdin(3). | ||
# (PAM_TYPE=auth only) | ||
# log=file | ||
# The output of the command is appended to file | ||
# type=type | ||
# Only run the command if the module type matches the given type. | ||
# stdout | ||
# Per default the output of the executed command is written to /dev/null. | ||
# With this option, the stdout output of the executed command is redirected | ||
# to the calling application. | ||
# It's in the responsibility of this application what happens with the output. | ||
# The log option is ignored. | ||
# quiet | ||
# Per default pam_exec.so will echo the exit status of the external command | ||
# if it fails. Specifying this option will suppress the message. | ||
# seteuid | ||
# Per default pam_exec.so will execute the external command | ||
# with the real user ID of the calling process. | ||
# Specifying this option means the command is run with the effective user ID. | ||
|
||
# PAM_TYPE: | ||
# "auth" | ||
# ... | ||
# "open_session" | ||
# "close_session" | ||
|
||
RC_OK=0 | ||
RC_SKIP=1 | ||
RC_NOK=2 | ||
|
||
echo "$0" | ||
#echo "current user: $USER ($UID)" | ||
|
||
if [ "$PAM_TYPE" != "auth" ]; then | ||
echo "only pam type auth supported, not $PAM_TYPE" | ||
exit $RC_SKIP | ||
fi | ||
|
||
echo "PAM settings:" | ||
echo "User: $PAM_USER" | ||
echo "Ruser: $PAM_RUSER" | ||
echo "Rhost: $PAM_RHOST" | ||
echo "Service: $PAM_SERVICE" | ||
echo "TTY: $PAM_TTY" | ||
|
||
USERNAME="$PAM_USER" | ||
# This does not work in PAM environment | ||
# if [ -z "$PAM_USER" ]; then | ||
# read -p "PE Login: " USERNAME | ||
# fi | ||
|
||
|
||
read -p "PE Passwort: " PASSWORD | ||
|
||
|
||
if [ "$USERNAME" = "$PASSWORD" ]; then | ||
echo "grant access for $USERNAME" | ||
RC=$RC_OK | ||
else | ||
echo "deny access for $USERNAME" | ||
RC=$RC_NOK | ||
fi | ||
|
||
exit $RC | ||
|
8 changes: 8 additions & 0 deletions
8
systemtests/tests/bconsole-pam/etc/bareos/bareos-dir.d/catalog/MyCatalog.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Catalog { | ||
Name = MyCatalog | ||
#dbdriver = "@DEFAULT_DB_TYPE@" | ||
dbdriver = "XXX_REPLACE_WITH_DATABASE_DRIVER_XXX" | ||
dbname = "@db_name@" | ||
dbuser = "@db_user@" | ||
dbpassword = "@db_password@" | ||
} |
7 changes: 7 additions & 0 deletions
7
systemtests/tests/bconsole-pam/etc/bareos/bareos-dir.d/client/bareos-fd.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Client { | ||
Name = bareos-fd | ||
Description = "Client resource of the Director itself." | ||
Address = localhost | ||
Password = "@fd_password@" # password for FileDaemon | ||
FD PORT = @fd_port@ | ||
} |
6 changes: 6 additions & 0 deletions
6
systemtests/tests/bconsole-pam/etc/bareos/bareos-dir.d/console/pam.conf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Console { | ||
Name = "PamConsole" | ||
Password = "secret" | ||
UsePamAuthentication = yes | ||
} | ||
|
27 changes: 27 additions & 0 deletions
27
systemtests/tests/bconsole-pam/etc/bareos/bareos-dir.d/director/bareos-dir.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
Director { # define myself | ||
Name = bareos-dir | ||
QueryFile = "@scriptdir@/query.sql" | ||
Maximum Concurrent Jobs = 10 | ||
Password = "@dir_password@" # Console password | ||
Messages = Daemon | ||
Auditing = yes | ||
|
||
# Enable the Heartbeat if you experience connection losses | ||
# (eg. because of your router or firewall configuration). | ||
# Additionally the Heartbeat can be enabled in bareos-sd and bareos-fd. | ||
# | ||
# Heartbeat Interval = 1 min | ||
|
||
# remove comment in next line to load dynamic backends from specified directory | ||
Backend Directory = @backenddir@ | ||
|
||
# remove comment from "Plugin Directory" to load plugins from specified directory. | ||
# if "Plugin Names" is defined, only the specified plugins will be loaded, | ||
# otherwise all director plugins (*-dir.so) from the "Plugin Directory". | ||
# | ||
# Plugin Directory = "@plugindir@" | ||
# Plugin Names = "" | ||
Working Directory = "@working_dir@" | ||
Pid Directory = "@piddir@" | ||
DirPort = @dir_port@ | ||
} |
11 changes: 11 additions & 0 deletions
11
systemtests/tests/bconsole-pam/etc/bareos/bareos-dir.d/fileset/Catalog.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
FileSet { | ||
Name = "Catalog" | ||
Description = "Backup the catalog dump and Bareos configuration files." | ||
Include { | ||
Options { | ||
signature = MD5 | ||
} | ||
File = "@working_dir@/@db_name@.sql" # database dump | ||
File = "@confdir@" # configuration | ||
} | ||
} |
11 changes: 11 additions & 0 deletions
11
systemtests/tests/bconsole-pam/etc/bareos/bareos-dir.d/fileset/SelfTest.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
FileSet { | ||
Name = "SelfTest" | ||
Description = "fileset just to backup some files for selftest" | ||
Include { | ||
Options { | ||
Signature = MD5 # calculate md5 checksum per file | ||
} | ||
#File = "@sbindir@" | ||
File=<@tmpdir@/file-list | ||
} | ||
} |
11 changes: 11 additions & 0 deletions
11
systemtests/tests/bconsole-pam/etc/bareos/bareos-dir.d/job/RestoreFiles.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
Job { | ||
Name = "RestoreFiles" | ||
Description = "Standard Restore template. Only one such job is needed for all standard Jobs/Clients/Storage ..." | ||
Type = Restore | ||
Client = bareos-fd | ||
FileSet = SelfTest | ||
Storage = File | ||
Pool = Incremental | ||
Messages = Standard | ||
Where = @tmp@/bareos-restores | ||
} |
5 changes: 5 additions & 0 deletions
5
systemtests/tests/bconsole-pam/etc/bareos/bareos-dir.d/job/backup-bareos-fd.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
Job { | ||
Name = "backup-bareos-fd" | ||
JobDefs = "DefaultJob" | ||
Client = "bareos-fd" | ||
} |
15 changes: 15 additions & 0 deletions
15
systemtests/tests/bconsole-pam/etc/bareos/bareos-dir.d/jobdefs/DefaultJob.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
JobDefs { | ||
Name = "DefaultJob" | ||
Type = Backup | ||
Level = Incremental | ||
Client = bareos-fd | ||
FileSet = "SelfTest" | ||
Storage = File | ||
Messages = Standard | ||
Pool = Incremental | ||
Priority = 10 | ||
Write Bootstrap = "@working_dir@/%c.bsr" | ||
Full Backup Pool = Full # write Full Backups into "Full" Pool | ||
Differential Backup Pool = Differential # write Diff Backups into "Differential" Pool | ||
Incremental Backup Pool = Incremental # write Incr Backups into "Incremental" Pool | ||
} |
7 changes: 7 additions & 0 deletions
7
systemtests/tests/bconsole-pam/etc/bareos/bareos-dir.d/messages/Daemon.conf.in
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Messages { | ||
Name = Daemon | ||
Description = "Message delivery for daemon messages (no job)." | ||
console = all, !skipped, !saved, !audit | ||
append = "@logdir@/bareos.log" = all, !skipped, !audit | ||
append = "@logdir@/bareos-audit.log" = audit | ||
} |
Oops, something went wrong.