스튜디오 엘

시놀로지 나스 UID GID 확인 방법(도커 PUID, PGID 권한 설정)

Authors

시놀로지 나스(Synology NAS)에서 도커 컨테이너를 설정하다 보면 uid, gid 값을 요구하는 경우가 많습니다. 특히 볼륨 마운트 시 권한 문제가 발생할 때는 올바른 UID/GID를 설정하는 것이 사실상 필수입니다.

하지만 DSM 웹 GUI에서는 각 사용자 계정의 UID, GID를 직접 확인할 수 있는 메뉴가 없습니다.

이 글에서는 시놀로지 나스에서 UID, GID를 확인하는 가장 확실한 두가지 방법(SSH, DSM 작업 스케줄러 방식)을 단계 별로 정리합니다.


UID, GID란?

uid, gid는 시놀로지 나스에서 각 사용자 계정을 구분하는 고유 식별자입니다. uid는 사용자의 유니크 아이디 값이며, gid는 해당 사용자의 그룹 식별 값입니다.

대부분의 경우에는 uidgid를 직접 다룰 일은 없지만, 3자 앱을 설치하거나 설정할 때 해당 값이 필요한 경우가 있습니다. 해당 앱(특히 컨테이너화된 앱들)이 uid, gid를 기준으로 앱 실행 사용자를 특정하기 때문입니다.

시놀로지 나스에서 UID, GID 확인하는 방법

기준:
Synology DSM 7.3

UID, GID를 알아보는 방법에는 두가지가 있습니다.

하나는 기존 설정이 되어있지 않을 때 빠르게 알아볼 수 있는 방법이고, 또 하나는 알림 설정이 되어있을 때 메일로 확인하는 방법입니다.

SSH로 NAS UID GID 확인하기

이 방법을 사용하기 위해서는 먼저 SSH에 접속해야 합니다.

시놀로지 나스 SSH 접속 방법

기준:
Synology DSM 7.3

SSH에 연결하기 전에 먼저 해야할 일이 있습니다. 바로 DSM에서 SSH를 활성화해주는 것입니다.

만약 이미 활성화되어 있다면, 연결하는 단계로 바로 넘어가셔도 됩니다.

시놀로지 나스에서 SSH 활성화하기

시놀로지 나스는 기본적으로 보안을 위해 SSH 접속을 막아둔 상태로 운영체제가 초기화됩니다. 따라서 SSH를 활성화하기 위해서는 DSM의 설정에서 SSH를 활성화해야 합니다.

DSM GUI에서 SSH를 활성화하기 위해서는 DSM에 관리자 계정으로 접속한 다음, 제어판에 접속해야 합니다.

제어판
제어판

제어판의 메뉴를 클릭하면 터미널 및 SNMP라는 메뉴가 보입니다.

터미널 및 SNMP
터미널 및 SNMP

터미널 및 SNMP 메뉴에 진입하면, 다음과 같이 SSH 관련 설정이 바로 첫번째 탭에 보입니다.:

DSM 터미널 설정 화면

CAUTION

이 항목은 SSH를 사용하지 않을 때는 꼭 꺼 두시는 걸 권장합니다. 악의적인 사용자가 SSH 접속에 성공할 경우, 나스 내부에 접근하여 심각한 피해를 입힐 수 있습니다.

해당 화면에서 기본적으로 [SSH 서비스 활성화] 항목이 비활성화되어있을텐데요, 해당 항목을 활성화해 줍니다. 활성화한 후에는 우측 하단의 [적용] 버튼을 눌러 설정을 저장해 줍니다.

시놀로지 나스에 SSH로 연결하기

예전에는 Windows의 기본 터미널을 사용하여 SSH로 연결하는 데에 몇가지 제약이 있거나 불편해서 Putty 같은 3자 앱을 사용하는 경우가 많았는데, Windows 10 이상 버전에서는 기본적으로 OpenSSH 클라이언트가 내장되어 있기 때문에 별도의 프로그램 없이 PowerShell이나 Windows Terminal에서 바로 SSH 접속이 가능합니다.

Windows 시작 버튼

우선 Windows 시작 버튼을 눌러줍니다. 그렇게 하면 아래와 같이 시작 메뉴가 나타나게 됩니다.

Windows 시작 메뉴의 Powershell 검색 화면

그리고 상단에 나오는 검색창에 Powershell을 입력합니다. 많이 사용하셨다면 "Po" 까지만 입력해도 파워쉘이 검색 결과로 나올텐데요, 그렇게 나타나는 Powershell 앱을 클릭해서 실행해 줍니다.

Powershell에서 SSH 연결 명령어 입력 화면

그리고 위와 같이 입력을 해주는데요, 기본 입력 내용은 다음과 같습니다.:

