Я использую Ubuntu Linux на своем VPS, и я настроил VSFTP, чтобы легко управлять FTP-доступом для пользователя только для данной папки. Эта папка находится в /var/www/html/
Пользователь в системе позвонил account
(в качестве примера), может войти в систему через FTP, посмотреть каталог, установленный для него по умолчанию как «домашний», и куда он привязан. Однако любая транзакция с файлом завершится ошибкой (действия записи) из-за разрешений.
Я проверил папку, и оказалось, что www-data:www-data
владеет им. Так я и сделал: sudo usermod -a -G www-data account
чтобы добавить учетную запись в группу пользователей и таким образом получить доступ к тем же разрешениям. Я также попытался установить учетную запись в качестве владельца каталога, который мне нужен
root@serverhost:/var/www/html/gpx/_SERVERS/accounts/accountname# ls -li
total 4
3253350 drwxrwxrwx 7 www-data account 4096 Oct 12 15:07 Folder.I.Want.Acc.To.write.in
root@serverhost:/var/www/html/gpx/_SERVERS/accounts/accountname#
Как видите, и разрешения, и право собственности должны указывать на то, что пользователь «учетной записи» должен иметь возможность писать и вносить изменения в нее. Но через FTP в разрешении отказано 550 ошибка прибывает. Есть идеи, что делать?
Проблема должна быть связана с FTP, поскольку я просто смог создать новый каталог в папке, которую я хотел, через терминал SSH.
Благодаря @MarkoPolo я смог узнать, как это исправить.
Эта ссылка описал, как предоставить другим пользователям разрешение на запись в папки, принадлежащие www-data. Оно работало завораживающе
Просто имейте в виду, что вы можете захотеть изменить значения chmod по умолчанию для загруженных файлов пользователем. По умолчанию они были 022, и вы, вероятно, захотите 655 или даже 755/775 - изменив значение umask и значение режима открытия файла соответственно в файле конфигурации VSFTP.