Как сделать разграничение прав пользователей на файл наподобие themeforest?
Такой подход неправильный.
Права у пользователей сайта всегда будут наследоваться от того пользователя, от чьего имени запущен веб сервер, и мешать сюда локальных линукс пользователей - критически неверно.
Даже если сделать костыль, типа запускать веб-сервер от ROOT (чревато взломами и переломами), и создавать каждый раз локального пользователя - такой сайт ни на один хостинг вы не сможете вынести, поскольку рутовые права там просто не дадут и пользовтаелей создавать будет невозможно.
Ограничивайте права доступа к файлу через ваш сайт, генерируйте одноразовые ссылки, создайте таблицу с файл/владелец и проверяйте по ней.
может, средствами веб-сервера сделать авторизацию (по сессионной куке) для доступа к папке? без заведения миллиона юзеров в системе.