Назад | Перейти на главную страницу

Разрешения SFTP для пользователя www-data - Нужна помощь!

Я следовал этому руководству { http://john.parnefjord.se/node/62 } для установки другого пользователя (joeuser) в группу www-data, но демаскировка не устанавливается, несмотря на эти изменения. Папка в /var/www/example.com/ теперь принадлежит группе www-data, но только пользователь www-data может ее изменять. Я следил и повторно выполнял каждый шаг, упомянутый в этом руководстве.

Я раскомментировал оператор echo в следующем скрипте:

#!/bin/bash
#/bin/echo `/bin/date` > /tmp/sftp-test.txt
#/bin/echo 'Starting SFTP server from wrapper script to set correct umask...' >> /tmp/sftp-test.txt
umask 0002;
/usr/lib/openssh/sftp-server

Но ничего не отображается / не регистрируется. Думаю, это означает, что скрипт не запускается. Как теперь отследить, что происходит, когда joeuser входит в систему? На сервере работает Ubuntu 11.4.

Вы правы, это означает, что скрипт вообще не запускается, что означает, что umask не устанавливается, поэтому файл / папки не будут созданы с правильными разрешениями.

Это в системе Ubuntu?

Не могли бы вы опубликовать вывод ls -l /usr/lib/openssh/ и cat /etc/ssh/sshd_config | grep Subsystem

Обновить: Я действительно заставил это работать, переименовав sftp-server к sftp-server.orig а затем создать сценарий с именем sftp-server с этим в нем:

#!/bin/bash
umask 002
/usr/lib/openssh/sftp-server.orig

Обязательно chmod +x. Я также перезапустил ssh услуги, но в этом случае, вероятно, не было необходимости.

Тем не менее, я обнаружил, что в openssh 5.4 есть опция для установки sftp umask, поэтому в будущем может быть менее хакерский способ сделать это, но сервер Ubuntu Lucid, на котором я это пробовал, был версии 5.3.

Кроме того, я подключился с помощью ноутбука с Ubuntu Maverick с помощью клиента Nautilus sftp. Он будет создавать каталоги с правильной umask, но НЕ будет создавать файлы с правильной umask. Я подозреваю, что это проблема, связанная с тем, что клиент Nautilus принудительно использует маску umask для созданных файлов, и может работать правильно при использовании такого клиента, как filezilla или winscp. Обновить: Я только что проверил, что файлы, скопированные с помощью winscp, имеют правильные права доступа. Это прискорбно для клиента Nautilus sftp.

Вы также можете попробовать что-то вроде этого: http://en.positon.org/post/A-solution-to-the-umask-problem%3A-inotify-to-force-permissions