시놀로지에서 OMZ 설정하기

2023년 10월 24일 화요일
2분 소요
0회

문제

시놀로지에 omz를 설치했는데 아래와 같은 오류가 났다.

shellscript

1

2

3

(anon):7: failed to load module: zsh/stat
[oh-my-zsh] Insecure completion-dependent directories detected:
drwxrwxrwx+ 1 hopoduck users  388 Oct 24 23:06 /var/services/homes/hopoduck/.oh-my-zsh

문제 해결

(anon):7: failed to load module: zsh/stat 오류 해결

zsh/stat모듈을 불러오는데 실패했다는 에러로 어째서 나는지는 모르겠지만 해당 모듈을 비활성화하면 해결된다.

shellscript

1

2

3

4

5

grep -r 'zsh/stat' ~/.oh-my-zsh

# /var/services/homes/hopoduck/.oh-my-zsh/plugins/git-auto-fetch/git-auto-fetch.plugin.zsh:zmodload -F zsh/stat b:zstat  # only zstat command, not stat command
# /var/services/homes/hopoduck/.oh-my-zsh/plugins/kube-ps1/kube-ps1.plugin.zsh:      zmodload -F zsh/stat b:zstat
# /var/services/homes/hopoduck/.oh-my-zsh/tools/check_for_upgrade.sh:    zmodload -F zsh/stat b:zstat

grep -r 'zsh/stat' ~/.oh-my-zsh명령어를 실행한 후 나오는 목록들을 비활성화 해야 한다. 그 후 쉘을 source ~/.zshrc명령어로 재시작한다.

[oh-my-zsh] Insecure completion-dependent directories detected:

권한이 user/group/other 모두 허용으로 되어있어 보안에 위험할 수 있으므로 완전히 로드하지 못했다는 내용의 에러로 권한을 수정하거나, ZSH_DISABLE_COMPFIX="true"플래그를 사용하면 된다. 하지만 굳이 그렇게 사용할 필요가 없으므로 755권한으로 수정했다. 목록이 여러개가 나올 수 있는데 전부 변경하고 쉘을 재시작했다.

shellscript

1

2

3

chmod -R 755 .oh-my-zsh

source ~/.zshrc

기본 쉘 변경하기

/etc/passwd파일에서 기본 쉘을 zsh로 설정하기 위해 목록에서 사용자를 찾아서 맨 뒤에 zsh경로를 작성해주면 된다. 경로를 모를경우 which zsh로 확인할 수 있다.

shellscript

1

2

3

4

5

6

7

which zsh
# /usr/local/bin/zsh

# 시스템파일이라 sudo권한이 필요하다.
sudo vi /etc/passwd 
# 사용자명을 찾아서 경로를 수정한다.
# hopoduck:x:1029:100:Admin:/var/services/homes/hopoduck:/usr/local/bin/zsh

Loading reactions

© 2024 Hopoduck. All rights reserved.