НАЗВАНИЕ
aliases, aliases.hash, maliases, maliases.hash, faliases
- Совмещение имен файлов Micnet.
ОПИСАНИЕ
Эти файлы содержат определения псевдонимов сети
Micnet. Псевдонимы - это краткие имена или сокращения, которые
могут употреляться в команде mail для обращения к определенным
устройствам или пользователям в сети. Совмещение имен делает
возможным представление в виде одного имени сложного сочетания
имен местоположения, устройства и пользователя.
Каждый из файлов aliases, maliases и faliases определяет различные типы псевдонимов. Aliases определяет стандартные псевдонимы, которые являются именами определенной системы и пользователей и, в некоторых случаях, команд. Файл maliases определяет машинные псевдонимы, имена и пути доступа к определенным системам. Faliases определяет ретранслированные псевдонимы, то есть временные имена при ретранслировании одной пересылки, производимой системой или устройством, к другим.
Aliases.hash является хешированной версией файла aliases, созданной с помощью команды aliashash. Данный файл используется командой mail для разрешения всех стандартных псевдонимов; он аналогичен файлу aliases, за исключением того, что у него в начале файла имеется таблица хеширования. Таблица хеширования позволяет более эффективно обращаться с входами в файл. Чтобы сгенерировать файл aliases.hash, должен быть только файл aliases. Чтобы производить вычисления в сети, файл aliases не требуется.
Файл maliases.hash представляет собой хешированную версию файла maliases. Это произвольный файл, создаваемый с помощью следующей команды:
/usr/lib/mail/aliashash/usr/lib/mail/maliases
Если создан файл malias.hash, то для вычисления в сети больше не требуется файла maliases.Если число устройств в сети велико и, в особенности, если применяется несколько типов сетей, рекомендуется хешировать файл maliases. В такой сети конфигурация больше не однородна, и псевдонимы будут несколько сложны, а псевдонимы устройств будут различны у разных устройств. Использование псевдонимов устройств позволяет, чтобы в данной сети стандартный файл псевдонимов был бы одинаковым для всех устройств. В такой среде netutil может сгенерировать только файлы сети, которые могут использоваться в точке старта. А остальную поддержку сети следует выполнять вручную с помощью редактора.
Каждый файл содержит 0 или более строк. Если следует произвести хеширование, требуется, по крайней мере, один псевдоним. Каждая строка распечатывает псевдоним и его значение. Значение псевдонима может иметь входные имена местополжения устройства и пользователя и другие псевдонимы ( его точный вид зависит от вида псевдонимов). Требуется двоеточие, разделяющее псевдоним и его значение.
В файле aliases строка может иметь вид:
alias:[[site!]machine:]user[,[[site!machine:]user]... alias:[[site!]machine:]command-pipeline alias:error-message
Site и machine представляют собой имена устройства и местоположения системы, в которой находится пользователь, или в которой следует выполнить определенную команду. Имена местоположения и устройства должны оканчиваться восклицательным знаком (!) или двоеточием (:) соответственно и определяться в файле systemid. Псевдоним устройства может использоваться вместо имен местоположения и устройства, если за ним идет знак вопроса (?).
User представляет собой входное имя пользователя или другой псевдоним. Имена пользователей в списке должны разделяться запятой. Новая строка может идти сразу же за запятой. Пробел или символ табуляции допустимы, но только до или после запятой или новой строки.
Command-pipeline представляет собой любую действительную команду (с необходимыми аргументами), перед которой изображается канал (|), и заключенную в двойные кавычки. Пробелы могут разделять команду и аргументы, но между первыми двойными кавычками и знаком канала не должно быть пробела.
Error-message представляет собой любую последовательность букв, цифр и знаков пунктуации (за исключением знака двойной кавычки), перед которой стоит (#), и заключенную в двойные кавычки.
В файле faliases каждая строка имеет одинаковый вид, аналогично файлу aliases; отличие в том, что для любого псевдонима может быть дано не более одного имени пользователя. Чтобы предотвратить распространение псевдонима на дистанционное устройство, перед значением следует поставить выходной знак "\\", как в следующем примере:
foo:mach?\\foo
В случае, если не удалось осуществить выход, может возникнуть бесконечный ретрансляционный цикл. Если это случится, и цикл не возбудит связь uucp, зацикливание будет обнаружено, и сообщение вернется посылавшему. В данном месте файл alias.hash уже просматривался. Если нет явного задания устройства, как части значения, то принимающий будет считаться локальным. После завершения ретрансляционного совмещения имен по мере надобности необходимо совмещение имен устройства.
В файле maliases строка имеет вид:
alias:[[site!]machine:]...
Site и machine являются именами местоположения и усройства для определенных сетей и систем. Повторные имена местоположения и устройства направляют сообщения по определенным путям системы. Если нет имени местоположения и устройства, псевдоним опускается.
Перед тем, как программе mail послать сообщение, она ищет alises.hash, faliases и maliases файлы для того, чтобы увидеть, если имена, данные этой командой, являются псевдонимами. Каждый файл просматривается по очереди (aliases.hash, faliases, затем malises), и если соответствие найдено, псевдоним заменяется своим значением. Если не найдено, то именем считается действительное входное имя пользователя на этом устройстве. Поиск в aliases.hash продолжается до тех пор, пока не будут заменены все псевдонимы, поэтому для одного имени может быть найдено несколько замен. Циклы псевдонимов уже обнаружены. Если цикл существует, любые получатели, вовлеченные в цикл псевдонимов, убираются из списка, и на дисплее высвечивается сообщение об ошибке. Файл faliases просматривается также, от начала к концу, даже если он пустой. Maliases ищется только, если псевдоним содержит псевдоним устройства.
Когда псевдоним - пользователь или список пользователей, команда mail посылает сообщение каждому из списка пользователей. Когда команда-конвейер , команда mail начинает выполнение команды на определенном устройстве и посылает сообщение в виде входного сигнала. Когда данный псевдоним является ошибочным сообщением, команда mail игнорирует его и, вместо этого, высвечивает псевдоним и смысл стандартной ошибки.
Во всех файлах любая строка, начинающаяся со знака (#), рассматривается как комментарий и игнорируется.
Особенность в том, что перед любым псевдонимом, содержащим имя местоположения, в качестве первой компоненты значения автоматически ставится псевдоним устройства uucp?. Этот псевдоним может быть явно определен в файле maliases для того, чтобы помочь управлять почтой между связями и системой, представляющей канал связи uucp.
Директивы
Хотя директивы псевдонимов никогда не включаются в
расширения псевдонимов, они могут употребляться для того, чтобы ограничить расширение класса пользователей, ретранслируя
нерасширенные псевдонимы на другое устройство, или выдавать
сообщение об ошибках. Файл aliases может включать директивы в
виде:
testalias:$xalaska,miken,georger,terix sams:"$e ambiguous,use samst or samsm"
Директивами псевдонимов являются области, которые начинаются со знака ($) c правой стороны псевдонима (после двоеточия). Области, содержащие любые символы пробелов или табуляции, должны заключаться в кавычки. Директива должна стоять перед обычными правосторонними областями, как показано в примере выше. Буквы, стоящие за знаком ($), уточняют тип директивы.
$n<real name or description> $x<machine> $e<error message> $p<permissions> $r<restrictions>
Ни одна из приведенных выше директив сейчас не содержится в /usr/lib/mail/faliases. Только $е находится в /usr/lib /mail/maliases и maliases.hash. Непризнанные директивы не создают сообщения об ошибках и трактуются, как если бы их не существовало. Приведенные выше директивы детально описываются следующим образом:
$n | Для псевдонима пользователя, этому полю следует содер жать полное действительное имя пользователя, связанное с псевдонимом. Для псевдонима группы, следует предоставлять описание группы. |
---|---|
$x | Вызывает нерасширенный псевдоним перед полем, в котором определено устройство. Белое пространство допускается сразу после $x. Как только выполнится совмещение имен устройства, псевдоним соответствующего устройства должен находиться в файле maliases. |
$e | Поле содержит сообщение об ошибке, которое будет напечатано. Левая часть псевдонима будет устранена из списка пользователей, которые являются псевдонимами. # - альтернативная форма $е. |
$p | Это поле содержит звездочку (*) или строку из больших и маленьких букв алфавита. Каждая буква указывает на то, что пользователь, в левой части псевдонима, принадлежит к определенному классу пользователей. Звезда (*) предполагает членство во всех таких классах. |
$r | Поле содержит строку из больших и маленьких букв алфавита, каждая буква, указывающая "класс" пользователей, который допускает расширение $p. Отсутствие $r
поля означает, что пользователь может расширить псевдоним. Если выходит $r поле, расширение допустимо
только, если:
|
Если расширение не допустимо,не выдается сообщения об ошибке; псевдоним в вопросе трактуется, как если бы он не был представлен.
Следующий псевдоним должен быть использован для того,чтобы послать сообщение о затруднениях почты корневому пользователю:
network: "$n the network mail recipient,"root
Для того чтобы ретранслировать псевдоним группы, названный testalias, на устройство, названное alaska, и расширить его там, можно использовать следующий псевдоним:
testalias:$xalaska, mikem, georger, terih
Файлы
/usr/lib/mail/aliases /usr/lib/mail/aliases.hash /usr/lib/mail/maliases /usr/lib/mail/faliases /usr/lib/mail/maliases.hash
СМ. ТАКЖЕ
aliashash(8), netutil(8), systemid(3), top(3)