폴더 접근 권한 오류 수정

Windows, Cygwin 또는 기타 다양한 유닉스-윈도우 혼합 운영 체제에서 Linux 서브시스템을 사용하는 경우 "현재 이 폴더에 접근할 권한이 없습니다."라는 오류 메시지가 나타날 수 있습니다. 순수 Linux 또는 유닉스 환경에서는 "디렉터리를 열 수 없습니다: 권한이 거부되었습니다."와 같은 오류 메시지가 표시될 수 있습니다. 운영 체제와 관계없이 POSIX 호환 파일 시스템을 사용하는 네트워크 드라이브에서도 동일한 문제가 발생할 수 있습니다.

현재 이 폴더에 접근할 권한이 없습니다.

이 문제의 원인은 모든 경우에 동일합니다. 접근이 제한되도록 설정된 디렉터리에 올바른 권한이 없는 계정으로 접근하려고 하기 때문입니다. 다른 계정으로 로그인하거나 폴더 권한을 변경하면 간단하게 해결할 수 있습니다.

방법 1: 디렉터리에 접근할 수 있는 계정 변경

접근하려던 폴더에 다시 접근해 보세요. 명령 프롬프트에서 `cd` 명령어를 사용하여 해당 폴더로 이동하려고 하면 `bash: cd :Permission denied`와 같은 오류 메시지가 나타날 것입니다.

명령 프롬프트 권한 오류그래픽 환경에서 해당 디렉토리에 접근하려고 해도 비슷한 오류가 발생합니다.

그래픽 가이드 권한 오류

이 경우, 우리는 대부분의 Linux 시스템에서 루트 사용자만 접근할 수 있는 `/lost+found` 디렉토리에 접근하려고 했습니다. 터미널로 돌아가서 `sudo -i`를 입력하고 Enter 키를 누르세요. 암호를 입력하라는 메시지가 나타나지만, 암호를 입력하면 루트 로그인 셸에 접속할 수 있습니다. `cd` 명령어를 사용하여 해당 디렉토리로 이동하고 내용을 살펴볼 수 있지만, 루트 셸에서 작업하고 있으므로 시스템에 심각한 손상을 줄 수 있다는 점에 유의하세요.

평소 사용하는 계정을 유지하려면 `sudo -i` 명령어를 실행하지 않고도 `sudo ls /lost+found` 명령어를 사용하여 해당 디렉터리의 내용을 확인할 수 있습니다. `/lost+found` 대신 `/root` 디렉터리를 포함한 원하는 디렉터리 이름을 입력할 수 있습니다. 하지만 명령어 앞에 `sudo`를 붙이더라도 거의 모든 파일을 삭제할 수 있다는 점을 기억하세요.

방법 2: 폴더의 기본 권한 변경

첫 번째 방법은 매우 간단하며 시스템 유지 관리 또는 유사한 목적으로 단순히 확인하려는 모든 폴더에 적용할 수 있습니다. 그러나 서버나 네트워크에 있는 일반 사용자도 폴더에 접근할 수 있도록 허용하려면 다른 옵션을 고려해 보는 것이 좋습니다.

`sudo chmod -R 755 /path/to/folder` 명령어를 실행하세요. 여기서 `path`는 접근 권한을 부여하려는 디렉토리의 실제 경로로 바꿔야 합니다. 작업이 완료되면 일반 사용자 계정으로 해당 디렉토리에 접근해 보세요. 이 방법은 위에서 설명한 방법보다 약간 더 복잡하지만, 처음 시도 후에는 루트 계정이 필요하지 않으므로 더 안전하고 영구적인 권한 부여 방법입니다.

대부분의 경우, 이러한 권한으로 디렉터리를 새로 생성할 수 있습니다. `mkdir -m 755` 명령어를 사용하면 한 사용자에게는 읽기, 쓰기, 실행 권한을, 다른 사용자에게는 읽기 및 실행 권한을 부여할 수 있습니다. 또는 `777` 명령어를 사용하면 해당 디렉터리에 로그인하는 모든 사용자에게 원하는 작업을 수행할 수 있는 권한을 부여할 수 있습니다. 두 컴퓨터 간에 파일을 수동으로 전송하기 위해 이동식 저장 장치를 사용하는 경우와 같이 이러한 권한이 필요한 상황도 있지만, 로컬 파일 시스템에서 이러한 작업을 수행하는 것이 현명한지 고려해 보세요. `-p` 플래그를 사용하면 새 디렉터리에 기본값으로 간주되는 권한이 부여됩니다. 이는 일반적으로 추가 플래그 없이 명령어를 실행했을 때 발생하는 권한 부여 방식입니다.

파일을 복사할 때 파일 권한이 올바르게 설정되도록 할 수도 있습니다. 파일 소유자에게 쓰기 권한을 부여하려면 `rsync --perms --chmod Fu+w` 명령어를 사용해 보세요. 다른 그룹에 대한 권한도 지정할 수 있습니다. 복사된 파일에도 올바른 그룹 매핑이 적용되도록 하려면 `rsync` 명령어에 `--chown=` 옵션과 사용자 이름, 콜론(:) 그리고 해당 그룹을 입력하세요.

`rsync`는 Windows와 Linux 간에 POSIX 규격 파일 구조를 복사하는 데 매우 유용하므로, `rsync`를 사용하면서 다양한 `chmod` 설정을 시험해 보는 것도 좋습니다. 또 다른 유용한 기능은 `install` 명령어입니다. `install -m 777` 명령어 뒤에 파일의 소스 경로와 대상 경로를 입력하면 모든 사용자에게 즉시 읽기/쓰기 권한을 부여할 수 있습니다. 안전을 위해 `755` 또는 다른 조합을 사용할 수도 있습니다.

이 방법은 `rsync`만큼 빠르지는 않지만, "현재 이 폴더에 접근할 권한이 없습니다."와 같은 오류를 해결하기 위해 권한을 정확하게 지정해야 하는 경우에 유용할 수 있습니다.

댓글이 닫혀있다.