Node configuration for user access: Difference between revisions

From The DXSpider Documentation Wiki
Jump to navigation Jump to search
Line 69: Line 69:


<pre>
<pre>
   set/password
   set/password ****(I am not sure this is true?)
</pre>
****</pre>


==='''Node in NO PASSWORD Mode'''===
==='''Node in NO PASSWORD Mode'''===

Revision as of 14:09, 10 February 2023


User Registration


There are two types of user in a DXSpider node, a registered user and an unregistered user. By default, all users belong to the unregistered category.

Node in UNREGISTERED Mode


This is the default way of working, but not necessarily the best.

The global variable that sets the node type is $main::reqreg and its default value is 0.

  set/var $main::reqreg = 0

In this mode the sysop doesn't have to to register users, but if they are registered, then it will simply be a database entry. Both types of user will have the same capabilities to send and receive SPOTS, ANN, etc

Node in REGISTRATION Mode


To activate registration, the global variable $main::reqreg must be set to 1. The way to change it is

  set/var $main::reqreg = 1

When this mode is activated, only users that the sysop has registered will be able to send and receive SPOTS, ANN, etc. Unregistered users will only be able to receive information.

The way to register/unregister a user is as follows:

  set/register <call>
  unset/register <call>

You can check which users we have registered using

  sh/register <call>

A specific login banner for registered users can be shown. The file containing it is the following

  /spider/_local_data/motd

When an unregistered user starts the login process, they can be sent a different file that can be configured to say that they are not registered and how to register should they wish to do so. This file is ...

  /spider/local_data/motd_nor

Password Usage


By default, a user does not get prompted for a password at login. For additional security, a user can request a password be set for them. They simply need to request a password that they provide to the sysop.

It should be noted that this only works on the node they regularly use. Their password is not propagated across the network for security reasons.

For a user to be assigned a password, the sysop needs to use the command ...

  set/password <call> <string>

and the user can change his password with the command

  set/password ****(I am not sure this is true?)
****

Node in NO PASSWORD Mode


The global variable $main::passwdreq is set to 0 by default. As mentioned above, users logging into a node so configured will only be prompted for their callsign.

To see the value of the variable we will use

  sh/var $main::passwdreq


Node in PASSWORD Mode


If we set the $main::passwdreq variable to 1, we will force any user logging in to the node to enter their callsign and password, otherwise they will not be able to access the node. The node will not establish the session if there is no positive authentication.

To set this mode of operation:

  set/var $main::passwdreq = 1


How To Protect Node (Recommended configuration)


One way to control the correct use of our node, is to use the combination of registration and password as follows.

We enable the registration for all the users

  set/var $main::reqreg = 1

and we disable the global use of passwords

  set/var $main::passwdreq = 0

This allows anyone to access the node in READ mode, but only those who have authenticated with username and password will have full user access.

This implies that the sysop must register and assign a password to the trusted user.

  set/register <call>
  set/password <call> <string>

This way we have control and limit the misuse of our node.


Make Changes Permanent


Although we can enable or disable these variables at any time, if we want to keep them during the startup of the node, we must edit the file

  /spider/scripts/startup

and include the following lines

  set/var $main::reqreg = 1
  set/var $main::passwdreq = 0

The changes to this file will not take effect until there is a reboot, so we can activate it manually the first time from the console by typing

  set/var $main::reqreg = 1
  set/var $main::passwdreq = 0