Как работать с разрешениями файлов Unix в Stack Overflow

Я думаю, что я мог бы упустить основную концепцию здесь. Я работаю над системой, где пользователи могут загружать и скачивать файлы. Пользователи работают в группах, то есть вы загружаете файл в группу пользователей. Если они решат сделать файл закрытым, ссылку на файл получат только члены группы пользователей — все остальные могут просто увидеть, что файл существует, но не получат ссылку. Пока все хорошо — но если у меня есть доступ, я могу просто скопировать ссылку и отправить ее вам, и у вас все еще будет доступ, поэтому я думаю, мне следует запретить доступ к файлу непосредственно в файловой системе.
Эти пользователи и группы пользователей просто созданы в обычном php и сохранены в базе данных mysql. БД содержит ссылки на файлы, но не сами файлы — они находятся на диске, поскольку иногда они могут быть довольно большими.

Итак, я посмотрел права доступа к файлам UNIX в PHP, и я вижу, что могу использовать chmod () для установки разрешений для владельца, группы владельцев и других — я также вижу, как изменить владельца файла с помощью chown (), и группа владельцев с помощью chgrp (). — Я также получаю, как извлечь текущего владельца файла и группу пользователей. Но я не вижу способа сообщить файловой системе, каким пользователем я являюсь, и я чувствую, что могу думать об этих командах неправильно. Если эти команды действительно сделаны для этого, должна быть функция set_current_user или что-то подобное, чтобы изменить состояние сеанса для системы UNIX, чтобы он знал, есть ли у меня доступ к нему. Я не могу найти такой метод, хотя, и что я, почему я волнуюсь. Так или иначе, есть только один глобальный пользователь для доступа к PHP, который не может быть указан для каждого конечного пользователя.

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

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

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]