zsh compinit: 안전하지 않은 디렉터리, compaudit를 실행하여 목록을 가져옵니다.

zsh compinit: 안전하지 않은 디렉터리, compaudit를 실행하여 목록을 가져옵니다.

이 경고는 루트로 로그인하려고 할 때 나타납니다.

luvpreet@DHARI-Inspiron-3542:/$ sudo su
Password: 
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]? 

"예"라고 대답하면 간단히 로그인되고 쉘이 bash에서 zsh로 변경됩니다.

내가 "아니요"라고 말하면 이렇게 말하고 ncompinit: initialization aborted로그인합니다.

로그인 후 쉘이 zsh로 변경되었습니다.

내가 zsh로 하는 일은 다운로드뿐이다아 맙소사github에서.

무슨 일이 일어났고 왜 그랬나요?

사용 - Dell에서 Ubuntu 16.04.

답변1

다음을 통해 안전하지 않은 폴더를 나열할 수 있습니다.

compaudit

"안전하지 않음"의 근본 원인은 이러한 폴더가 그룹 쓰기 가능하다는 것입니다.

이 문제에 대한 한 줄 해결책이 있습니다.

compaudit | xargs chmod g-w

보다zsh, Cygwin 및 안전하지 않은 디렉토리그리고zsh compinit: 안전하지 않은 디렉토리참고용.

답변2

나는 다음 후에도 같은 문제에 직면했습니다.https://docs.npmjs.com/getting-started/fixing-npm-permissions, 나는 다음을 사용하여 문제를 해결했습니다.

% cd /usr/local/share/zsh
% sudo chmod -R 755 ./site-functions
% sudo chown -R root:root ./site-functions

나는 여기서 답을 찾았습니다.https://stackoverflow.com/questions/13762280/zsh-compinit-insecure-directories

답변3

저는 WSL을 사용하고 있는데 위의 해결 방법으로는 문제가 해결되지 않았지만 문제를 해결하는 다음과 같은 진언을 깨닫게 되었습니다.

cd ~
compaudit | xargs chown -R "$(whoami)"
compaudit | xargs chmod -R go-w

답변4

실행하면 compaudit플러그인 디렉토리에서 안전하지 않은 디렉토리 오류가 발생합니다 oh-my-zsh. 그래서 플러그인 디렉토리의 권한을 변경했습니다.

  • cd /home/${usr}/.oh-my-zsh/custom/
  • sudo chmod -R 755 ./plugins

나를 위해이 문제를 해결했습니다.

WSL의 우분투 16.0.4.

관련 정보