Abilis implements an access control system based on:
authentication of the user in the Users table;
creation of a virtual path in the HTTP Virtual Roots Path table;
creation of a access right for that virtual Path in the FTP Virtual Paths Access Rights table.
Users can access to HTTP server only if they are enabled to HTTP
      service (parameter HTTP set tot
      YES).
[16:50:04] ABILIS_CPX:d user
USER:                  PWD: ACT: CTIP: CLUS:    PPP: FTP: HTTP: MAIL: IAX: SIP:
--------------------------------+--------------+-------------------------------
admin                       NO   #     #        YES  YES  YES   NO    NO   NO
guest                       NO   #     #        NO   NO   NO    NO    NO   NO
httpuser                    YES  #     #        NO   NO   YES   NO    NO   NOTo show the detailed user configuration parameters, type the command d user:<username>.
[16:50:06] ABILIS_CPX:d user:httpuser
Parameter:        | Value:
------------------+------------------------------------------------------------
USER:               httpuser
ALIAS:              httpuser
ID:                 3    <Read Only>
PWD:
ACT:                YES
GROUP:
CTIP:               #
CLUS:               #
OPC-MONITOR:        NONE
HTTP:               YES
HTTP-PROT:          PLAIN,SSL
-------------------------------------------------------------------------------| ![[Tip]](../images/tip.png) | Tip | 
|---|---|
| Interesting chapter: Section 5.9, “Users Table”. | 
Meaning of the parameters:
HTTPEnables/disables the HTTP service.
HTTP-PROTUser's access protocol [PLAIN: not
            encrypted; SSL: encrypted].
HTTP Virtual Paths Table specifies the association between virtual paths and their respective physical paths.
Virtual Paths can be added/set/displayed/cleared with the commands:
a/s/d/c http path:<virtual path> [phys-path:<physical path>]
The whole table can be shown with the following command. The table is empty by default:
[15:12:11] ABILIS_CPX:d http path
Parameter:  | Value:
------------+------------------------------------------------------------------
PATH:         /test/
PHYS-PATH:    c:\usr\pub\test\
-------------------------------------------------------------------------------
PATH:         /trfafiles/
PHYS-PATH:    c:\app\trfa\
-------------------------------------------------------------------------------Type the below command to show a specific path:
[15:12:15] ABILIS_CPX:d http path:/test/
Parameter:  | Value:
------------+------------------------------------------------------------------
PATH:         /test/
PHYS-PATH:    c:\usr\pub\test\
-------------------------------------------------------------------------------Meaning of the parameters:
PATHSpecifies a directory virtual path with UNIX notation.
            Virtual path / needs not to be specified
            because / does never refer to physical path, it
            is only the “container” of virtual paths. The maximum
            length is of 32 characters.
PHYS-PATHSpecifies a directory physical path, with DOS notation (it
            starts with the disk letter and it ends with the character
            \ ). The maximum length is of 128
            characters.
This table specifies the associations between virtual paths, users and their respective access rights.
Access rights for a specific virtual path can be added/set/displayed/cleared with the following commands.
adds the path only.
adds user and path.
sets rights and other parameters for an already existent user.
deletes an existing user; if the user is the last one the path is not deleted.
displays rights summary.
displays rights for a specific path.
displays rights which a user has on all paths; the paths for which the user is not defined are skipped.
| ![[Tip]](../images/tip.png) | Tip | 
|---|---|
| Access rights for a specific virtual path can be added/set/displayed/cleared specifying the path or the id: the following commands are equivalent. [12:14:07] ABILIS_CPX:_ | 
An example of the output is shown below (by default the table contains the following entries):
[17:54:31] ABILIS_CPX:d http rights
-------------------------------------------------------------------------------
ID: PATH:
       USER:                            FILE: DIR:  RECUR: PROT:
-------------------------------------------------------------------------------
  1 /sys/
       admin                            r---  l---  YES    PLAIN,SSL
-------------------------------------------------------------------------------
  2 /sys/pub/
       anonymous                        r---  ----  YES    PLAIN,SSL
-------------------------------------------------------------------------------The rights are split in “file rights” and
      “directory rights” and are configured/viewed with two
      different parameters: FILE and
      DIR.
The syntax is:
FILE:[+|-R][+|-W][+|-D][+|-N] DIR:[+|-L][+|-C][+|-D][+|-N]
The + sets granted right.
The - sets denied right.
If + or - is not
          specified, the value + is assumed, so it may be
          omitted.
Not specified right is left unchanged.
FILE and DIR values do
          not care of the characters' position.
FILE and DIR values are
          case insensitive.
The following commands are equivalent:
S HTTP RIGHTS PATH:/ USER:test FILE:+R+W+D+N
S HTTP RIGHTS PATH:/ USER:test FILE:rwdn
S HTTP RIGHTS PATH:/ USER:test FILE:NdwR
S HTTP RIGHTS PATH:/ USER:test FILE:+D-N
S HTTP RIGHTS PATH:/ USER:test FILE:D-N
S HTTP RIGHTS PATH:/ USER:test FILE:-ND