ssh [email protected]  ## 실제로는 나스의 내부 IP 주소를 입력하시면 됩니다.

여기에서 mynasid에는 나스의 계정 이름을 입력하시는데, 시놀로지는 관리자 그룹에 포함된 사용자가 아닌 경우 SSH 연결을 거부하므로, 반드시 관리자 그룹에 포함된 사용자로 SSH 연결을 해야 합니다.

nasinternalip에는 나스의 내부 IP 주소를 입력하시면 됩니다. 그렇게 하면 다시 아래와 같이 암호를 입력하라는 프롬프트가 나타납니다.

[email protected]'s password:

이 화면에서 본인의 계정 패스워드를 입력하면 되는데요, 입력 중 아무 것도 보이지 않는 것은 정상적인 상황입니다. 암호를 입력하고 엔터를 누르시면 됩니다.

NOTE

The authenticity of host 'mynasname (nasinternalip)' can't be established.
RSA key fingerprint is xxx..
Are you sure you want to continue connecting (yes/no)?

간혹 위와 같이 확인을 묻는 프롬프트가 나올 수 있습니다.
이건 알 수 없는 호스트에 처음 SSH로 접속 시도할 때 나타나는 메시지인데요, 정상적인 상황이니 yes를 입력하고 엔터를 누르시면 됩니다.

Using terminal commands to modify system configs, execute external binary
files, add files, or install unauthorized third-party apps may lead to system
damages or unexpected behavior, or cause data loss. Make sure you are aware of
the consequences of each command and proceed at your own risk.

Warning: Data should only be stored in shared folders. Data stored elsewhere
may be deleted when the system is updated/restarted.

mynasid@mynasname:~$

이것으로 시놀로지 나스에 SSH로 접속되었습니다. 만약 관리자 권한(root)으로 작업을 하고싶다면 한가지를 더 실행해야 합니다.

sudo -i

위 명령어를 입력하면 다시 한 번 암호를 묻는 프롬프트가 나오게 됩니다. 동일하게 자신의 계정 암호를 입력하면 관리자 권한을 얻어서 나스 안에서 모든 작업을 할 수 있게 됩니다.

SSH에 접속한 계정은 관리 권한을 가지고 있으므로, 여기에서 바로 명령어를 입력해서 uidgid를 확인할 수 있습니다. 입력할 명령어는 id 계정명입니다. 현재 작업중인 계정의 경우 계정명 없이 id만 입력해도 됩니다.

# root 계정의 uid와 gid 확인
mynasid@StudioL:~$ id root
uid=0(root) gid=0(root) groups=0(root), ...
# 현재 접속한 계정의 uid와 gid 확인
mynasid@StudioL:~$ id
uid=xxxx(mynasid) gid=100(users) groups=100(users),101(administrators)
# 다른 계정의 uid와 gid 확인
mynasid@StudioL:~$ id otheruser  
uid=xxxx(otheruser) gid=100(users) groups=100(users)

위와 같이 간단하게 id 명령어로 SSH에서 uidgid를 확인하실 수 있습니다.

DSM 작업 스케줄러로 UID GID 확인하기 (메일)

이 방법은 SSH에 접속하지 않기 때문에 편리한 면이 있지만, 시놀로지 나스의 알림 기능(보내는 메일 주소 설정)이 먼저 활성화되어 있어야 합니다. 활성화되어있지 않다면 먼저 아래 내용을 참고해 활성화 후 진행해 주시면 됩니다.

시놀로지 나스에서 이메일 알림 활성화하기

기준:
Synology DSM 7.3
제어판
제어판

시놀로지에서 메일 발송자를 추가하기 위해서는 우선 제어판에 접속해야 합니다.

알림
알림

그런 다음 알림 메뉴를 찾아 클릭해 줍니다.

시놀로지 제어판의 알림 메뉴(이메일 하이라이트)

해당 메뉴에 들어가시면 위와 같이 바로 이메일이라는 항목이 보입니다. 여기에서 설정 버튼을 누릅니다.

그러면 보내는 사람 설정 팝업이 나타나고, 서비스 제공 업체를 고를 수 있게 됩니다.

만약 본인이 사용중인 이메일이 Gmail, Outlook, QQ 중 하나라면 해당 서비스를 선택하면 OAuth 인증 창이 나타나고, 거기에서 본인의 계정으로 로그인하여 쉽게 연동이 가능합니다.

