storage / knowledge

TrueNAS 사용자와 그룹 설계

paul 2025.10.09 311words (1m)

NAS를 가족이 같이 쓰고 서비스도 붙는다. 계정을 하나로 쓰면 나중에 권한을 되돌릴 수 없으므로 처음에 나눴다.

그룹

그룹 GID Privileges sudo SMB
admins 1000 Local Administrator 허용 사용
family 1001 사용
media 1002 Sharing Administrator 사용
backup 1003 Read-only Administrator 사용

권한은 사람이 아니라 그룹에 준다. 나중에 사람이 늘거나 역할이 바뀌면 그룹만 갈아끼우면 된다.

mediabackup 은 사람이 아니라 서비스가 쓰는 그룹이다. media 는 Sharing Administrator라 공유 설정을 만질 수 있고, backup 은 Read-only Administrator라 읽기만 된다. 백업이 원본을 건드릴 일은 없어야 한다.

사용자

사용자 UID 기본 그룹 보조 그룹 sudo SMB SSH 암호 로그인 Shell
관리자 계정 1000 admins builtin_administrators, family, media, backup 허용 사용 허용 zsh
가족 계정 1 1001 family 사용 nologin
가족 계정 2 1002 family 사용 nologin
media_user 2000 media 사용 nologin
backup_user 2001 backup 사용 nologin

사람은 1000번대, 서비스 계정은 2000번대로 나눴다. UID만 보고 이게 사람인지 서비스인지 알 수 있다.

로그인이 필요 없는 계정은 shell을 nologin 으로 둔다. 가족 계정은 SMB로 파일만 쓰면 되고 셸에 들어올 일이 없다. 서비스 계정도 마찬가지다. SSH 암호 로그인도 관리자 계정에만 열어뒀다.

UID/GID는 NAS 밖과도 맞춰두는 편이 낫다. NFS로 붙는 리눅스 쪽과 번호가 어긋나면 같은 파일이 서로 다른 소유자로 보인다.

홈 디렉토리

홈은 pool 안에 dataset으로 만든다.

text
/mnt/vault/home
/mnt/vault/home/<사용자>

사용자마다 dataset을 따로 두면 스냅샷과 할당량을 사람 단위로 걸 수 있다. 한 dataset 안의 하위 폴더로 두면 이게 안 된다.