
It's now possible to use both a Unix domain socket and host/port when connecting with MaxAdmin to MaxScale. By default MaxAdmin will attempt to use the default Unix domain socket, but if host and/or port has been specified, then an inet socket will be used. maxscaled will authenticate the connection attempt differently depending on whether a Unix domain socket is used or not. If a Unix domain socket is used, then the Linux user id will be used for the authorization, otherwise the 1.4.3 username/password handshake will be performed. adminusers has now been extended so that there is one set of functions for local users (connecting locally over a Unix socket) and one set of functions for remote users (connecting locally or remotely over an Inet socket). The local users are stored in the new .../maxscale-users and the remote users in .../passwd. That is, the old users of a 1.4 installation will work as such in 2.0. One difference is that there will be *no* default remote user. That is, remote users will always have to be added manually using a local user. The implementation is shared; the local and remote alternatives use common functions to which the hashtable and filename to be used are forwarded. The commands "[add|remove] user" behave now exactly like they did in 1.4.3, and also all existing users work out of the box. In addition there is now the commands "[enable|disable] account" using which Linux accounts can be enabled for MaxAdmin usage.
50 lines
1.5 KiB
Markdown
50 lines
1.5 KiB
Markdown
# CLI
|
|
|
|
The command line interface as used by `maxadmin`. The _CLI_ router requires the use
|
|
of the `maxscaled` protocol.
|
|
|
|
## Configuration
|
|
|
|
Two components are required in order to run the command line interface for use with
|
|
_maxadmin_; a service and a listener. The listener may either use a Unix domain socket
|
|
or an internet socket.
|
|
|
|
The default entries required are shown below.
|
|
|
|
```
|
|
[CLI]
|
|
type=service
|
|
router=cli
|
|
|
|
# Unix Domain Socket
|
|
[CLI Unix Listener]
|
|
type=listener
|
|
service=CLI
|
|
protocol=maxscaled
|
|
socket=default
|
|
|
|
# Internet Socket
|
|
[CLI Inet Listener]
|
|
type=listener
|
|
service=CLI
|
|
protocol=maxscaled
|
|
address=localhost
|
|
port=6603
|
|
```
|
|
In the example above, two listeners have been specified; one that listens on the
|
|
default Unix domain socket and one that listens on the default port. In the latter
|
|
case, if the `address=` entry is removed, connections are allowed from any machine
|
|
on your network.
|
|
|
|
In the former case, if the value of `socket` is changed and in the latter case,
|
|
if the value of `port` is changed, _maxadmin_ must be invoked with the `-S` and
|
|
`-P` options respectively.
|
|
|
|
Note that if Unix domain sockets are used, the connection is secure, but _maxadmin_
|
|
can only be used on the same host where MariaDB MaxScale runs. If internet sockets
|
|
are used, the connection is _inherently insecure_ but _maxadmin_ can be used from
|
|
another host than the one where MariaDB MaxScale runs.
|
|
|
|
Note that the latter approach is **deprecated** and will be removed in a future
|
|
version of MariaDB MaxScale.
|