참고 : Linux 인스턴스용 사용 설명서 - 자습서: Amazon LinuxLAMP 웹 서버 설치
참고2 : AWS에 LAMP 설치 방법 (lhh3520)
문제 : Amazon EC2 자습서에서 파일 권한 설정 후, "
Permission denied
" 오류가 난다.
해결 : 파일 권한 설정을 확인한다.
일반적으로 권한 문제는 명령어 앞에 'sudo' 를 추가하면 해결할 수 있다.
하지만, 여기서는 위 링크의 사용 설명서 절차 수행 중에 발생한 오류를 해결하려고 한다. (매번 sudo 치는게 귀찮기도 하고.. 이참에 공부..)
위 링크에서는 'www' 그룹을 추가하고 현재 사용자인 'ec2-user'에게 '/var/www' 폴더의 퍼미션을 주는 과정을 설명한다.
원인이 되는 요인을 하나씩 확인해보고 고쳐보도록 하겠다.
1. 'www' 그룹이 추가되어있는가?
'www' 그룹을 확인하기 위하여 아래 명령어를 수행한다.
1 2 | [ec2-user ~]$ groups ec2-user wheel www | cs |
위와 같이 나오면 성공.
안나오면 아래의 명령어 입력하여,
'www' 그룹을 생성하고, 'ec2-user' 사용자를 'www' 그룹에 추가한다.
1 2 | [ec2-user ~]$ sudo groupadd www [ec2-user ~]$ sudo usermod -a -G www ec2-user | cs |
2. 'www' 그룹에 사용자가 추가되어있는가?
다음 명령어로 그룹 정보가 들어있는 '/etc/group' 파일에서 그룹명인 'www' 단어를 검색한다.
1 2 | [ec2-user ~]$ cat /etc/group | grep www www:x:1001:ec2-user | cs |
위와 같이 'www' 그룹내에 'ec2-user'가 속해있는것을 확인한다.
- [참고] /etc/group 파일 구조
만약, 확인되지 않을 경우 아래 명령어를 수행한다.
1 2 3 4 | [ec2-user ~]$ sudo usermod -a -G www ec2-user [ec2-user ~]$ exit [ec2-user ~]$ groups ec2-user www | cs |
'ec2-user'계정을 'www'그룹에 추가하고, 콘솔 종료 후 재로그인한다.
그리고, groups 명령어로 현재 사용자가 속한 그룹을 확인한다.
3. 'www'그룹에 권한이 제대로 설정되어있는가?
1 2 | [ec2-user ~]$ sudo ls -al /var/www drwxrwsr-x. 4 root www 31 Dec 23 01:44 www | - cs |
- [참고] 'ls -al' 명령어에 대한 파일 및 디렉토리 정보
파일 및 디렉토리 조회 정보
Type
기본 (파일)(-), 디렉토리(d)를 의미함. ( 여기선 일반적이지 않은 타입은 생략.. )
Access Modes
해당 항목에 대한 소유자, 소유그룹, 그 외 유저에게 할당된 쓰기 Read (r), 읽기 Write (w), 혹은 실행하기 eXecute (x)에 대한 권한을 설명한다.
(아래 링크에 자세히 설명하였다.)
- [참고] 파일 및 디렉터리의 소유권과 허가권 (Access Modes)
- [참고] 파일 및 디렉터리의 권한 변경하기
- [참고] 파일 및 디렉터리의 소유자 변경하기
1 2 3 4 | [ec2-user ~]$ sudo chown -R root:www /var/www [ec2-user ~]$ sudo chmod 2775 /var/www [ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} + [ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} + | cs |
1 | [ec2-user ~]$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php | cs |
Permission denied
" 에러가 발생한다면...... '컴퓨터 > Linux' 카테고리의 다른 글
[Linux] 스크립트 실행 시, 'No such file or directory' 오류 (0) | 2017.02.09 |
---|---|
[Linux] CentOS 네트워크 연결 설정하기 (4) | 2016.12.23 |
[Linux] 파일 및 디렉토리의 소유자/소유그룹 변경 (0) | 2016.01.05 |
[Linux] 파일 및 디렉터리의 권한 변경하기 (0) | 2016.01.05 |
[Linux] 파일 및 디렉토리 소유 권한 (0) | 2016.01.05 |