기술 · 실용 가이드
zsh compinit이 “insecure directories”를 표시하나요? chmod 전에 완성 신뢰 경로를 감사하세요
이 경고는 shell 코드를 불러오는 경로를 보호합니다. 권한을 바꾸거나 검사를 끄기 전에 실제 사용자, 모든 fpath 부모, 심볼릭 링크 대상, 설치 프로그램 소유자를 고정하세요.

zsh는 fpath의 파일이 shell 코드로 로드될 수 있기 때문에 안전하지 않은 완성 디렉터리를 경고합니다. 재귀 chmod나 chown 요청이 아니라 신뢰 경계입니다.
터미널을 여는 실제 사용자로 compaudit을 실행하고 각 부모와 실제 링크 대상, 패키지 소유자를 조사한 뒤 하나의 되돌릴 수 있는 수정을 적용하고 재검증하세요.
1. 실제 shell 사용자로 감사를 재현하세요
같은 대화형 shell에서 zsh 버전, id, groups, HOME, ZDOTDIR, fpath 순서를 기록하고 compaudit을 실행하세요.
sudo, 캐시 삭제, 반복 응답을 진단으로 대신하지 마세요.
2. 모든 경로, 부모와 실제 대상을 기록하세요
각 파일, 부모 디렉터리와 링크 대상의 소유자, 그룹, 모드, ACL을 fpath 순서와 함께 기록하세요.
각 쓰기 주체와 경로를 만든 패키지 또는 설치 프로그램을 분류하세요.
3. 세 가지 소유 모델을 구분하세요
사용자 트리의 우발적 변경은 증명한 한 곳만 고치고, 관리 트리는 패키지의 지원 모델을 사용하세요.
공유 prefix의 모든 쓰기 사용자를 신뢰할 수 없다면 사용자 전용 경로로 옮기거나 제외하세요.
4. 지속 가능하고 되돌릴 수 있게 수정하세요
최소 경로의 이전 값, 새 값, 명령과 롤백을 기록하고 검토하지 않은 출력에 재귀 작업을 하지 마세요.
업데이트가 문제를 다시 만들면 설치 프로그램, 패키지 설정 또는 FPATH를 고치세요.
5. 새 shell과 음성 경계를 검증하세요
원래 사용자로 새 shell을 열어 compaudit과 실제 완성을 테스트하세요.
신뢰하지 않는 계정이 로드되는 파일이나 부모를 수정할 수 없고 업그레이드 후에도 상태가 유지되는지 확인하세요.
