본문 바로가기

OS/Linux

samba 설치 및 설정


파일 공유 시스템을 사용하면 협업을 하거나 파일 관리를 쉽습니다.

이런 파일 공유 시스템은 대표적으로 nfs, smb(cifs)가 있고

nfs는 리눅스와 리눅스간의 통신일 때 사용하지만

smb는 윈도우와 리눅스 또는 윈도우와 윈도우의 환경에서 사용합니다.

오늘 알아볼것은 이런 파일 공유 시스템중에서 smb를 사용한 samba라는 프로그램에 대해 알아보겠습니다.

 

0) 공유 폴더 마운트 하기

smb를 사용하여 파일을 공유하기 위해서는 공유할 스토리지를 마운트 시키는 작업이 사전에 준비되어 있어야합니다.

마운트 하는 방법은 간단하게 다시한번 훑어지나가겠습니다!

lsblk로 볼륨 확인 후

parted # parted 시작

parted) select /dev/vdb
parted) mklabel msdos # 2tb이하이기 때문에 msdos를 선택했습니다
parted) p (msdos로 라벨링 된것 확인)
parted) mkpart
    p
    xfs
    0
    -1
parted) p
parted) quit

$ mkfs.xfs /dev/vdb1
$ blkid # 자동 마운트를 위해 /dev/vdb1 uuid확인



이제 공유 폴더를 생성하고 /etc/fstab으로 가서 자동마운트를 위해 설정을 해줍니다.

$ mkdir /samba
$ sudo vi /etc/fstab

UUID=--- /samba   xfs   defaults   0 0
          #마운트 경로

$ reboot


마운트 확인

$ df -hl



1) samba

samba는 smb 프로토콜을 사용하고 파일 뿐만 아니라 프린터 등과 같은 디바이스와의 연결을 편리하게 해주는 오픈 소스 소프트웨어 입니다.

cifs는 smb 프로토콜의 확장이지만 현재는 보안 이슈로 인해 smb를 사용합니다.

그럼 이제 samba를 Rocky 9에 설치하여 windwos server 2019와 centos 7, ubuntu 22.04 에 자동 마운트 하는 방법까지 소개하겠습니다.

2) samba 설치

Rocky 9에 samba를 설치합니다.

yum install -y samba



다음 samba의 config를 수정하겠습니다.

vi /etc/samba/smb.conf



로그를 수집하기위해 로그항목을 추가와 보안을 위해 hosts allow옵션을 추가해줍니다.

[global]
    log file = /var/log/samba/log.%m
    hosts allow = 10.101.0.0/24 # 네트워크를 적어도 되고 ip를 적어도 됩니다.

 

그리고 공유 디렉터리의 이름을 지정하고 설정합니다

[sharedir]
    comment = Printer Drivers
    path = /samba
    writeable = yes
    valid users = samba
    read only = no
    create mask = 0664
    directory mask = 0775




더욱 다양한 옵션들은 같은 위치 smb.conf.example에서 확인 가능합니다!


3) 방화벽

만약 iptables나 fire-wall, ufw와 같은 방화벽을 사용중이시라면

smb 포트와 cifs 포트를 사용하기 때문에 445포트와 139포트를 열어줍니다.


4) 계정 생성

samba 계정을 생성합니다.

$ useradd samba
$ passwd samba
$ smbpasswd samba

 


5) 공유 폴더 연결

5-1) windows server 2019

이제 윈도우에 연결해보겠습니다.

윈도우에 실행 프로그램에서

\\<ip>\<공유 디렉터리 이름>
\\<ip>\sharedir # 저희 위에 했던 설정대로 하면

 

를 실행하고 id와 passwd를 입력하면 공유폴더가 생깁니다.

연결된 폴더에 파일을 생성하여 마운팅이 잘 된지 확인합니다.


5-2) centos 7, rocky 8

yum install -y cifs-utils
mount -t cifs -o user='<userid>',password='<passwd>' //<ip>/sharedir <디렉터리 절대 경로>

 

를 하면 해당 파일에 마운트가 진행됩니다!

 

5-3) ubuntu 22.04

apt install -y cifs-utils
mount -t cifs -o user='<userid>',password='<passwd>' //<ip>/sharedir <디렉터리 절대 경로>


cnetos와 마찬가지입니다!


6) 자동 마운트

6-1) 윈도우의 경에는

내 pc - 네트워크 드라이브 연결 - smb 연결을 하고

'내 자격 증명 기억'를 체크하면 저장됩니다.


6-2) 리눅스

리눅스는 /etc/fstab 에서 자동마운트 형식으로 가능합니다.

//<ip>/sharedir <마운팅 경로>     cifs user=<userid>,password=<password> 0 0


로 자동마운트를 설정할 수 있습니다!

이상으로 samba 설치 및 설정을 마치겠습니다. 감사합니다.

'OS > Linux' 카테고리의 다른 글

Linux 로그 간단하게 확인하는 방법  (0) 2024.03.18
Single Mode 부팅후 root 암호 변경 (centos, rocky, ubuntu)  (0) 2024.03.18
파일 공유 프로토콜  (0) 2024.03.15
ftp 옵션 정리  (0) 2024.03.14
파트션과 마운트  (0) 2024.03.13