Страница 1 из 1

umask for SFTP/scp

Добавлено: 2009-06-01 18:12:35
proxy-man
Хай камрадам!
Возник один момент, а в плане "одмининга" уже многое забыл и решил задать свой вопрос "бородатым админам" ;)
Итак, необходимо переносить файлы с одного хоста на другой при помощи SFTP/scp утилит (входят в пакет ssh) и при этом, необходимо, чтобы на целевом хосте (куда переносим) файлы создавались с правом "чтение для всех" (ну и понятно, что owner and group тоже должны читать файлы). Как забороть этот момент при условии, что на "уровне ОС" ничего менять нельзя (т.е. /etc/login or /etc/default/login - править нельзя)?
Изменения профиля юзера (~/.profile) и настройка профайла для интерактивного shell-a (~/.bashrc or ~/.kshrc) - не "фиксят" проблему для необходимого юзера. В сети есть такие варианты решения - http://www.larrykagan.com/blog/view/SFTP-umask - но к сожалению, это тоже плохой вариант для моего случая (нельзя что-то либо изменять на "уровне ОС" и параметры sshd - тоже) ибо необходимо "подправить" что-то для юзера, который "задействован" для переноса файлов при помощи SFTP/scp.
Какие есть соображения?
ЗЫ: заранее благодарен за советы :)
FreeBSD - forever :)

Re: umask for SFTP/scp

Добавлено: 2009-06-02 10:27:25
ViktorichZ
не ковыряясь сделать
ssh user@host chmod -R +r ~/
чёнить типа того не получится?

Re: umask for SFTP/scp

Добавлено: 2009-06-02 10:50:33
proxy-man
ViktorichZ писал(а):не ковыряясь сделать
ssh user@host chmod -R +r ~/
чёнить типа того не получится?
Никак, нет. Не получится. Есть один момент - файл передает некий удаленный хост, вернее на удаленном хосте отрабатывает скрипт. Его менять нельзя (короче.. это просто старая система и нифига менять нельзя.. можно изменить что-то на моей, "принимающей" стороне).

Re: umask for SFTP/scp

Добавлено: 2009-06-02 11:33:32
ViktorichZ
proxy-man писал(а):
ViktorichZ писал(а):не ковыряясь сделать
ssh user@host chmod -R +r ~/
чёнить типа того не получится?
Никак, нет. Не получится. Есть один момент - файл передает некий удаленный хост, вернее на удаленном хосте отрабатывает скрипт. Его менять нельзя (короче.. это просто старая система и нифига менять нельзя.. можно изменить что-то на моей, "принимающей" стороне).
на "принимающей стороне" вы каким образом находитесь ?
chmod -R +r ~/
если вы на принимающую заходите по sftp то по всей видимости и по ssh попадёте без проблем.

Re: umask for SFTP/scp

Добавлено: 2009-06-02 11:40:21
proxy-man
ViktorichZ писал(а):
proxy-man писал(а):
ViktorichZ писал(а):не ковыряясь сделать
ssh user@host chmod -R +r ~/
чёнить типа того не получится?
Никак, нет. Не получится. Есть один момент - файл передает некий удаленный хост, вернее на удаленном хосте отрабатывает скрипт. Его менять нельзя (короче.. это просто старая система и нифига менять нельзя.. можно изменить что-то на моей, "принимающей" стороне).
на "принимающей стороне" вы каким образом находитесь ?
chmod -R +r ~/
если вы на принимающую заходите по sftp то по всей видимости и по ssh попадёте без проблем.
На принимающей стороне, мы находимся в качестве другого скрипта, который должен прочитать поступивший файл. Скрипт запускает иной юзер, не тот, который применяется для sftp/scp трансфера. А это значит, что что он HE сможет выполнить что-то типа:

Код: Выделить всё

chmod o=r ~/My_file_blah
SFTP-юзер имеет ограниченный shell и выглядит это так:

Код: Выделить всё

getent passwd|grep usersftp
usersftp:x:125:651:usersftp,App,NAR xxxx:/export/chroot/home/usersftp:/usr/bin/rssh
И вот еще какой момент - umask может добавлять перемишены или только отнимает их? ... почитал man umask и что-то непонятное...

Re: umask for SFTP/scp

Добавлено: 2009-06-02 12:42:42
ViktorichZ
мда... как у вас всё запутанно....
scp - этот тотже ssh. Вы зайдя по ssh не можете сделать chmod ??
зайдите куданить по ssh и посмотрите...
$ umask
0022
$ umask 027
$ umask
0027
$ umask 020
$ umask
0020

Re: umask for SFTP/scp

Добавлено: 2009-06-02 13:17:36
proxy-man
ViktorichZ писал(а):мда... как у вас всё запутанно....
scp - этот тотже ssh. Вы зайдя по ssh не можете сделать chmod ??
зайдите куданить по ssh и посмотрите...
$ umask
0022
$ umask 027
$ umask
0027
$ umask 020
$ umask
0020
Крайне все запутанно.. сам плююсь... Система очень старая и ее нужно поддерживать. Ряд удаленных хостов пересылают файлы при помощи scp/sftp, "коннектятся" эти удаленные системы, используя специального юзера (с ограничениями). Затем, эти файлы (это как правило CSV-файлы) "процессятся" рядом скриптов, а эти скрипты должны запускаться какими-то другими юзерами и эти юзеры должны читать (только) "входящие файлы". После обработки файлов, генерируются другие файлы и точно так же шлются на какие-то "внешние системы". Но самая главная беда - ничего менять нельзя (глобально) ибо для каждой системы есть набор security policies.

Re: umask for SFTP/scp

Добавлено: 2009-06-02 13:57:45
ViktorichZ
обратитесь к тому, кому принадлежит эта железка, и попросите сделать вам umask 022 , не вариант?

Re: umask for SFTP/scp

Добавлено: 2009-06-02 14:53:14
proxy-man
ViktorichZ писал(а):обратитесь к тому, кому принадлежит эта железка, и попросите сделать вам umask 022 , не вариант?
уже обратились.. что-то должны решить.. просто контора "монструозная", какие-либо вопросы решаются несколько дней\недуль - банк все-таки.. :(