dadv: (Default)
Choose your future ([personal profile] dadv) wrote2010-12-02 05:59 pm
Entry tags:

anoncvs

Памятка на будущее.

В последний раз настраивал anoncvs pserver десять лет назад. Сейчас вот понадобилось для разборок с драйвером igb(4) поднять read-only pserver к своему зеркалу FreeBSD CVS Repo в локалке для удобства - убил кучу времени и если бы не сообразил, в какое место старой инсталляции подглянуть - убил бы ещё больше.

  • В /etc/login.conf пишем (10 лет назад цифры были в 4 раза меньше и vmemoryuse вообще не было):
    anoncvs:\
            :datasize=64M:\
            :stacksize=32M:\
            :memoryuse=64M:\
            :vmemoryuse=128M:\
            :priority=15:\
            :umask=022:\
            :openfiles=1000:\
            :hushlogin@:\
            :cputime=5m:\
            :coredumpsize=0:\
            :maxproc=32:\
            :tc=default:
    Делаем cap_mkdb /etc/login.conf

  • При помощи vipw создаём пользователя anoncvs:
    anoncvs:*:105:105:anoncvs:0:0:Anonymous CVS Login:/nonexistent:/usr/sbin/nologin
    Добавляем в /etc/group группу
    anoncvs:*:105:
  • Кладём куда-нибудь исполняемый скрипт anoncvs, у меня он лежит в новосозданном каталоге /usr/local/adm/anoncvs:
    #!/bin/sh
    exec cvs --allow-root=/home/ncvs -R pserver
    В данном случае /home/ncvs - путь к репозиторию.

  • В /etc/inetd.conf раскомментируем или создаём строчку для сервиса cvspserver и приводим её к виду:
    cvspserver      stream  tcp     nowait/8/60     anoncvs/anoncvs /usr/local/adm/anoncvs/anoncvs  anoncvs
  • В /home/ncvs/CVSROOT создаём файл passwd и вписываем в него одну строчку:
    anoncvs::anoncvs
    cvspserver запускается не от рута, поэтому из master.passwd пароль прочитать он не сможет и без этого файла, как показывает проверка, он читает звездочку (*) из /etc/passwd и авторизация не проходит.

  • killall -1 inetd и можно уже делать cvs login

[identity profile] karpion.livejournal.com 2010-12-02 08:14 pm (UTC)(link)
При помощи vipw создаём пользователя anoncvs
Почему не pw?

[identity profile] dadv.livejournal.com 2010-12-03 04:35 am (UTC)(link)
Разве после pw не придется опять же вызывать vipw, чтобы прописать звезду в поле пароля?

man pw

[identity profile] karpion.livejournal.com 2010-12-03 12:19 pm (UTC)(link)
If a value of `-' is given as the argument fd, then the password will be set to `*', rendering the account inaccessible via password-based login.

В поиске помогает
man pw | grep -A 1 -B 1 '*'

Re: man pw

[identity profile] dadv.livejournal.com 2010-12-03 04:16 pm (UTC)(link)
Ну, или так. Не принципиально.