본문 바로가기
IT/리눅스

리눅스 Samba 설치 및 설정 방법

by JGSHIN 2025. 2. 15.
반응형

Samba는 Linux에서 Windows와 파일 및 프린터를 공유할 수 있도록 해주는 서비스입니다.

설치부터 설정까지 자세히 설명해 드리겠습니다.

 

1️⃣ Samba 설치

📌 Ubuntu/Debian

 
sudo apt update -y sudo apt install samba -y

📌 CentOS/RHEL

 
sudo yum install samba samba-common samba-client -y

설치가 완료되면 Samba의 버전을 확인하여 정상적으로 설치되었는지 확인합니다.

 
smbd --version

2️⃣ Samba 서비스 시작 및 활성화

설치가 완료되면 Samba 서비스를 실행하고 부팅 시 자동 시작되도록 설정합니다.

 
sudo systemctl start smb
sudo systemctl enable smb
sudo systemctl status smb

Samba가 실행 중인지 확인합니다.


3️⃣ Samba 설정 파일 수정

Samba의 설정 파일은 /etc/samba/smb.conf입니다. 설정을 변경하기 전에 백업을 생성합니다.

 
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

이제 설정 파일을 수정합니다.

 
sudo vi /etc/samba/smb.conf

기본 설정을 다음과 같이 변경하거나 추가합니다.

 
[global]
    workgroup = WORKGROUP
    server string = Samba Server
    netbios name = samba_server
    security = user
    map to guest = bad user
    dns proxy = no

#============================ Share Definitions ==============================

[app_server_upload]
    comment = app_server_upload
    browseable = yes
    writeable = yes
    path = /home/data/disk2/smb_root/app_server
    guest ok = yes
    create mask = 0777
    directory mask = 0771

[jeong_upload]
    comment = http://www.jeong.com/jeong_upload
    browseable = yes
    writeable = yes
    path = /home/data/disk2/smb_root/jeong_upload
    guest ok = yes
    create mask = 0777
    directory mask = 0771

[jgshin_upload]
    comment = http://www.jgshin.com/jgshin_upload
    browseable = yes
    writeable = yes
    path = /home/data/disk2/smb_root/jgshin_upload
    guest ok = yes
    create mask = 0777
    directory mask = 0771
 

이 설정에서는 세 개의 공유 폴더를 만듭니다.

  1. app_server_upload → /home/data/disk2/smb_root/app_server
  2. jeong_upload → /home/data/disk2/smb_root/jeong_upload
  3. jgshin_upload → /home/data/disk2/smb_root/jgshin_upload

4️⃣ 공유 폴더 생성 및 권한 설정

Samba에서 사용할 공유 폴더를 생성하고 적절한 권한을 부여합니다.

 
sudo mkdir -p /home/data/disk2/smb_root/app_server
sudo mkdir -p /home/data/disk2/smb_root/jeong_upload
sudo mkdir -p /home/data/disk2/smb_root/jgshin_upload

 

폴더 권한 설정:

sudo chown -R nobody:nogroup /home/data/disk2/smb_root/
sudo chmod -R 0777 /home/data/disk2/smb_root/

5️⃣ Samba 사용자 추가 (옵션)

Samba 사용자를 추가하려면 기존 리눅스 사용자 또는 새로운 사용자를 생성한 후, Samba 계정으로 등록해야 합니다.

📌 새 사용자 생성 및 Samba 사용자 등록

 
sudo useradd -m sambauser sudo smbpasswd -a sambauser

비밀번호를 입력하면 Samba에 해당 사용자가 추가됩니다.


6️⃣ Samba 설정 확인 및 서비스 재시작

설정이 정상적으로 적용되었는지 확인합니다.

 testparm
 

출력 결과에서 오류가 없는지 확인합니다.

 

Samba 서비스를 다시 시작합니다.

 
sudo systemctl restart smb

7️⃣ 방화벽 설정 (필요 시)

Samba를 사용하기 위해 포트를 열어야 합니다.

📌 Ubuntu/Debian

 
sudo ufw allow 137/udp sudo ufw allow 138/udp sudo ufw allow 139/tcp sudo ufw allow 445/tcp sudo ufw reload

📌 CentOS/RHEL

 
sudo firewall-cmd --permanent --add-service=samba sudo firewall-cmd --reload

8️⃣ Windows에서 Samba 공유 폴더 접속

Windows에서 Samba 공유 폴더에 접속하려면 파일 탐색기를 열고 아래 경로를 입력합니다.

 
\\<Samba 서버 IP 주소>

예) \\192.168.1.100

접속이 되면 공유 폴더를 확인할 수 있습니다.


9️⃣ Samba 자동 시작 설정

서버가 재부팅될 때 Samba가 자동으로 시작되도록 설정합니다.

 
sudo systemctl enable smb

✅ 최종 점검

 
# Samba 서비스 상태 확인 sudo systemctl status smb
# Samba 공유 설정 확인 testparm
# 공유 폴더 확인 ls -l /home/data/disk2/smb_root/

이제 Samba가 정상적으로 작동하는지 확인하면 됩니다. 🎉


🛠️ 문제 해결

Windows에서 접근이 안 되는 경우

  1. 방화벽이 Samba 포트를 허용했는지 확인하세요.
  2. Windows의 네트워크 공유 설정에서 "암호 보호 공유"를 비활성화합니다.
  3. smb.conf에서 security = user가 설정되어 있는지 확인합니다.

Samba 공유가 보이지 않는 경우

 
sudo systemctl restart smb

를 실행하여 서비스가 제대로 작동하는지 확인합니다.


🔹 결론

이제 리눅스에서 Samba를 설치하고 설정하여 Windows와 파일을 공유하는 방법을 익혔습니다.

jeong.com과 jgshin.com으로 공유 폴더 설정도 변경했으며, 사용자 계정 추가 및 방화벽 설정까지 완료하였습니다.

🚀 이제 Samba를 사용하여 파일을 쉽게 공유하세요! 🚀

반응형
📧 이메일 문의
by @ 2025 JGSHIN