더북(TheBook)

파일 공유 실습하기: 특정 그룹에게 디렉터리 할당하기

  1 특정 사용자뿐 아니라 특정 그룹에 속해 있는 사용자에게 공유 디렉터리를 사용 권한을 부여할 수 있습니다. 먼저 groupadd 명령으로 smbgroup이라는 그룹을 추가합니다.

administrator@server01:~$ sudo groupadd smbgroup

  2 앞에서 추가한 사용자 계정 winuser01은 winuser01 그룹에 속해 있는 상태입니다.

administrator@server01:~$ id winuser01
uid=1001(winuser01) gid=1001(winuser01) groups=1001(winuser01)

usermod 명령으로 winuser01 사용자를 smbgroup에 추가( -G smbgroup)합니다. usermod -G [그룹] [추가할 사용자 계정] 형식으로 입력합니다. id 명령으로 winuser01의 상태를 확인하면 smbgroup 그룹에 속해 있음을 알 수 있습니다.

administrator@server01:~$ sudo usermod -G smbgroup winuser01
administrator@server01:~$ id winuser01
uid=1001(winuser) gid=1001(winuser01) groups=1001(winuser01),1002(smbgroup)
Tip

usermod 명령에 대한 설명은 ‘sudo 권한 부여하기’를 참고합니다.

  3 실습을 위해 winuser02 사용자를 추가( sudo adduser winuser02)하고 SMB 패스워드를 설정( sudo smbpasswd -a winuser02)합니다. winuser02는 smbgroup 그룹에 속하지 않은 사용자라는 사실을 기억해두기 바랍니다.

administrator@server01:~$ sudo adduser winuser02
administrator@server01:~$ sudo smbpasswd -a winuser02

  4 삼바 설정 파일 /etc/samba/smb.conf에 새로운 공유 디렉터리 항목 smbgroup을 추가합니다. 공유 디렉터리 경로는 /srv/samba/smbgroup, 네트워크 탐색이 가능하고( browsable = yes), 익명 사용자에 대한 접근을 제한하며( guest ok = no), 읽기 쓰기 권한을 부여하고( read only = no), 파일을 생성하면 기본적으로 접근 권한을 755( rwxr-xr-x)로 설정하게 됩니다( create mask = 0755). 마지막에 추가한 valid users 옵션은 공유 디렉터리에 접근 가능한 사용자를 지정합니다. 사용자 계정을 직접 입력하거나 아래와 같이 @을 붙여서 그룹을 지정할 수도 있습니다.

[smbgroup]
  comment = smbgroup File Share
  path = /srv/samba/smbgroup
  browsable = yes
  guest ok = no
  read only = no
  create mask = 0755
  valid users = @smbgroup
이렇게 하세요!

valid users 옵션으로 다른 사용자나 그룹을 추가하려면 다음과 같이 쉼표로 구분해서 입력하면 됩니다.

valid users = @smbgroup, administrator

  5 설정 내용을 적용하기 위해 smbd를 재시작합니다.

administrator@server01:~$ sudo service smbd restart

  6 공유 디렉터리를 생성하고 공유 디렉터리의 소유 그룹을 smbgroup으로 설정( :smbgroup)합니다. 소유자를 비워뒀기 때문에 소유 그룹만 변경될 것입니다.

administrator@server01:~$ sudo mkdir -p /srv/samba/smbgroup
administrator@server01:~$ sudo chown :smbgroup /srv/samba/smbgroup/
administrator@server01:~$ ls -l /srv/samba/
...
drwxr-xr-x 2 root smbgroup 4096 Apr 3 23:49 smbgroup

  7 소유 그룹에 속한 사용자에게 공유 디렉터리 쓰기 권한을 부여해야 하므로 접근 권한을 775로 설정해야 합니다.

administrator@server01:~$ sudo chmod 775 /srv/samba/smbgroup/
administrator@server01:~$ ls -l /srv/samba/
drwxrwxr-x 2 root smbgroup 4096 Apr 3 23:49 smbgroup

  8 확인을 위해 윈도에서 로그오프합니다. [시작] 메뉴에서 ‘시스템 종료’ 옆의 작은 화살표를 누르면 나오는 메뉴에서 ‘로그오프’를 선택할 수 있습니다. 앞에서 winuser01 사용자로 공유 디렉터리에 접근했기 때문에 다른 사용자 권한을 확인해보려면 매번 로그오프해야 합니다.

그림 7-19 로그오프

  9 winuser02 계정은 공유 디렉터리 smbgroup에 접근이 거부됩니다. winuser02는 공유 디렉터리의 유효한 사용자(smbgroup에 속한 사용자)가 아니기 때문입니다. 하지만, smbgroup에 속한 사용자 winuser01은 그대로 접근 가능합니다.

그림 7-20 winuser02 계정은 접근 거부됨
Tip

공유 디렉터리에 접근하는 방법은 동일합니다. 탐색기에서 네트워크를 선택하여 server01을 클릭합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.