123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- GENERAL INFORMATION
- turnadmin is a TURN administration tool. This tool can be used to manage
- the user accounts (add/remove users, generate
- TURN keys for the users). For security reasons, we do not recommend
- storing passwords openly. The better option is to use pre-processed "keys"
- which are then used for authentication. These keys are generated by turnadmin.
- Turnadmin is a link to turnserver binary, but turnadmin performs different
- functions.
- Options note: turnadmin has long and short option names, for most options.
- Some options have only long form, some options have only short form. Their syntax
- somewhat different, if an argument is required:
- The short form must be used as this (for example):
- $ turnadmin -u <username> ...
-
- The long form equivalent must use the "=" character:
- $ turnadmin --user=<username> ...
-
- If this is a flag option (no argument required) then their usage are the same, for example:
- $ turnadmin -k ...
-
- is equivalent to:
- $ turnadmin --key ...
- You have always the use the -r <realm> option with commands for long term credentials -
- because data for multiple realms can be stored in the same database.
-
- =====================================
- NAME
- turnadmin - a TURN relay administration tool.
-
- SYNOPSIS
- $ turnadmin [command] [options]
- $ turnadmin [ -h | --help]
- DESCRIPTION
-
- Commands:
- -P, --generate-encrypted-password Generate and print to the standard
- output an encrypted form of a password (for web admin user or CLI).
- The value then can be used as a safe key for the password
- storage on disk or in the database. Every invocation for the same password
- produces a different result. The for mat of the encrypted password is:
- $5$<...salt...>$<...sha256(salt+password)...>. Salt is 16 characters,
- the sha256 output is 64 characters. Character 5 is the algorithm id (sha256).
- Only sha256 is supported as the hash function.
- -k, --key Generate key for a long-term credentials mechanism user.
- -a, --add Add or update a long-term user.
- -A, --add-admin Add or update an admin user.
- -d, --delete Delete a long-term user.
- -D, --delete-admin Delete an admin user.
- -l, --list List long-term users in the database.
- -L, --list-admin List admin users in the database.
- -s, --set-secret=<value> Add shared secret for TURN REST API
- -S, --show-secret Show stored shared secrets for TURN REST API
- -X, --delete-secret=<value> Delete a shared secret.
- --delete-all_secrets Delete all shared secrets for REST API.
-
- -O, --add-origin Add origin-to-realm relation.
- -R, --del-origin Delete origin-to-realm relation.
- -I, --list-origins List origin-to-realm relations.
- -g, --set-realm-option Set realm params: max-bps, total-quota, user-quota.
- -G, --list-realm-options List realm params.
- -E, --generate-encrypted-password-aes Generate and print to the standard output
- an encrypted form of password with AES-128
-
- Options with required values:
- -b, --db, --userdb SQLite user database file name (default - /var/db/turndb or
- /usr/local/var/db/turndb or /var/lib/turn/turndb).
- See the same option in the turnserver section.
- -e, --psql-userdb PostgreSQL user database connection string.
- See the --psql-userdb option in the turnserver section.
- -M, --mysql-userdb MySQL user database connection string.
- See the --mysql-userdb option in the turnserver section.
- -J, --mongo-userdb MongoDB user database connection string.
- See the --mysql-mongo option in the turnserver section.
- -N, --redis-userdb Redis user database connection string.
- See the --redis-userdb option in the turnserver section.
- -u, --user User name.
- -r, --realm Realm.
- -p, --password Password.
- -x, --key-path Generates a 128 bit key into the given path.
- -f, --file-key-path Contains a 128 bit key in the given path.
- -v, --verify Verify a given base64 encrypted type password.
- -o, --origin Origin
- --max-bps Set value of realm's max-bps parameter.
- --total-quota Set value of realm's total-quota parameter.
- --user-quota Set value of realm's user-quota parameter.
- -h, --help Help.
- Command examples:
- Generate an encrypted form of a password:
- $ turnadmin -P -p <password>
- Generate a key:
- $ turnadmin -k -u <username> -r <realm> -p <password>
-
- Add/update a user in the in the database:
- $ turnadmin -a [-b <userdb-file> | -e <db-connection-string> | -M <db-connection-string> | -N <db-connection-string> ] -u <username> -r <realm> -p <password>
-
- Delete a user from the database:
- $ turnadmin -d [-b <userdb-file> | -e <db-connection-string> | -M <db-connection-string> | -N <db-connection-string> ] -u <username> -r <realm>
- List all long-term users in MySQL database:
- $ turnadmin -l --mysql-userdb="<db-connection-string>" -r <realm>
- List all admin users in Redis database:
- $ turnadmin -L --redis-userdb="<db-connection-string>"
- Set secret in MySQL database:
- $ turnadmin -s <secret> --mysql-userdb="<db-connection-string>" -r <realm>
- Show secret stored in PostgreSQL database:
- $ turnadmin -S --psql-userdb="<db-connection-string>" -r <realm>
- Set origin-to-realm relation in MySQL database:
- $ turnadmin --mysql-userdb="<db-connection-string>" -r <realm> -o <origin>
- Delete origin-to-realm relation from Redis DB:
- $ turnadmin --redis-userdb="<db-connection-string>" -o <origin>
- List all origin-to-realm relations in Redis DB:
- $ turnadmin --redis-userdb="<db-connection-string>" -I
- List the origin-to-realm relations in PostgreSQL DB for a single realm:
- $ turnadmin --psql-userdb="<db-connection-string>" -I -r <realm>
- Create new key file for mysql password encryption:
- $ turnadmin -E --key-path <key-file>
- Create encrypted mysql password:
- $ turnadmin -E --file-key-path <key-file> -p <secret>
- Verify/decrypt encrypted password:
- $ turnadmin --file-key-path <key-file> -v <encrypted>
-
- Help:
- $ turnadmin -h
- =======================================
-
- DOCS
- After installation, run the command:
- $ man turnadmin
- or in the project root directory:
- $ man -M man turnadmin
- to see the man page.
- =====================================
- FILES
- /etc/turnserver.conf
- /var/db/turndb
- /usr/local/var/db/turndb
- /var/lib/turn/turndb
- /usr/local/etc/turnserver.conf
- =====================================
- DIRECTORIES
- /usr/local/share/turnserver
- /usr/local/share/doc/turnserver
- /usr/local/share/examples/turnserver
- ======================================
- SEE ALSO
- turnserver, turnutils
- ======================================
- WEB RESOURCES
- project page:
- https://github.com/coturn/coturn/
- Wiki page:
- https://github.com/coturn/coturn/wiki
- forum:
- https://groups.google.com/forum/?fromgroups=#!forum/turn-server-project-rfc5766-turn-server/
- ======================================
- AUTHORS
- Oleg Moskalenko <[email protected]>
- Gabor Kovesdan http://kovesdan.org/
- Daniel Pocock http://danielpocock.com/
- John Selbie ([email protected])
- Lee Sylvester <[email protected]>
- Erik Johnston <[email protected]>
- Roman Lisagor <[email protected]>
-
- Vladimir Tsanev <[email protected]>
-
- Po-sheng Lin <[email protected]>
-
- Peter Dunkley <[email protected]>
-
- Mutsutoshi Yoshimoto <[email protected]>
- Federico Pinna <[email protected]>
- Bradley T. Hughes <[email protected]>
- Mihaly Meszaros <[email protected]>
|