在服务器上,我有一个名为上传其状态如下:
drwx--x--- 12 bob bob 4096 JUL 20 19:07 upload
我使用此文件作为PHP函数move_uploaded_file
的第二个参数用于存储上传的文件。
因此,为了获得 Apache 移动文件的权限/tmp致我的上传, 我加阿帕奇到鲍勃组,所以它有权限。阿帕奇是运行 apache 的用户。
但如果我排除阿帕奇来自小组鲍勃使用用户模式,我仍然可以上传文件,这意味着阿帕奇仍然具有权限,就像它仍然在组中一样,但显然不是。
仅当我
chmod -R 700 upload
或者每当我
service httpd restart
我不知道我错过了什么。
在我看来,usermod
只有重新启动 apache 后才会应用权限更改。
提前谢谢你的帮助。
答案1
这是预期的行为,用户模式命令仅更改账户文件
usermod 命令修改系统帐户文件以反映命令行上指定的更改。
apache 进程在启动时会根据相关账户文件中的信息被授予权限,并会保留这些权限直到重新启动。