기본 콘텐츠로 건너뛰기

라벨이 compinit인 게시물 표시

[MacOS] Terminal 에서 zsh compinit: insecure directories 문구가 발생하는 경우 대처하기

How to set compinit mode on zsh KinD (Kubernetes in Docker)로 MacOS 상에 Multi-Nodes Kubernetes Cluster를 구성 하면서 kubectl autocomplete를 설정했는데 아래와 같은 메시지가 터미널 실행 시에 계속 나타나는 문제가 발생했다. zsh compinit: insecure directories, run compaudit for list. Ignore insecure directories and continue [y] or abort compinit [n]? 정보를 찾아보니 대 부분 zsh와 관련된 소유권 문제를 많이 이야기하고 있었다. 즉, 외부의 패키지나 라이브러리 등을 설치할 떄 외부의 스크립트를 사용할 경우에 /usr/local/share 폴더의 소유권과 권한이 변경 되는 문제로 발생한다는 것이다. 상황을 확인해 보기 위해서 아래의 명령을 수행한다. $ compaudit There are insecure directories: /usr/local/share 또는 There are insecure directories: /usr/local/share/zsh/.site-functions /usr/local/share/zsh 위의 같은 결과를 확인할 수 있다. 결과를 바로 소유권 및 권한 처리를 하는 방법은 다음과 같다. # 검증 및 변경 처리 $ compaudit | xargs chmod g-w # 재 검증 $ compaudit There are insecure directories: 위의 방법이 아니라 개별적으로 처리하는 경우는 다음과 같다. /usr/local/share/zsh/.site-functions 가 나온 경우 $ cd /usr/local/share/zsh $ sudo chown -R root:root ./site_functions /usr/local/share 가 나온 경우 $ cd /usr/local/share/