COMMANDS 选项可能会危及系统的安全性。使用此选项时应格外小心。
可以在 MACHINE 项中使用 COMMANDS 选项指定远程计算机可在您的计算机上执行的命令。uux 程序生成远程执行请求,并对要传输到远程计算机的请求进行排队。文件和命令将被发送到目标计算机进行远程执行,这对于仅在您的系统发出呼叫时才会应用 MACHINE 项而言,是一个例外。
请注意,不能在 LOGNAME 项中使用 COMMANDS。MACHINE 项中的 COMMANDS 定义命令权限,无论是您呼叫远程系统还是远程系统呼叫您。
字符串 COMMANDS=rmail 指定远程计算机可在您的计算机上执行的缺省命令。如果在 MACHINE 项中使用命令字符串,则将覆盖缺省命令。例如,以下项将覆盖 COMMAND 缺省值,以使名为 owl、raven、hawk 和 dove 的计算机可在您的计算机上立即执行 rmail、rnews 和 lp。
MACHINE=owl:raven:hawk:dove COMMANDS=rmail:rnews:lp |
除以上指定的名称外,还可以指定命令的全路径名。例如,以下项指定命令 rmail 使用缺省搜索路径。
COMMANDS=rmail:/usr/local/rnews:/usr/local/lp |
UUCP 的缺省搜索路径为 /bin 和 /usr/bin。远程计算机为要执行的命令指定 rnews 或 /usr/local/rnews 时,则会执行 /usr/local/rnews,而无论缺省路径是什么。同样,/usr/local/lp 是要执行的 lp 命令。
在列表中包含 ALL 值意味着,系统将执行该项中指定的远程计算机的任何命令。如果使用此值,则将授予远程计算机对您的计算机的完全访问权限。
此值允许的访问权限远远多于普通用户拥有的访问权限。仅在两台计算机都位于同一个站点、紧密连接,且用户受信任时,才应使用此值。
以下是添加了 ALL 值的字符串:
COMMANDS=/usr/local/rnews:ALL:/usr/local/lp |
此字符串说明了两点:
只要指定了存在潜在危险的命令(如带有 COMMANDS 选项的 cat 和 uucp),就应使用 VALIDATE 选项。通过 UUCP 远程执行守护进程 (uuxqt) 执行命令时,读写文件的任何命令都对本地安全性造成潜在危险。