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

Как сделать пользователя владельцем новых файлов

У меня VPS с CentOS 5.4.

Это рабочий сервер.

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

Есть ли способ, которым когда-либо скрипт записывает файл, владелец домашнего каталога должен владеть всеми файлами

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

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

Если пользователь HTTP-сервера по умолчанию создает файлы с разрешениями группы на запись, то все файлы, записанные в каталоги в соответствующей группе пользователей и с установленным битом setgit, будут полностью доступны для пользователей в этой группе.

Установка бита setgid на directoryname установка правильного владения группой:

chmod g+s directoryname
chown :groupname directoryname

Если разрешение на групповую запись не установлено по умолчанию, вам необходимо установить umask пользователя HTTP-сервера.

Проблема в том, что интерпретатор сценария работает в том же пользовательском контексте, что и ваш веб-сервер (Apache httpd?). Любые файлы, созданные сценариями, принадлежат пользователю, под которым работает ваш веб-сервер.

Для Apache httpd есть возможность использовать SuExec или SuPHP для запуска сценариев CGI в контексте другого пользователя (обычно владельца сценария).

если ты бежишь ls -ln nameoffile вы можете получить числовой UID и GID процесса / пользователя, записывающего файлы.

тогда вы можете использовать это, чтобы сделать что-то вроде chown UID.GID /path/to/where/files/are/ для смены владельца каталога, в который записываются файлы, пользователю, которому необходимо получить к ним доступ. тогда ты должен сделать chmod 755 /path/to/where/files/are/ чтобы изменить права доступа к каталогу, чтобы / only / ПОЛЬЗОВАТЕЛЬ мог создавать новые файлы в этом каталоге.

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