홈서버의 가장 주요한 용도는 파일서버와 프린터서버의 역할일 것이다.
파일서버/프린터서버 설정은 모두 Samba를 통해서 할 수 있다. Samba는 윈도우즈 계열에서 파일이나 주변장치를 공유하는데 사용하는 SMB 프로토콜을 지원하는 유닉스 툴이다.
Samba 설정에 대한 자세한 내용은 구글링하는 편이 나을 테고, 홈서버에서 사용자별로 공유파일에 대한 접근권한 설정을 어떻게 하는지만, 간단한 예로 설명하겠다.
예에서는 SWEETHOME이라는 이름의 Workgroup을 쓰겠다.
예에서는 catsby, persu라는 이름을 사용하겠다.
개인용 파일과 공유파일에 대한 접근 권한을 설정하기 위해서 그룹이 필요할 것이다.
smbuser라는 리눅스 group도 만들고, 위에서 생성한 사용자 계정들을 smbuser 그룹에 포함시킨다.
아래와 같은 command로 계정 생성 및 그룹생성을 한다.
가족들이 linux 계정으로 직접 로그인할 일도 없을테니, 계정 home direcotry보다는 samba로 접근할 디렉토리들을 한데 모아놓는 것이 좋다. 이 글의 예에서는 /data/samba 밑에 공유디렉토리들을 설정했다.
프린터 설정은 웬만하면 꽂으면 바로 인식하니 자세한 설명은 스킵한다.
이제 윈도우가 설치된 PC의 탐색기에서 주소창에 \\homeserver 혹은 \\HOMESERVER_IP 를 입력하면 공유 디렉토리와 공유된 프린터를 볼 수 있다.
Samba가 로컬네트웍상에서 손쉽게 파일/프린터 등을 공유할 수 있게 해주지만, 그것만으로는 부족할 때가 있다.
다음 글에서 그것과 관련한 FTP 및 Printer server 설정에 대해 설명하겠다.
파일서버/프린터서버 설정은 모두 Samba를 통해서 할 수 있다. Samba는 윈도우즈 계열에서 파일이나 주변장치를 공유하는데 사용하는 SMB 프로토콜을 지원하는 유닉스 툴이다.
Samba 설정에 대한 자세한 내용은 구글링하는 편이 나을 테고, 홈서버에서 사용자별로 공유파일에 대한 접근권한 설정을 어떻게 하는지만, 간단한 예로 설명하겠다.
1. Workgroup
집에서 쓰는 PC들의 Workgroup명을 통일한다.예에서는 SWEETHOME이라는 이름의 Workgroup을 쓰겠다.
2. 계정생성
PC에서 사용하는 계정이름과 같은 이름으로 리눅스에 사용자 계정을 만든다.예에서는 catsby, persu라는 이름을 사용하겠다.
개인용 파일과 공유파일에 대한 접근 권한을 설정하기 위해서 그룹이 필요할 것이다.
smbuser라는 리눅스 group도 만들고, 위에서 생성한 사용자 계정들을 smbuser 그룹에 포함시킨다.
아래와 같은 command로 계정 생성 및 그룹생성을 한다.
catsby@homeserver:~/$ sudo adduser persu -q
Enter new UNIX password:
Retype new UNIX password:
catsby@homeserver:~/$ sudo addgroup smbuser
catsby@homeserver:~/$ sudo adduser persu smbuser
3. 공유디렉토리 / 프린터 설정
samba로 접근하게 할 공유디렉토리들을 한군데로 모아놓으면 백업이나 관리에 편하다.가족들이 linux 계정으로 직접 로그인할 일도 없을테니, 계정 home direcotry보다는 samba로 접근할 디렉토리들을 한데 모아놓는 것이 좋다. 이 글의 예에서는 /data/samba 밑에 공유디렉토리들을 설정했다.
프린터 설정은 웬만하면 꽂으면 바로 인식하니 자세한 설명은 스킵한다.
4. smb.conf 편집
/etc/samba/smb.conf파일을 편집해서 아래와 같이 수정한다.
[global]
# ubuntu 파일시스템의 한글encoding은 utf8이고,
# 윈도우 파일시스템은 euck-kr이므로 아래와 같이 설정해야
# 파일이름이 깨지지 않고 정상적으로 보인다.
dos charset = EUC-KR
unix charset = UTF8
display charset = UTF8
# browseable을 yes로 해야
# 윈도우에서 공유디렉토리 목록이 보인다.
# workgroup은 윈도우 PC에서 설정한 workgroup과 동일한 이름으로 쓴다.
browseable = yes
workgroup = SWEETHOME
server string = homeserver
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
# 인증관련 설정
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
invalid users = root
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *passwd:*password\supdated\ssuccessfully* .
# 여기부터 공유디렉토리 설정이다.
# 각 계정별 home 디렉토리 설정이다.
# '/data/samba/home/계정이름' 디렉토리가 계정별 공유디렉토리가 되도록 했다.
# smbuser 그룹의 사용자에게 read, 본인만 write가 가능하도록 했다.
[homes]
comment = Home Directories
browseable = yes
valid users = @smbuser
path = /data/samba/home/%S
writable = no
write list = %S # 본인만 write 가능하게함.
create mask = 0640
directory mask = 0750
group = smbuser
# 가족 누구나 접근가능한 디렉토리
# 누구나 새로운 파일을 만들수는 있지만,
# 다른 사람의 파일은 읽기만 가능하고 쓰기는 금지시킴.
# 영화, 음악 파일 공유용.
[sharedata]
comment = Data to share for all family
browseable = yes
valid users = @smbuser
path = /data/samba/media
writable = yes
create mask = 0640
directory mask = 0750
group = smbuser
# 프로그램들을 모아놓은 공유디렉토리
# 누구나 read 접근은 가능하지만,
# 관리자인 catsby에게만 파일생성 및 수정권한을 주었다.
[programs]
comment = Programs
browseable = yes
valid users = @smbuser
path = /data/samba/programs
writable = no
write list = catsby
create mask = 0640
directory mask = 0750
group = smbuser
# 프린터 공유
# 홈서버에 연결된 모든 프린터가 공유된다.
[printers]
comment = All Printers
browseable = yes
path = /var/spool/samba
printable = yes
public = no
writable = no
create mode = 0700
이제 윈도우가 설치된 PC의 탐색기에서 주소창에 \\homeserver 혹은 \\HOMESERVER_IP 를 입력하면 공유 디렉토리와 공유된 프린터를 볼 수 있다.
Samba가 로컬네트웍상에서 손쉽게 파일/프린터 등을 공유할 수 있게 해주지만, 그것만으로는 부족할 때가 있다.
다음 글에서 그것과 관련한 FTP 및 Printer server 설정에 대해 설명하겠다.
댓글을 달아 주세요