만약 본인이 사용중인 이메일 서비스가 그 외이거나 자체 메일 서버를 사용중이라면, 사용자 지정 SMTP 서버를 선택한 후 다음과 같은 값들을 입력해야 합니다.

  • SMTP 서버: 보내는 메일 서버의 SMTP 서버입니다.
  • SMTP 포트: 사용할 SMTP 서버 포트로, 일반적으로 465, 587, 25 중 하나입니다.
  • SMTP 서버의 SSL/TLS 인증서 확인: 체크박스를 체크하여 인증서가 유효한 서버를 통해서만 보내도록 합니다. 자주 있는 일은 아니지만, 가짜 서버가 해킹을 시도할 수 있습니다.
  • 인증 필요: 체크 후사용자 이름, 패스워드를 입력합니다.
  • 보안 연결(SSL/TLS)이 필요합니다.: 마찬가지로 체크해 줍니다.
  • 보낸 사람 이름: 보내는 사람의 이름이 어떻게 표시될지를 적어줍니다.
  • 보낸 사람 이메일: 보내는 사람의 이메일 주소가 어떻게 표시될지 적어줍니다.

아마 메일 서버 설정을 처음 해보시는 분들은 이러한 설정들이 생소해서 뭘 입력해야 할지 모르실 수 있습니다.

이래는 국내 주요 서비스들의 설정 정보입니다.

서비스명SMTP 서버 주소포트 (SSL/TLS)필수 사전 설정
Naver (네이버)smtp.naver.com465메일 설정에서 POP3/IMAP 사용 설정 필요
Daum (카카오)smtp.daum.net465메일 설정에서 IMAP/SMTP 사용 설정 필요
Nate (네이트)smtp.nate.com465메일 설정에서 POP3/IMAP 사용 설정 필요

NOTE

국내 포털 메일은 보안을 위해 기본적으로 외부 SMTP 발송이 차단되어 있습니다. 반드시 각 메일 서비스의 웹 메일 설정 > POP3/IMAP 설정 메뉴에서 SMTP 서비스를 '사용함' 으로 변경해야 시놀로지에서 메일 발송이 가능합니다. 2단계 인증을 사용 중이라면 '일반 비밀번호' 대신 '앱 비밀번호' 를 생성해 입력해야 합니다.

가장 확실한 건 해당 이메일 서비스 측에 "이러한 값들이 필요한데 제공해 주세요" 라고 요청하시면 되고, 자체 메일 서버를 사용하신다면 전산 담당 부서에 요청을 하시면 알려주실 겁니다.

알림 기능이 활성화되어 있다면, 다음과 같이 DSM GUI에서 gid, uid 값을 간단히 확인할 수 있습니다.

DSM에 관리자 계정으로 접속한 다음, 제어판에 접속해야 합니다.

제어판
제어판

제어판의 메뉴를 클릭하면 작업 스케줄러라는 메뉴가 보입니다.

작업 스케줄러
작업 스케줄러
작업 스케줄러 새 작업 생성

해당 메뉴에서 [생성] - [예약된 작업] - [사용자 정의 스크립트]를 차례로 선택합니다.

작업 스케줄러 작업 생성 - 일반 탭

우선 [일반] 탭에서는 작업 이름을 원하는 아무 거나 선택하시고, 사용자는 그대로 현재 사용자로 둡니다.

작업 스케줄러 작업 생성 - 스케줄 탭

다음으로는 [스케줄] 탭에서 다음 날짜에 실행 부분을 선택하고, 그 외의 내용은 만지지 않고 둡니다.

작업 스케줄러 작업 생성 - 작업 설정 탭

마지막으로 [작업 설정] 탭에서는 알림 부분의 실행 상세 정보를 이메일로 보내기에 체크하고, 이메일 주소로는 본인이 받을 수 있는 이메일 주소를 입력합니다.

실행 명령 부분의 사용자 정의 스크립트 필드에는 다음과 같이 uid, gid를 확인하고자 하는 계정명을 입력합니다.

id myid

예를 들어, 만약 root 계정의 uidgid를 확인하고자 한다면, 다음과 같이 입력하면 됩니다.

id root
작업 스케줄러 작업 실행

다음으로 방금 생성한 작업을 선택하고, [실행] 버튼을 누른 후 다시 작업을 실행할 것인지 묻는 팝업 창에서 [확인]을 눌러줍니다.

작업 스케줄러 작업 실행으로 받은 uid, gid 포함 메일

잠시 뒤 기입한 메일 계정의 메일함으로 이동해 보시면 위와 같이 uid, gid가 적힌 메일을 확인하실 수 있습니다.

작업 스케줄러의 작업 삭제 화면

생성한 작업은 그냥 두셔도 되지만, 찜찜하면 해당 작업을 선택한 후 [삭제]를 눌러 삭제하실 수 있습니다.


이와 같이 uid, gid 값을 확인하여 시놀로지 나스에서 도커 컨테이너 권한 문제를 대부분 해결할 수 있습니다.