Почему apache все еще записывает файлы, на которые у него есть разрешения после того, как я исключаю его из группы, у которой есть разрешения, когда он работал
На сервере у меня есть файл с именем upload, и его состояние было следующим:
drwx--x--- 12 bob bob 4096 JUL 20 19:07 upload
Я использую этот файл в качестве файла назначения функции PHP move_uploaded_file
Второй аргумент для хранения загруженных файлов.
Поэтому, чтобы получить разрешение Apache на перемещение файлов из / tmp в мою загрузку, я добавляю apache в группу bob, поэтому у него есть разрешение. apache - пользователь, от имени которого работает apache.
Но если я исключаю apache из группового боба с помощью usermod, я все равно могу загружать файлы, что означает, что apache по- прежнему имеет разрешения, как и в группе, но, очевидно, это не так.
Загрузка файлов не удастся только тогда, когда я
chmod -R 700 upload
или всякий раз, когда я
service httpd restart
Я не знаю, где я пропустил это.
Мне кажется, usermod
будет применять изменения разрешений только после перезапуска apache.
Заранее спасибо за помощь.
1 ответ
Это ожидаемое поведение, команда usermod изменяет только файлы учетной записи.
Команда usermod изменяет файлы системной учетной записи, чтобы отразить изменения, указанные в командной строке.
При запуске процесс apache получит свои привилегии, основываясь на информации в соответствующих файлах учетной записи, и будет сохранять их до перезапуска.