The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"sftp chroot centos 6.2"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Оптимизация и Промышленные системы (Хранилища данных)
Изначальное сообщение [ Отслеживать ]

"sftp chroot centos 6.2"  +/
Сообщение от chunk41 email(ok) on 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/...

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "sftp chroot centos 6.2"  +/
Сообщение от beza2000 on 14-Авг-12, 10:37 
> На папку /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, а вот вложенные папки могут принадлежать кому-то другому.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "sftp chroot centos 6.2"  +/
Сообщение от chunk41 email(ok) on 14-Авг-12, 18:54 
>> На папку /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-все работает,пробовал.


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "sftp chroot centos 6.2"  +/
Сообщение от beza2000 on 15-Авг-12, 10:42 
> Присвоил 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 - какой у него домашний каталог?
И при всех изменениях смотреть лог - что в нем меняется.


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "sftp chroot centos 6.2"  +/
Сообщение от chunk41 email(ok) on 15-Авг-12, 12:39 
Вообщем смотри:
сайт находится в /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,тоже не пускает
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "sftp chroot centos 6.2"  +/
Сообщение от beza2000 on 15-Авг-12, 13:40 
>[оверквотинг удален]
> права 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)

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "sftp chroot centos 6.2"  +/
Сообщение от chunk41 email(ok) on 15-Авг-12, 14:02 
>[оверквотинг удален]
>> через 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   та же самая фигня и та же ошибка

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "sftp chroot centos 6.2"  +/
Сообщение от chunk41 email(ok) on 15-Авг-12, 14:16 
получилось,но!!!!
отключил 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
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "sftp chroot centos 6.2"  +/
Сообщение от beza2000 on 15-Авг-12, 14:57 
> получилось,но!!!!
> отключил 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 важен, но надо изучать.
Тут не готов подсказать, т.к. практики не имел.  

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "sftp chroot centos 6.2"  +/
Сообщение от chunk41 email(ok) on 15-Авг-12, 15:15 
я понял!!!Спасибо за помощь!!!!!
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "sftp chroot centos 6.2"  +/
Сообщение от beza2000 on 15-Авг-12, 15:20 
> я понял!!!Спасибо за помощь!!!!!

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

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "sftp chroot centos 6.2"  +/
Сообщение от chunk41 email(ok) on 15-Авг-12, 15:22 
>> я понял!!!Спасибо за помощь!!!!!
> Возможно, хватит такой команды
> /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     в эту сторону буду копать


Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "sftp chroot centos 6.2"  +/
Сообщение от beza2000 on 15-Авг-12, 15:27 
>> я понял!!!Спасибо за помощь!!!!!
> Возможно, хватит такой команды
> /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...

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

13. "sftp chroot centos 6.2"  +/
Сообщение от chunk41 email(ok) on 15-Авг-12, 15:35 
>>> я понял!!!Спасибо за помощь!!!!!
>> Возможно, хватит такой команды
>> /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...

/usr/sbin/setsebool -P ssh_chroot_rw_homedirs 1  именно так и делал.
Вот еще ссылка    http://consolekit.com/howto/enable-selinux-permission-for-sf...

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "sftp chroot centos 6.2"  +/
Сообщение от chunk41 email(ok) on 15-Авг-12, 19:38 
Вот как решил проблему:
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6...


Спасибо еще раз за помощь!!!

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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