Dizzy (dzz) wrote,
Dizzy
dzz

  • Mood:
  • Music:

CVS - теперь банановый (chrooted)

Заставил-таки CVS работать через SSH в chrooted environment-е.

Решение для OpenSSH нашлось в виде забавного хака:
#ifdef CHROOT
                user_dir = xstrdup(pw->pw_dir);
                new_root = user_dir + 1;

                while((new_root = strchr(new_root, '.')) != NULL) {
                        new_root--;
                        if(strncmp(new_root, "/./", 3) == 0) {
                                *new_root = '\0';
                                new_root += 2;

                                if(chroot(user_dir) != 0)
                                        fatal("Couldn't chroot to user directory %s", user_dir);

                                pw->pw_dir = new_root;
                                break;
                        }
                        new_root += 2;
                }
#endif /* CHROOT */


Работает это так - если homedir юзера указан в виде "/data/chrooted/./home/vasya", то sshd выполняет chroot("/data/chrooted"), а уже там homedir-ом считает /home/vasya
Subscribe

  • Work.Дыбр

    Понял, чего мне не хватает в существующих mind mapper-ах. Календарной сетки с возможностью привязывать к ней узлы графа. Чтобы "думать план" ;))) В…

  • Суммарная стоимость кода дебиана

    « Как подсчитал разработчик Linux Джеймс Промбергер, за последние 9 лет стоимость разработки Debian выросла в 10 раз и достигла $19 млрд. ...…

  • Ставим redmine на солярку

    Решил накатить на спарковский Солярис 10 пару пакетов (конкретно - ruby с рельсами и imagemagick) из http://www.opencsw.org через их pkg-get.…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments