启用 mod_expires 时的权限问题

启用 mod_expires 时的权限问题

一位朋友请求我帮助在 Apache 2 中启用 mod_expires,这是一个运行 Ubuntu 16 的远程服务器。他给了我 ssh 密钥的访问权限,通过 terminar 登录后我运行:

sudo su <auser>

然后我运行命令:

a2enmod expires

但我收到一条错误消息:

Could not create /etc/apache2/mods-enabled/expires.load: Permission denied

我一直在阅读有关 a2enmod 的内容,它所做的只是从 mods_avaialble/expires.load 在 mods_enabled 中创建符号链接

我的朋友告诉我他给我的用户是 root。可能是什么问题?

  1. 我需要运行 sudo a2enmod expires 吗? (它要求密码)
  2. sudo su 到底做了什么?我以为它可以让你获得 root 访问权限而无需提供密码?
  3. 我记得以前你可以在 httpd.conf 中执行“加载模块...”,这是一个选项吗?

答案1

1.) 看来您的朋友为您提供的用户没有执行 a2enmod 的权限。你应该让他将你添加到 sudoers 中。

2.) 运行 sudo su 将允许您获得超级用户权限(root)。有密码或没有密码实际上取决于您如何添加到 sudoers 以及是否已添加。参考这个例子:

root            ALL=(ALL) NOPASSWD: ALL # No Password Needed
root            ALL=(ALL) ALL #Password is needed

3.) 现在加载模块是使用a2enmod 完成的。请参阅这里对于手册页

相关内容