ubuntu 권한 관련 질문드립니다.
안녕하세요. 아래 질문글 올렸었는데,
많은 분들이 방법을 알려주셔서 차근차근 진행해보고 있습니다.
주말에 하다가 막히는 부분이 있어서 다시 질문드립니다.
질문드리기 전에 제가 주말에 진행한 사항들을 먼저 말씀드릴게요.
- 헤놀 제어판에서 SMB 서비스 활성화
- 헤놀 제어판의 공유폴더에서 권한 점검(주로 사용하는 헤놀 아이디에 읽기&쓰기 권한 체크 후 저장)
- proxmox에서 ubuntu 22.04 서버 설치화면에서 docker 패키지 선택 후 설치 완료, apt update, apt upgrade 완료
- samba 관련 패키지 설치
- mount -t cifs //헤놀IP/공유폴더 ubuntu 경로 -o username=헤놀아이디, password=비번 입력
- df -h로 확인 -> ubuntu에서 헤놀 공유폴더 보이는거 확인 완료
- fstab 편집 후 재부팅 -> 자동 마운트 확인 완료
여기까지는 어느 정도 순조롭게 진행이 되었습니다.
그런데...권한 관련해서 문제가 발생하는 것 같습니다.
- 헤놀 공유폴더를 ubuntu의 /mnt에 mount를 하고 나서 ubuntu 설치 시 생성한 계정(ex. abcd)로 접근은 되는 것 같은데 docker-compose up -d를 실행할 때 권한 문제가 발생하더라구요...root로 하면 괜찮은거 같은데 좀 찜찜한 것 같습니다. 우선은 /home/abcd/docker 경로로 다시 mount를 하기는 했는데.../mnt에 mount는 되도록 지양해야 하는 걸까요?
- /home/abcd/docker/portainer에 어찌어찌 해서 portainer는 설치를 완료했습니다. 그 다음 joplin을 설치하려고 /home/abcd/docker/joplin 경로에 docker-compose.yml을 작성했습니다.
volumes: 부분에서 /home/abcd/docker/joplin:/var/lib/postgresql/data 로 작성한 후
docker-compose up -d를 실행하게 되면 아래와 같은 에러가 발생합니다.
cannot stat path of the current working directory: permission denied - 2번과 같은 에러를 확인 후 portainer에서 add stack으로 들어가서 2번에서 작성한 docker-compose.yml을 업로드해서 진행하면 deploy는 됩니다만...joplin 설치 시 db로 설치되는 postgres 컨테이너의 log를 보면 permission 관련 에러가 계속 발생하고 있어서 joplin web에 접속이 되지 않습니다.
joplin 말고 다른 이미지로는 아직 테스트해보지 않았습니다만...아마도 다른 걸로해도 같은 문제가 발생할 거 같더라구요.
구글링을 해보면 host 권한과 도커 컨테이너 권한이 일치하지 않아서 그러는거다...mount 옵션에서 uid, gid 설정해야 한다 또는 mount 옵션에서 -o -noper 를 사용하면 된다라는 것도 봤습니다만...아직 해보지는 않았습니다.
권한 문제를 어떻게 해결하면 좋을 지 고견을 부탁드립니다.
우와.. 저도 좋은 정보 얻어가네요.. 지금 별 필요없다고 생각을 하고 적용하지 않았는데.. 다른 서버의 폴더를
연결할 생각을 못하고 있었네요. ㅎㅎ.
우선.. 아마도 권한 문제가 클 듯 합니다.
웹에서 찾아보니..
user= 아이디
pass= 패스워드
iocharset= utf8
file_mode= 파일 생성 시 권한
dir_mode= 디렉토리 생성 시 권한
uid=1000
gid=1000
정도로 나뉘더군요. 일반적으로 읽은데는 별 문제가 없으나 쓰나가 할 경우 다 적용하는것이 맞나 싶기도합니다.
mount.cifs //192.168.0.1/backup /mnt/backup -o user=아이디, pass=패스워드, iocharset=utf8, file_mode=0755, dir_mode=0755, uid=1000, gid=1000
정도로 생각이 되네요.. 조만간 저도 한번 테스트를 해봐야겠네요.. 음.
알려주신 내용은 퇴근 후 집에서 해봐야겠어요. 댓글 감사드립니다.
도커 자체가 root를 요구하기 때문에 의미없는 찜찜함입니다..ㅋㅋㅋ
아니면 아래 내용 시도해보세요
cmt alert