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

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

На сервере у меня есть файл с названием загрузить и его состояние было следующим:

drwx--x--- 12 bob bob 4096 JUL 20 19:07 upload

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

Итак, чтобы получить apache это разрешение на перемещение файлов из / tmp к моему загрузить, Я добавить Apache к боб группа, поэтому у нее есть разрешение. Apache это пользователь, от имени которого работает apache.

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

Загрузка файлов не удастся, только если я

chmod -R 700 upload

или когда я

service httpd restart

Не знаю, где я в этом упустил.

Мне кажется, usermod применит изменения разрешений только после перезапуска apache.

Заранее спасибо за помощь.

Это ожидаемое поведение, usermod команда изменяет только файлы учетной записи

Команда usermod изменяет файлы системной учетной записи, чтобы отразить изменения, указанные в командной строке.

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