본문 바로가기

리눅스

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

반응형

우분투 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

 

반응형