목차
Samba는 Linux 및 UNIX 시스템에서 Windows 운영 체제와의 파일 및 프린터 공유를 가능하게 하는 오픈 소스 소프트웨어이다.
기본적으로 Samba는 SMB/CIFS 프로토콜을 구현하여 Windows 기반 시스템과 호환되도록 한다.
이를 통해 Windows 클라이언트는 Samba를 실행하는 Linux 또는 UNIX 서버의 파일 및 프린터에 액세스할 수 있다.
인증 및 권한 부여를 통해 파일 접근을 제어할 수 있으며, SMB3 프로토콜을 사용할 경우 데이터 암호화 기능도 지원한다.
Samba는 많은 리눅스 배포판에 기본적으로 포함되어 있고, 사용자가 필요에 따라 구성할 수 있다.
Samba는 네트워크에서 중요한 역할을 하는 유연하고 강력한 도구이며, 혼합 환경에서 Windows 및 Linux/UNIX 시스템 간의 통합을 용이하게 한다.
![[리눅스] Samba 서버 구축 image 2 [리눅스] Samba 서버 구축](http://nuschool2.mycafe24.com/wp-content/uploads/2024/03/image-2-1024x576.png)
리눅스에서 윈도우 폴더 접근하고 사용하기
윈도우 Samba 클라이언트
우선 smbShare라는 이름의 폴더를 C드라이브 밑에 생성해 주었다. 그리고 해당 폴더를 공유 폴더로 만들어 주자. Everyone 사용자를 추가하고 사용자 권한 수준 설정을 [읽기/쓰기]를 선택해 공유를 클릭한다.
![[리눅스] Samba 서버 구축 image 22 [리눅스] Samba 서버 구축](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-22.png)
![[리눅스] Samba 서버 구축 image 23 [리눅스] Samba 서버 구축](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-23.png)
![[리눅스] Samba 서버 구축 image 24 [리눅스] Samba 서버 구축](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-24.png)
![[리눅스] Samba 서버 구축 image 25 [리눅스] Samba 서버 구축](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-25.png)
![[리눅스] Samba 서버 구축 image 26 [리눅스] Samba 서버 구축](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-26.png)
리눅스 Samba 서버
리눅스에서 접근을 허용하려면 리눅스의 사용자를 추가하고 비밀번호를 지정해야한다.
윈도우에서 파워쉘이나 명령 프롬프트를 관리자 모드로 실행한 후 다음 명령을 입력해 사용자를 추가한다.
net user root 1234 /add -> root 사용자를 만들고 암호를 1234로 지정
리눅스에서 Samba 클라이언트 패키지 설치
dnf -y install samba-client
윈도우에서 공유한 폴더 및 프린터가 보이는지 확인하자.
smbclient -L 윈도우 IP 주소
![[리눅스] Samba 서버 구축 image 27 [리눅스] Samba 서버 구축](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-27.png)
mkdir smbMount
mount -t cifs //118.34.238.136/smbShare /smbMount
Password for root@//118.34.238.136/smbShare: ****(필자는 1234)로 지정
/smbMount 디렉터리를 사용한다는 것은 윈도우의 C\smbShare 폴더를 사용한다는 것과 같은 의미가 된다.
/smbMount 디렉터리에 파일을 몇 개 복사(혹은 생성)하고 윈도우 파일 탐색기에서 확인해도 잘 보일 것이다.
필자는 윈도우에서 test.txt 라는 텍스트 파일을 만들고 리눅스에서 확인했다.
![[리눅스] Samba 서버 구축 image 28 [리눅스] Samba 서버 구축](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-28.png)
리눅스 /smbMount 디렉토리에서 확인
[root@localhost ~]# ls /smbMount/
test.txt
공유가 잘 되었음을 확인할 수 있다.
윈도우 클라이언트에서 리눅스 폴더 사용
리눅스에서 삼바 패키지를 설치한다.
[root@localhost ~]# dnf -y install samba
디렉터리 공유 설정
Samba의 사용이 허가된 그룹을 만든 후 디렉터리는 /share라는 이름으로 지정한다.
필자가 설치한 리눅스의 기존 사용자인 centos를 sambaGroup에 포함시켰다.
[root@localhost ~]# mkdir /share
[root@localhost ~]# groupadd sambaGroup
[root@localhost ~]# chgrp sambaGroup /share
[root@localhost ~]# chmod 770 /share
[root@localhost ~]# usermod -G sambaGroup centos
[root@localhost ~]# smbpasswd -a centos
New SMB password:
Retype new SMB password:
Added user centos.
Samba의 설정파일을 수정한다.
vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
unix charset = UTF-8 -> 문자 인코딩
map to guest = Bad User -> 인증 없이 접속 허용
[Share]
path = /share -> 공유할 폴더
writable = yes -> 쓰기 허용
guest ok = no -> 게스트 거부
create mode = 0777 -> 파일 전체 접근 허용
directory mode = 0777 -> 폴더 전체 접근 허용
valid users = @sambaGroup -> sambaGroup 소속 사용자만 허용
필자는 testparm 명령으로 변경한 내용에 오류가 없는지 확인했다.
![[리눅스] Samba 서버 구축 image 29 [리눅스] Samba 서버 구축](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-29.png)
Samba 서버를 시작/상시 가동한다.
systemctl restartsmb nmb
systemctl enable smb nmb
firewall-config 명령을 입력해 방화벽 설정을 켠다.
그리고 설정:[영구적]을 선택하고 samba, samba-client 체크를 켜서 Samba 서버를 연결해준다.
윈도우
윈도우의 파일 탐색기를 열어서 [내 PC]를 마우스 우클릭 하고 [네트워크 드라이브 연결]을 선택한다.
[네트워크 드라이브 연결]이 나요면 적당한 드라이브를 선택한 후 [폴더]에 직접 \\192.168.111.100\share 를 입력하고 그 아래를 오두 체크하고 [마침]을 클릭한다.
![[리눅스] Samba 서버 구축 image 30 [리눅스] Samba 서버 구축](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-30.png)
필자가 이건 캡쳐를 안 했는데 [마침]을 누르면 [Window 보안]창이 뜨면서 네트워크 자격 증명을 입력하라고 할 것이다.
위에서 지정한 삼바 전용 비밀번호 1234를 입력하고 [확인]을 클릭한다.
파일 탐색기를 확인하면 Z: 드라이브가 연결되어 있다.
![[리눅스] Samba 서버 구축 image 31 [리눅스] Samba 서버 구축](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-31.png)
파일 몇 개를 복사하거나 만들자. 필자는 test2라는 텍스트 파일을 만들었다.
![[리눅스] Samba 서버 구축 image 32 [리눅스] Samba 서버 구축](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-32.png)
리눅스에서 /share 디렉토리를 확인해보니 test2.txt가 잘 만들어져 있음을 확인할 수 있다.
이로서 윈도우에서 리눅스의 폴더를 Samba 서버로 연결해 사용할 수 있게 되었다.
![[리눅스] Samba 서버 구축 Samba 서버로 파일 공유 성공](https://img.nuschool.co.kr/wp-content/uploads/2024/03/image-33.png)


