постинг отчетов по nntp с авторизацией
- From
- Igor Mitichev (2:6001/9.9)
- To
- Pavel Osipov
- Date
- 2005-11-04T17:17:32Z
- Area
- RU.UNIX.FTN
Привет Pavel!
04 Ноя 05 года (а было тогда 09:00)
Pavel Osipov в своем письме к All писал:
У тебя localhost не авторизуется. Там идет авторизация сверху вниз, при чем последовательно проверяются все auth. Пользователь авторизуется под тем auth, который стоит последним и к которому он подойдет по критериям. Если по-русски, то тебе auth "localhost" надо прописать после auth "users from net", Я для наглядности все auth вынес в начало файла. Вот смотри что получается с локальным процессом:
PO> auth "localhost" {
PO> hosts: "localhost, 127.0.0.1, stdin"
PO> default: "<localhost>"
PO> }
Сначала он авторизуется по auth "localhost" и ему присавивается имя "<localhost>" на основании того, что он hosts: "localhost". Но дальше inn продолжает проверять его по другим auth.
PO> auth "users from net" {
PO> hosts: "*"
PO> auth: "ckpasswd -f /usr/local/news/etc/users.passwd"
PO> default: "<local-users>"
PO> }
Здесь он проверяется по файлу паролей. И поскольку эта авторизация не прошла успешно, то имя <localhost> заменяется на имя по умолчанию <local-users>
PO> access "localhost" {
PO> users: "<localhost>"
PO> newsgroups: "*"
PO> access: RPA
PO> }
PO> auth "users from net" {
PO> hosts: "*"
PO> auth: "ckpasswd -f /usr/local/news/etc/users.passwd"
PO> default: "<local-users>"
PO> }
PO> access "anybody" {
PO> users: "<local-users>"
PO> newsgroups: "*"
PO> access: R
PO> }
Ну и вот здесь у нашего процесса определяются права access: R
PO> access "posters" {
PO> users: "ozzy, robot"
PO> newsgroups: "*"
PO> access: RPA
PO> }
Я бы переписал твой файл таким образом:
auth "not known user" {
hosts: "*"
default: "<fail>"
}
# Сначала всем пользователям присваивается имя по умолчанию "fail"
auth "local-users" {
hosts: "192.168.0.0/16"
default: "<local-users>"
}
# Если этот пользователь оказывается из нашей сети, то его имя меняется на
# "local-users".
auth "localhost" {
hosts: "localhost, 127.0.0.1, stdin"
default: "<localhost>"
}
# Далее, если пользователь имеет IP 127.0.0.1 его имя переназначается на # "localhost"
auth "password users" {
hosts: "*"
auth: "ckpasswd -f /usr/local/news/etc/users.passwd"
}
# Ну и наконец, если он знает пароль, то ему будет присвоено имя из файла # паролей.
Ну а дальше уже прописывай access как надо:
access "localhost" {
users: "<localhost>, ozzy"
newsgroups: "*"
}
# Localhost'у и ozzy доступны все группы
access "full_all" {
users: "<local-users>"
read: "*, !control*, !junk"
post: "local.*"
}
# юзерам из нашей сети доступны почти ;) все группы но только для чтения и
# группы иерархии local.* на запись
access fail {
users: "<fail>"
newsgroups: !*
}
# прочие пользователи идут лесом
С уважением 04 Ноя 05 года
Igor Mitichev garick33 на hotbox.ru
Развитие индивида обусловлено развитием всех других индивидов,
с которыми он находится в прямом или косвенном общении.(с)
--- Я писать стихи не могу, по натуре я не Пушкин. Я по натуре Белинский.(с)
* Origin: Задавайте мне любые вопросы, я вам дам любые ответы. (2:6001/9.9)
SEEN-BY: 46/50 50/12 400/814 450/1024 5000/5000 5010/53 5011/13 5012/46
SEEN-BY: 5015/10 28 5019/31 5020/545 715 2871 4441 5021/29 5025/3 5027/16
SEEN-BY: 5030/115 5035/38 5036/34 5053/16 5054/1 8 9 18 37 45 63 67 81
SEEN-BY: 5060/900 5063/3 5069/7 5077/70 5080/1003 5085/13 5095/20 5096/18
SEEN-BY: 6000/12 254 6001/9 10
PATH: 6001/9 10 5020/545 5054/1 37