본문 바로가기

리눅스

삼바(Samba) 서버 설치와 운영 / 리눅스-윈도우 파일 공유 하는 방법

by Pilo 2021. 8. 23.

리눅스 윈도우 파일 공유 하는 방법

Windows 계열과 리눅스, 유닉스 계열을 혼합해서 사용해야하는 경우가 있습니다
서로 다른 운영체제 사이의 자원을 공유하려는 목적으로 개발된 것이
Samba 서버입니다 실무에서도 많이 사용될 수 있습니다

삼바서버

리눅스에서 Windows 폴더와 프린트 사용

윈도우는 공유폴더와 프린트를 제공할 수 있는 기능이 있기 때문에
리눅스 서버에 Samba 서버 없이 클라이언트 만으로 사용이 가능합니다

 

WinClient(Samba 서버 역할)

- WinClient 에 자원을 사용할 사용자를 추가
- WinClient 자원을 공유 시킨다

Server(Samba 클라이언트 역할)
- Samba 클라이언트 패키지 설치
- smbclient 명령어로 WinClient가 제공하는 자원 확인
- smbmount 명령어로 WinClient 가 제공한 공유폴더 마운트

 

 

실습

윈도우 폴더를 리눅스에서 사용하는 방법

Windows 파일 탐색기에
C:\smbshare\ 폴더를 하나 만들어 줍니다
폴더 이름은 상관없습니다
폴더 속성으로 들어가서 [공유] Everyone 사용자 추가 해 주고 읽기/쓰기 권한을 주고 공유하기를 해줍니다
[모든 공용 네트워크에 대해 네트워크….] 라는 메시지 박스가 나오면 "예" 를 선택해 줍니다

 

리눅스에서 접근을 허용하려면 리눅스 사용자를 추가하고 패스워드를 지정해 줘야합니다
cmd 를 관리자 권한으로 실행해 주고

net user root 1234 /add

 

명령어를 입력해줍니다
제어판의 사용자 계정에서 추가된 root 계정을 확인할 수 있습니다

 

리눅스에 samba 클라이언트 패키지인 samba-client, samba-common 설치해 줍니다

smbclient -L WinClientIP주소

 

명령어를 사용해서 공유한 폴더와 프린트가 보이는지 확인해 줍니다

 

mkdir 마운트할디렉토리

mount -t cifs //winclientip/공유폴더이름 /마운트할디렉토리이름/

 

마운트를 진행해 줍니다

 

umount /마운트했던디렉토리
명령어로 mount해제 할 수 있습니다

 

리눅스 폴더를 윈도우에서 사용하는 방법

yum -y install samba system-config-samba

 

공유할 디렉토리를 생성하고
chmod 707 권한을 줍니다
system-config-samba 명령어를 입력해줍니다
윈도우와 비슷하게 공유폴더를 설정해주고
samba, samba-client 서비스를 방화벽 허용해줍니다

 

윈도우에서 접속하기 위해
탐색기 > 컴퓨터 > 네트워크 드라이브 연결을 클릭하시고
\\ip\공유한폴더
폴더를 연결을 해줍니다
확인을 하면 Z: 드라이브가 연결된 것을 확인할 수 있습니다

 

smbstatus 명령어를 이용하면
현재 samba 서버에 접속한 사용자를 볼 수 있습니다
NFS와 차이점은 NFS는 리눅스,유닉스 간의 저장 공간을 공유하는 것이고
samba는 리눅스와 윈도우 사이의 저장 공간을 공유하는 것입니다

 

Samba 서버의 설정 파일은 /etc/samba/smb.conf 입니다
파일 내용 중 주요 내용을 확인해 보면
# ; 두가지는 주석을 의미합니다
[global] : 모든 자원의 공유를 위한 설정
- workgroup = Windows의 작업 그룹
- server string = Windodws의 네트워크에 보이는 컴퓨터 설명 이름 (생략 가능)
- netbios name = Windows의 네트워크에 참가하는 컴퓨터 이름
- hosts allow = samba 서버에 접속 허용할 IP 또는 컴퓨터 이름
- log file = samba 서버에 접속하는 컴퓨터의 접속 기록 파일
- security = 보안옵션 (user, hare, server, domain), 주로 사용자 단위로 보안설정, 보안을 하지 않으려면 share를 사용

 

[공유 이름] : 공유하는 디렉토리를 설정
- comment = 공유하는 디렉토리 설명 (생략 가능)
- path = 물리적인 디렉토리
- writeable = 디렉토리에 쓰기 권한이 있는지 여부
- browseable = 공유리스트를 보여줄지 여부
- guest ok : 다른 사용자도 사용하게 할지 여부(public 개념)

 

상세한 옵션은 man smb.conf 를 실행해서 확인할 수 있습니다
testparm 명령어를 실행하면 smb.conf 파일의 오류를 검사할 수 있습니다
Samba 사용자는 /etc/samba/smbusers 파일에 간단히 지정됩니다
user =winuser 이런식으로 한줄로 간단하게 매칭됩니다

댓글