The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
sftp chroot centos 6.2, !*! chunk41, 13-Авг-12, 17:07  [смотреть все]
Здраствуйте форумчане!!!
Хочу сделать chroot окружение для юзера с sftp доступом.


Subsystem sftp internal-sftp
AllowGroups sftponly
UseDNS no

# Example of overriding settings on a per-user basis
Match Group sftponly
ChrootDirectory /var/www/production
        X11Forwarding no
    AllowTcpForwarding no
        ForceCommand internal-sftp
#    ForceCommand cvs server

При подключении выдает Write failed: Broken pipe  Couldn't read packet: Connection reset by peer

В /var/log/secure:
pam_unix(sshd:session): session opened for user builder by (uid=0)
fatal: safely_chroot: stat("/var/www/"): Permission denied
pam_unix(sshd:session): session closed for user
На папку /var/www/production смонтирован рейд на 22 Гб, и там же находится сайт
права -R apache:sftponly /var/www/production  -R 755 /var/...

  • sftp chroot centos 6.2, !*! beza2000, 10:37 , 14-Авг-12 (1)
    > На папку /var/www/production смонтирован рейд на 22 Гб, и там же находится
    > сайт
    > права -R apache:sftponly /var/www/production  -R 755 /var/...

    ChrootDirectory
    Specifies a path to chroot(2) to after authentication. This path, and all its components, must be root-owned directories that are not writable by any other user or group. After the chroot, sshd(8) changes the working directory to the user's home directory.

    Т.е. /var/www/production должен принадлежать root:root, а вот вложенные папки могут принадлежать кому-то другому.

    • sftp chroot centos 6.2, !*! chunk41, 18:54 , 14-Авг-12 (2)
      >> На папку /var/www/production смонтирован рейд на 22 Гб, и там же находится
      >> сайт
      >> права -R apache:sftponly /var/www/production  -R 755 /var/...
      > ChrootDirectory
      >  Specifies a path to chroot(2) to after authentication. This path, and
      > all its components, must be root-owned directories that are not writable
      > by any other user or group. After the chroot, sshd(8) changes
      > the working directory to the user's home directory.
      > Т.е. /var/www/production должен принадлежать root:root, а вот вложенные папки могут принадлежать
      > кому-то другому.

      Присвоил root, ошибка осталась.Без chrootdirectory в sshd_config заходит в нужную папку без проблем,но можно по всем каталогам лазить.Как только добавляешь chrootdirectory,выдает ошибки описаные выше.Причем пробовал сделать chroot на любую папку в /var/www/ - ничего не получилось,выдает ошибку.Уже не знаю куда копать...Если просто создать user c домашней директорией /home/user-все работает,пробовал.


      • sftp chroot centos 6.2, !*! beza2000, 10:42 , 15-Авг-12 (3)
        > Присвоил root, ошибка осталась.Без chrootdirectory в sshd_config заходит в нужную папку
        > без проблем,но можно по всем каталогам лазить.Как только добавляешь chrootdirectory,выдает
        > ошибки описаные выше.Причем пробовал сделать chroot на любую папку в /var/www/
        > - ничего не получилось,выдает ошибку.Уже не знаю куда копать...Если просто создать
        > user c домашней директорией /home/user-все работает,пробовал.

        Привожу примерны у себя в системе. Доступ к chroot-окружению у меня по группе.

        useradd -c 'Comment' -g sftp -s /sbin/nologin -K UMASK=0022 user
        mkdir -p /home/user/home/user
        chown root:root /home/user
        chown -R user:sftp /home/user/home
        chmod -R g+rw /home/user/home

        Надо смотреть как записан пользователь в /etc/passwd - какой у него домашний каталог?
        И при всех изменениях смотреть лог - что в нем меняется.


        • sftp chroot centos 6.2, !*! chunk41, 12:39 , 15-Авг-12 (4)
          Вообщем смотри:
          сайт находится в /var/www/production
          права chmod -R 755 /var/www/production (на все внутри папки)
          владелец  chown -R apache:sftponly /var/www/production  (чтоб apache имел полный доступ на папку)
          в /var/www/production/printatet/data/projects я смонтировал 22 ТБ на папку projects
          потом в папке projects я создал папку sftp и владельцем папки сделал
          chown root:sftponly /var/www/productions/printatet/data/projects/sftp
          chmod 755 /var/www/production/printatet/data/projects/sftp
          И вот именно на папку sftp(/var/www/production/printatet/data/projects/sftp) мне нужно сделать chroot.Но вот уже 3 день не могу.  Пробовал сделать через lshell,тоже не пускает
          • sftp chroot centos 6.2, !*! beza2000, 13:40 , 15-Авг-12 (5)
            >[оверквотинг удален]
            > права chmod -R 755 /var/www/production (на все внутри папки)
            > владелец  chown -R apache:sftponly /var/www/production  (чтоб apache имел полный доступ
            > на папку)
            > в /var/www/production/printatet/data/projects я смонтировал 22 ТБ на папку projects
            > потом в папке projects я создал папку sftp и владельцем папки сделал
            > chown root:sftponly /var/www/productions/printatet/data/projects/sftp
            > chmod 755 /var/www/production/printatet/data/projects/sftp
            > И вот именно на папку sftp(/var/www/production/printatet/data/projects/sftp) мне нужно
            > сделать chroot.Но вот уже 3 день не могу.  Пробовал сделать
            > через lshell,тоже не пускает

            Какого пользователя не пускает?  builder ? Тогда что показывает
            grep  builder /etc/passwd ?
            SELinux включен/выключен? Для отладки лучше выключить.
            И еще - кажется с такими каталогами не получится - возможно ошибаюсь, но когда "копался" с chroot, вроде попадалось указание о принадлежности root:root папки корневой папки (/var/www/production).
            А нельзя сделать более проше - примонтировать в другой каталог, а из /var/www/production  ссылаться по ссылке или примонтировать получившуюся папку в /var/www/production/printatet/data/projects (mount --bind olddir newdir)

            • sftp chroot centos 6.2, !*! chunk41, 14:02 , 15-Авг-12 (6)
              >[оверквотинг удален]
              >> через lshell,тоже не пускает
              > Какого пользователя не пускает?  builder ? Тогда что показывает
              > grep  builder /etc/passwd ?
              > SELinux включен/выключен? Для отладки лучше выключить.
              > И еще - кажется с такими каталогами не получится - возможно ошибаюсь,
              > но когда "копался" с chroot, вроде попадалось указание о принадлежности root:root
              > папки корневой папки (/var/www/production).
              > А нельзя сделать более проше - примонтировать в другой каталог, а из
              > /var/www/production  ссылаться по ссылке или примонтировать получившуюся папку в /var/www/production/printatet/data/projects
              > (mount --bind olddir newdir)

              сделал umount --bind   та же самая фигня и та же ошибка

              • sftp chroot centos 6.2, !*! chunk41, 14:16 , 15-Авг-12 (7)
                получилось,но!!!!
                отключил selinux
                сделал права на chown -R root:apache /var/www/production
                добавил builder в группу apache и получилось так как мне надо(и сайт нормально работает и sftp chroot доступ)
                ,но при echo 1 > /selinux/enforce  появилась та же самая ошибка
                grep  builder /etc/passwd     builder:x:505:505::/var/www/production/printatet/data/projects/test_sftp:/bin/bash
                • sftp chroot centos 6.2, !*! beza2000, 14:57 , 15-Авг-12 (8)
                  > получилось,но!!!!
                  > отключил selinux
                  > сделал права на chown -R root:apache /var/www/production
                  > добавил builder в группу apache и получилось так как мне надо(и сайт
                  > нормально работает и sftp chroot доступ)
                  > ,но при echo 1 > /selinux/enforce  появилась та же самая ошибка
                  > grep  builder /etc/passwd     builder:x:505:505::/var/www/production/printatet/data/projects/test_sftp:/bin/bash

                  Если selinux важен, но надо изучать.
                  Тут не готов подсказать, т.к. практики не имел.  

                  • sftp chroot centos 6.2, !*! chunk41, 15:15 , 15-Авг-12 (9)
                    я понял!!!Спасибо за помощь!!!!!
                    • sftp chroot centos 6.2, !*! beza2000, 15:20 , 15-Авг-12 (10)
                      > я понял!!!Спасибо за помощь!!!!!

                      Возможно, хватит такой команды
                      /usr/sbin/setsebool ssh_chroot_rw_homedirs 1
                      Если нет, то значит всё сложнее - ошибки смотреть в  /var/log/audit/audit.log

                      • sftp chroot centos 6.2, !*! chunk41, 15:22 , 15-Авг-12 (11)
                        >> я понял!!!Спасибо за помощь!!!!!
                        > Возможно, хватит такой команды
                        > /usr/sbin/setsebool ssh_chroot_rw_homedirs 1
                        > Если нет, то значит всё сложнее - ошибки смотреть в  /var/log/audit/audit.log

                        /usr/sbin/setsebool ssh_chroot_rw_homedirs 1  уже было сделано

                        grep sshd_t /var/log/audit/audit.log | audit2allow -m sftpchrootlocal >
                        sftpchrootlocal.te     в эту сторону буду копать


                      • sftp chroot centos 6.2, !*! beza2000, 15:27 , 15-Авг-12 (12)
                        >> я понял!!!Спасибо за помощь!!!!!
                        > Возможно, хватит такой команды
                        > /usr/sbin/setsebool ssh_chroot_rw_homedirs 1
                        > Если нет, то значит всё сложнее - ошибки смотреть в  /var/log/audit/audit.log

                        Вернее - с флагом -P
                        /usr/sbin/setsebool -P ssh_chroot_rw_homedirs 1
                        Но на самом деле может быть еще сложнее, т.к. вероятно надо будет учитывать SELinux контекст файлов, которые будут сбрасываться по ssh...




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру