
友達がUbuntu 16を実行しているリモートサーバーであるApache 2でmod_expiresを有効にするのを手伝ってもらいました。彼は私にSSHキーへのアクセスを許可し、ターミナルを介してログインした後、次のことを実行しました。
sudo su <auser>
次に、次のコマンドを実行します。
a2enmod expires
しかし、エラーメッセージが表示されます。
Could not create /etc/apache2/mods-enabled/expires.load: Permission denied
私はa2enmodについて読んでいましたが、これはmods_avaialble/expires.loadでmods_enabledにシンボリックリンクを作成することです。
私の友人が私に与えたユーザーはrootだと言いました。何が問題なのでしょうか?
- sudo a2enmodが期限切れになったら実行する必要がありますか? (パスワードを求める)
- sudo suは正確に何をしますか?パスワードを提供せずにルートアクセスが可能だと思いましたか?
- 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 を使って行われます。よりここマニュアルページの場合