У меня 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 / ПОЛЬЗОВАТЕЛЬ мог создавать новые файлы в этом каталоге.
Мне нужно от вас больше информации о том, что происходит, чтобы помочь гораздо больше.