Record

Linux 파일 서버 (SMB, NFS) 본문

CS/서버

Linux 파일 서버 (SMB, NFS)

now-record 2025. 12. 15. 17:08
반응형
  • 리눅스 - 리눅스 간 파일서버 구축 -> 리눅스 nfs-utils을 이용하여 NFS 사용
  • 리눅스 - 윈도우 간 파일서버 구축 -> Samba를 이용하며 SMB/CIFS를 사용

SMB 란?(Server Message Block)

  • 마이크로소프트사와 인텔이 윈도우 시스템이 다른 시스템의 디스크나 프린터와 같은 자원을 공유할 있도록하기 위해 개발된 프로토콜 
  • SMB는 윈텔(Microsoft/Intel) 진영에서 1987년부터 꾸준히 밀어붙이고 있는, 삼바의 핵심이 되는 프로토콜
  • TCP/IP 기반하의 NetBIOS 프로토콜을 사용/  NFS, NIS, lpd 와 같은 유닉스의 분산인증구조와 유사

NFS란? (Network File Systme)

  • NFS는 Network File System의 약자로서 1985년 Sun Microsystems 사에서 개발된 네트웍을 통한 분산 파일 시스템
  • 다른 host에 있는 file system의 일부를 자신의 directory인 것처럼 mount 하여 사용할 수 있음
  • Samba가 무료 개방 정책을 이용해서 널리 보급된 상황과 정반대로 NFS는 300 개가 넘은 회사에서 라이선스 계약을 체결하여 저절로 업계 표준 규약으로 자리

 

쉽게 생각하면 

NFS = 리눅스 친화, SMB = 윈도우 친화

 

samba smb 실습 

 

먼저 윈도우 폴더의 공유 옵션을 키기 위해 사용자를 만든다

그후 공유옵션에서 만든 사용자를 쓸 수 있게해준다.

dnf install -y samba
vi smb.conf

 

 

Shared폴더에 접근하기 위해서 vi로 정책을 바꿔준다. 

 

[global]
        workgroup = WORKGROUP
        security = user
        map to guest = Bad User

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[shared]
        path = /data/shared
        available = yes
        browseable = yes
        writable = yes
        read only = no
        public = yes
        valid users = test01

valid users의 경우 들어갈때 로그인을 해준다. 

 

 

원래는 권한이 다른데 chmod 777로 권한을 다준다. 

 

systemctl restart smb

그 후 재실행을 해주고 

만약 접속이 안된다면 passwd를 제대로 안줬기 때문이다. 

 

 

 

이렇게 들어갈 수 있다. 

현재 서로의 공유 폴더에 접속할 수 있는 상황이다. 

 

 

 

NFS 실습 

리눅스에서는 mount를 하는데 기존에 있던 경로에 다른 폴더를 마운트해서 사용하도록 진행한다. 

 

dnf install -y nfs-server
 vi /etc/exports

밖으로 내보내줄 파일에 대한 설정을 해준다. 

 

현재는 shared파일과 webshare파일에 *(모두)가 접속할 수 있게 해준다. 

 echo Test > /webShare/index.html

우리는 httpd의 index.html이 있는 폴더에 이 webshare라는 공유폴더를 마운트해주기 위해 index.html을 작성한다.

 

 

/etc/httpd/conf/httpd.conf에서 html의 경로를 확인해준다. 

 

mount -t nfs 10.11.0.53:/webShare /var/www/html

그 후에 내가 마운트해올 ip의 주소와 어느곳에 마운트 할 것인지를 작성해준다. 

현재 내 ip는 10.11.0.53이고 여기서 공유폴더를 만들어 놨기 때문에 10.11.1.53에서도 10.11.0.53을 써준다. 

 

 

이렇게 되면 현재 html값을 가져오는 디렉토리 경로에 내 webshare/index.html의 경로를 마운트해줘서 이 폴더안에 있는 값만 바꾸면 이 두 ip는 한번에 바뀌게 된다.