5

Я видел несколько тем о проблемах с неожиданными правами доступа к файлам после загрузки файла. Я попытался их решения без удачи, я должен поднять проблему на моем пути.

Я запускаю Nginx как nobody:nogroup на Debian 6. Я изменил корневую веб-папку /usr/share/nginx/html на nobody:nogroup . Теперь я использую WinSCP для загрузки файла на компьютер, но я использую учетную запись root . Если я создаю новый каталог или обновляю новый файл, владельцем будет root:root . Я новичок в мире Linux, в настоящее время я открываю оболочку для смены владельца wwwroot после того, как что-то загрузил на свой сервер.

Какова лучшая практика для загрузки файла от имени пользователя root, но никто не хранит файлы и каталоги nobody:nogroup? Должен ли я установить пароль для учетной записи никто и использовать эту учетную запись для загрузки файлов?

2 ответа2

4

Я не знаю ни одного автоматического решения для новых файлов. Хотя, если вы обнаружите, что вам нужно постоянно менять владельца, вы можете использовать различные функции WinSCP, чтобы упростить свою жизнь.

WinSCP позволяет менять владельца в графическом интерфейсе (хотя, если вы используете сервер OpenSSH, вы должны использовать числовой GID/UID).

Кроме того, вы можете выполнить команду chown из самого WinSCP, чтобы избежать открытия отдельного терминала оболочки. Вы даже можете настроить собственную команду chown nobody:nogroup . в WinSCP, чтобы ускорить это.

Вы даже можете назначить сочетание клавиш для команды, чтобы сделать это еще проще:

Для обновления файлов убедитесь, что вы отключили параметр передачи «Переместить во временное имя файла», так как при этом создается новый файл для каждой передачи (по умолчанию только для файлов размером более 100 КБ). Если этот параметр отключен, WinSCP обновляет только существующий файл, поэтому право собственности сохраняется.
https://winscp.net/eng/docs/resume#automatic
https://winscp.net/eng/docs/ui_pref_resume

4

Вы можете изменить группу загрузочной директории chgrp nogroup UPLOAD_DIR и установить для нее ID группы chmod g+s UPLOAD_DIR - файлы, созданные в этой директории, будут иметь групповую nogroup Вы можете установить права по умолчанию, используя umask 002 (возможно, при запуске сеанса WinSCP?) и все файлы будут иметь права rw для группы. Владелец все еще будет пользователем root, но процесс Nginx должен иметь возможность управлять файлами через членство в nogroup .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .