Ограничение доступа к NNTP

Доступ к ресурсам NNTP управляется файлом nntp_access в /etc/news. Строки в этом файле описывают права доступа, предоставленные удаленным системам. Каждая строка имеет следующий формат:


site read|xfer|both|no post|no [!exceptgroups]

Когда пользователь соединяется с портом NNTP, nntpd пытается получить полное доменное имя машины по его IP-адресу, используя обратный поиск. Hostname пользователя и адрес IP проверяются для поля site каждой записи в том порядке, в который они появляются в файле. Совпадение может быть частичным или точным. Если оно точное, применяются соответствующие определения; если оно частичное, оно применяется только если нет никаких других подходящих соответствий. site может быть определен одним из следующих путей:

Hostname

Полное доменное имя машины. Если оно посимвольно совпало с каноническим hostname клиента, запись применяется, а все остальные записи игнорируются.

IP address

IP-адрес в формате четырех чисел, разделенных точками. Если IP клиента совпадает с этим, запись применяется, и все остальные записи игнорируются.

Domain name

Доменное имя, определенное как *.domain. Если hostname пользователя соответствует имени домена, запись применяется.

Network name

Имя сети, определенное в /etc/networks. Если адрес подсети пользовательского IP-адреса совпадает с адресом подсети, связанным с этим именем сети, запись применяется.

Default

Строка default соответствует всем клиентам.

Записи с более общей спецификацией site должны быть определены первыми потому, что они будут отменены позже точными соответствиями.

Вторые и третьи поля описывают права доступа, предоставленные пользователю. Второе поле детализирует права на получение новостей (pulling, (read) и их передачу (pushing, (xfer). Значение both разрешает оба действия; no полностью запрещает доступ. Третье поле предоставляет пользователю право регистрировать статьи, то есть, передавать статьи с незавершенной информацией заголовка, который будет завершен программным обеспечением новостей. Если второе поле содержит no, третье поле будет игнорироваться.

Четвертое поле факультативно и содержит разделяемый запятыми список групп к которым пользователь лишен доступа.

Пример файла nntp_access:

#
# by default, anyone may transfer news, but not read or post
default                 xfer            no
#
# public.vbrew.com offers public access via modem. We allow
# them to read and post to any but the local.* groups
public.vbrew.com        read            post    !local
#
# all other hosts at the brewery may read and post
*.vbrew.com             read            post