친구가 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에 심볼릭 링크를 만드는 것뿐입니다.
내 친구가 나에게 준 사용자가 루트라고 말했습니다. 무엇이 문제일까요?
- sudo a2enmod가 만료되면 실행해야 합니까? (비밀번호를 묻는다)
- sudo su는 정확히 무엇을 합니까? 비밀번호를 제공하지 않고도 루트 액세스가 가능하다고 생각했나요?
- httpd.conf에서 "모듈 로드..."를 수행할 수 있었던 것을 기억합니다. 이것이 옵션이었습니까?
답변1
1.) 친구가 제공한 사용자에게는 a2enmod를 실행할 권한이 없는 것 같습니다. 그에게 당신을 sudoers에 추가해달라고 요청해야 합니다.
2.) sudo su를 실행하면 슈퍼유저 권한(루트)을 얻을 수 있습니다. 비밀번호가 있는지 여부는 sudoers에 비밀번호를 추가한 방법과 추가 여부에 따라 다릅니다. 다음 예를 고려하십시오.
root ALL=(ALL) NOPASSWD: ALL # No Password Needed
root ALL=(ALL) ALL #Password is needed
3.) 이제 모듈 로딩은 a2enmod를 사용하여 수행됩니다. 보다여기매뉴얼 페이지의 경우