Problem

When creating an Access Route via the command line using ttyadmin or routeadm, you get an error similar to the following:

Error in FROM part
ttyadmin@master Thu Apr 2 14:44:35 2015
ERROR:
Usage:
Create/Remove definition:
ttyadmin -a -l user -z 'access_method:from->to' [-b start] [-e end]
[-w days] [-m modifiers]
ttyadmin -r -l user -z 'access_method:from->to' [-b start] [-e end]
[-w days] [-m modifiers]
List definition(s):
ttyadmin -s '{ T | P } [hs]' [-l user] [-z 'acc_method:from->to']
ttyadmin -S # short for ttyadmin -sThn
ttyadmin -A # list /dev/tty*
ttyadmin -y[v] -z 'access_method:from->to' # checks syntax of
access path

Solution

When creating an Access Route, be sure that you use single quotes (') rather than double-quotes (") surrounding route definitions that contain a variable (ie. $USER). The use of double-quotes causes the shell to evaluate the variable and expand it. This can result in a syntax error for the route definition.

For example:

ttyadmin -a -l MY_HOSTGROUP:testuser -z "SUEXEC:$USER@*->root@MY_HOSTGROUP%/usr/bin/touch /tmp/testfile" -w 1234567

This syntax will result in the "Error in FROM part" error described above because the $USER variable is evaluated by the shell. Rewrite the rule using single-quotes as follows to avoid this condition:

ttyadmin -a -l MY_HOSTGROUP:testuser -z 'SUEXEC:$USER@*->root@MY_HOSTGROUP%/usr/bin/touch /tmp/testfile' -w 1234567


Still have questions? We can help. Submit a case to Technical Support.

Last Modified On: June 28, 2019