리눅스 Samba 설치하기

SMB(Server Message Block)
인텔과 마이크로소프트가 SMB 프로토콜을 만들었다.
SMB 프로토콜이 없던 시절 리눅스와 윈도우 간 파일 전송이 번거로웠다.
Samba 패키지는 SMB 프로토콜로 사용자가 서버 시스템에 접근하여 공유된 디스크와 프린터를 이용할 수 있게 되었다.

삼바 패키지 설치하기

  • 데비안
apt-get install samba
  • 레드헷
yum install samba

삼바 계정 등록

smbpasswd -a ${username}

비밀번호를 입력해야 한다.

root@kiioio:~# smbpasswd -a kiioio
New SMB password:
Retype new SMB password:
Added user kiioio.

삼바 공유 디렉토리 만들기

mkdir ${MyDir}
chmod 755 ${MyDir}

삼바 환경설정

  • 신규 생성한 디렉토리로 접근할 수 있도록 환경설정을 해주어야 한다.
vi /etc/samba/smb.conf 
  • 공유되는 폴더 괄호 이름부터 설정한다. 예를 들어 [MyDir] 괄호에 이름을 넣게 되면 공유 이름도 똑같이 MyDir 폴더로 표시된다.
[MyDir]
   comment = username samba shared directory
   path = /home/username/MyDir
   read only = no
   writable = yes
   guest ok = no
   valid user = username
   create mask = 0644
   directory mask = 0755
   client min protocol = CORE
   client max protocol = NT1

삼바 데몬 재시작

systemctl restart smbd

or

service smbd restart

삼바 운영 중인지 확인하기

netstat -ant
  • 상단 명령어 입력 시 아래와 같이 출력해서 139, 445 포트가 listen 인 경우 정상적으로 열린 상태이다.
root@kiioio:~# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:85            0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
tcp6       0      0 :::3128                 :::*                    LISTEN     
tcp6       0      0 :::139                  :::*                    LISTEN     
tcp6       0      0 :::111                  :::*                    LISTEN     
tcp6       0      0 :::445                  :::*                    LISTEN     

삼바 서버에 접속 중인 사용자 보기

smbstatus
root@kiioio:~# smbstatus

Samba version 4.17.12-Debian
PID     Username     Group        Machine                                   Protocol Version  Encryption           Signing              
----------------------------------------------------------------------------------------------------------------------------------------
650644  kiioio       kiioio       172.30.254.254 (ipv4:172.30.254.254:64893)      SMB3_11           -                    partial(AES-128-GMAC)

Service      pid     Machine       Connected at                     Encryption   Signing     
---------------------------------------------------------------------------------------------
IPC$         650644  172.30.254.254   Thu Feb 13 11:39:31 PM 2025 KST  -            -           
xfs          650644  172.30.254.254   Thu Feb 13 11:39:37 PM 2025 KST  -            -           


Locked files:
Pid          User(ID)   DenyMode   Access      R/W        Oplock           SharePath   Name   Time
--------------------------------------------------------------------------------------------------
650644       1001       DENY_NONE  0x100080    RDONLY     NONE             /home/kiioio   .   Thu Feb 13 23:40:12 2025