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

  • Cinema.Дыбр

    Интересно, почему в фильмах вроде "Времени первых" или "Салюта-7" сценаристы нагнетают драматизма в сюжет за счёт придуманных или додуманных событий,…

  • Джон Коннери

    Подумал было, что если какому-то режиссёру придёт в голову безумная идея собрать в одном фильме всех Джеймсов Бондов, то теперь не получится. А потом…

  • Синематографическое

    1. Сходил с детьми на "Ивана Царевича и Серого Волка 4", В целом, довольно мило, хотя с каждой серией фильм становится всё меньше для детей и всё…

  • 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