LINUX.ORG.RU
ФорумAdmin

OpenSSH и umask

 , ,


0

1

Нужно поменять дефолтный umask на 0002. Пишу в /etc/ssh/sshd_config

ForceCommand internal-sftp -u 0002
и нифига, залитые файлы всё равно создаются с 0644.

В чём логика?

Посмотри, не ставится ли umask у пользователя в .profile и .bashrc. Ещё, по логике, нужно в sshd_config

Subsystem internal-sftp

Я бы скорее смотрел на pam_umask и /etc/login.defs - более универсально.

selivan ★★★
()

Многие sftp клиенты не забывают копировать права соответствующими командами ;)

router ★★★★★
()

З.Ы. А у internal-sftp вообще какие-то опции есть? Оно ж, вроде, не отдельная программа, а что-то внутрях sshd.

selivan ★★★
()
Ответ на: комментарий от selivan

Я бы скорее смотрел на pam_umask и /etc/login.defs - более универсально

Нужно поменять дефолтный umask для конкретного пользователя или группы. Естественно, перед ForceCommand написано нечто вроде

Match User username

frozen_twilight ★★
() автор топика
Последнее исправление: frozen_twilight (всего исправлений: 1)
Ответ на: комментарий от selivan

internal-sftp - это по сути отсылка к дефолтному sftp-server бинарнику (/usr/lib/openssh/sftp-server). Если задавать какие-то другие значения через -u, то заметно, что как-то всё-таки оно действует.

frozen_twilight ★★
() автор топика
Ответ на: комментарий от frozen_twilight

Specifying a command of “internal-sftp” will force the use of an in-process sftp server that requires no support files when used with ChrootDirectory.

The command sftp-server(8) implements the “sftp” file transfer subsystem. Alternately the name “internal-sftp” implements an in-process “sftp” server.

Всё-таки “internal-sftp” и /usr/lib/openssh/sftp-server - разные вещи.

В в .profile и .bashrc ничего не нашлось? Значения -u, кроме 0002, действуют? Тогда совсем непонятно

selivan ★★★
()
Ответ на: комментарий от selivan

В в .profile и .bashrc ничего не нашлось?

Как это относится к SFTP?

Значения -u, кроме 0002, действуют?

В общем, после ряда экспериментов я пришёл к выводу, что итоговые права получаются из прав исходного файла на стороне клиента (и OpenSSH sftp клиент всё-таки передаёт их серверу) и наложенного на него umask. К сожалению, форсировать права по крайней мере в линуксовом порте OpenSSH, похоже, нет возможности.

frozen_twilight ★★
() автор топика
Ответ на: комментарий от frozen_twilight

Как это относится к SFTP?

Если забъёшь в .profile, например, screen - scp перестанет работать. То есть, для передачи данных оно использует шелл.

Форсировать права по крайней мере в линуксовом порте OpenSSH, похоже, нет возможности.

Можно сварганить велосипед из incron: появился новый файл - меняем права.

selivan ★★★
()
Ответ на: комментарий от router

Многие sftp клиенты не забывают копировать права соответствующими командами ;)

большинство. как вариант можно пропатчить бинарник sftp сервера и убрать обработку команды chmod, повесив на нее заглушку. а с пермишенами в линуксе нерешаемая беда. вот еще selinux может помочь.

prizident ★★★★★
()
Ответ на: комментарий от frozen_twilight

и наложенного на него umask

umask везде так работает. Биты в umask вычитаются из исходных прав.

Nao ★★★★★
()
Ответ на: комментарий от Nao

Nao - едиственный чел на весь ЛОР кто прочёл доку до того как постить хню :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.