리눅스

우분투 22.04에서 Samba를 구성하고 Windows나 다른 Linux 시스템에서 공유 폴더에 접근하는 방법

변군이글루 2025. 6. 9. 12:43
반응형

우분투 22.04에서 Samba(SMB 서버)를 구성하고 Windows나 다른 Linux 시스템에서 공유 폴더에 접근하는 방법

Samba 패키지 설치

sudo apt update
sudo apt install -y samba

공유할 디렉토리 생성

예를 들어 /srv/samba/share 디렉토리를 누구나 접근할 수 있는 공유 디렉토리로 가정합니다.

sudo mkdir -p /srv/samba/public
sudo chown nobody:nogroup /srv/samba/public
sudo chmod 0777 /srv/samba/public

Samba 설정 파일 수정

sudo vim /etc/samba/smb.conf
[PublicShare]
   path = /srv/samba/public
   browsable = yes
   read only = no
   guest ok = yes
   force user = nobody

guest ok = yes : 인증 없이 접속 허용

force user = nobody : 파일을 nobody 사용자로 저장

Samba 설정 확인

testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        log file = /var/log/samba/log.%m
        logging = file
        map to guest = Bad User
        max log size = 1000
        obey pam restrictions = Yes
        pam password change = Yes
        panic action = /usr/share/samba/panic-action %d
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        passwd program = /usr/bin/passwd %u
        server role = standalone server
        server string = %h server (Samba, Ubuntu)
        unix password sync = Yes
        usershare allow guests = Yes
        idmap config * : backend = tdb


[printers]
        browseable = No
        comment = All Printers
        create mask = 0700
        path = /var/spool/samba
        printable = Yes


[print$]
        comment = Printer Drivers
        path = /var/lib/samba/printers


[PublicShare]
        force user = nobody
        guest ok = Yes
        path = /srv/samba/public
        read only = No

Samba 서비스 재시작

sudo systemctl restart smbd
sudo systemctl enable --now smbd
728x90

Windows 또는 Linux 클라이언트에서 접속

윈도우에서 접근 테스트

  • Guest access를 허용한 경우, 사용자 이름 없이 접속 가능하며, 일부 시스템은 Guest 계정으로 자동 로그인됩니다.
\\<서버 IP 주소>\PublicShare

Linux 클라이언트에서 테스트

smbclient //<서버 IP 주소>/PublicShare -N

사용자 인증 기반 공유 만들기(선택)

공유 디렉터리 생성

sudo mkdir -p /srv/samba/secure
sudo chown user1:user1 /srv/samba/secure

Samba 사용자 추가(Linux 계정이 있어야 함)

sudo smbpasswd -a user1

smb.conf에 추가

vim /etc/samba/smb.conf
[SecureShare]
   path = /srv/samba/secure
   valid users = user1
   read only = no

서비스 재시작

sudo systemctl restart smbd

공유 폴더 확인

testparm

Samba 상태 확인

sudo smbstatus

 

반응형