가상 시스템으로 파일서버를 구축해서 윈도우에서나 macOS 에서 사용할만한 유용할 파일들을 저장하면 좋겠다라는 생각이 들었어.
알아보니 가장 쉬운 방법이 리눅스에 samba 서비스를 설치하면 된다는군.
바로 설치에 들어가보자구.
- 대상서버 IP 주소 (호스트명) : 10.10.1.32 (files-ubuntu)
samba 서비스 설치
OS 로는 우분투 22.04 를 사용할거야. 우분투 22.04 설치하는 방법은 우분투 22.04 설치하기 – VMware VM 포스트를 참고하길 바래.
삼바(samba) 서비스는 samba 소프트웨어 패키지를 설치해주면 돼.
$ sudo apt install samba
samba 의 서비스명은 smbd 야. 그래서 samba 서비스가 정상적으로 실행되고 있는지는 smbd 상태를 체크하면 돼.
$ sudo systemctl status smbd

samba 사용자 설정
우선 삼바 서버에 접속할 수 있는 사용자 계정을 추가해 주어야 해. 사용자계정은 리눅스에 이미 존재하는 계정만 추가시킬 수 있기 때문에 리눅스에 계정이 존재하지 않는다면 계정부터 생성해야 하지.
리눅스에 계정 생성하는 법
$ sudo useradd -m user01
-m 옵션은 해당 계정의 홈 디렉토리를 생성하는 옵션이라서 /home/user01 디렉토리도 생성되면서 계정이 추가되지.
다음은 이 계정의 패스워드를 설정해 주어야 해.
$ sudo passwd user01
그리고나서 이 계정을 삼바에 등록시키는거야.
$ sudo smbpasswd -a user01
이 명령문을 실행시켰을 때에도 패스워드를 입력하라고 하는데, 리눅스 계정에 입력한 패스워드와 달라도 상관없어. smbpasswd 명령문은 사용자를 등록함과 동시에 클라이언트가 삼바서버에 접속할 때 인증하는 패스워드를 설정하는거지.

samba 디렉토리 설정
이번에는 samba 로 공유할 디렉토리에 대해서 설정해볼까?
samba 관련해서 수정해야 할 설정 파일은 /etc/samba/smb.conf 야.
$ sudo vi /etc/samba/smb.conf

[filebox] 는 공유디렉토리 이름이야. 클라이언트가 삼바 서버로 접속할 때 이 섹션이름(filebox) 이 공유명으로 표시가 되지.
path 는 해당 공유디렉토리의 실제 경로야. 이 경로는 미리 만들어져 있어야 하고, 디렉토리 권한은 777로 설정해두면 돼.
$ sudo mkdir -p /data/filebox
$ sudo chmod -R 777 /data/filebox
공유하기 위한 디렉토리이기 때문에 writable 은 모두 yes 로, read only 는 no 로 설정했어.
browseable 을 yes 로 설정하면 사용자가 해당 디렉토리를 볼 수 있게 돼.
create mask, directory mask 는 파일 생성, 디렉토리 생성시 권한값을 지정하는건데, 0777 로 설정해두면 새로 생성되는 파일과 디렉토리가 모든 그룹, 모든 사용자가 읽고 쓸 수 있는 권한값을 갖게 돼.
valid user 는 해당 공유 디렉토리를 사용할 수 있도록 허가받은 사용자계정을 나열한 것인데, 콤마(,)로 연결해주면 되지.
smb.conf 를 수정했다면, samb 서비스를 재시작해 주어야 해.
$ sudo systemctl restart smbd
이제 클라이언트PC 에서 이 삼바 서버에 접속해보는 것을 테스트해 볼텐데, 내 경우에는 윈도우 OS 에서는 죽었다가 깨나도 연결이 안되더라. 그래서 macOS 에서 연결한 결과를 공유해볼께.
samba 서버 접속 (macOS)
macOS 에서 samba 서버에 접속할 때는 smb:// 프로토콜을 사용하지. 파인더(윈도우에서 탐색기와 같은 프로그램)에서 [이동] – [서버에 연결] 메뉴를 사용하지.

연결을 시도하게 되면 filebox 공유 속성에 valid user 속성으로 인증된 사용자만 접근 가능하도록 설정했기 때문에 사용자계정과 비밀번호를 입력하는 창이 표시가 되지.

계정과 암호가 일치하면 filebox 공유디렉토리가 로컬 드라이브에 연결이 되네.

내가 “새로운 디렉토리 생성” 이라는 이름의 디렉토리를 생성해봤어.

samba 서버에서 디렉토리를 조회했더니 동일하게 새로 생성된 디렉토리가 보이네.
이렇게 macOS 에서는 정상적으로 접속되는데, 윈도우OS에서는 접속이 되질 않아 반쪽짜리 파일서버가 되었어. 그래서 Web UI 로 파일서버 기능을 수행하는 솔루션이 없는지를 검색해봤더니 ownCloud 라는게 있더라구.
다음 포스트에서 ownCloud 를 설치하는 과정에 대해서 알아볼께. (준비되면 알려줄께)