본문 바로가기
공부/리눅스 서버

[linux] samba서버 구축

by kyoung-ho 2022. 1. 11.
반응형

회사에 고객 중 linux서버에 데이터를 외장하드로 백업을 요청했다.

 

백업한 파일은 외장하드가 리눅스 포맷이라 윈도우환경에서 마운트하면 파일이 안보인다.

 

나는 백업을 마치고 외장하드를 회사로 갖고 돌아왔다.

 

요청) 외장하드에 백업파일 윈도우로 볼수 있게 해줘~!

 

라고 요청이 왔다. (FTP 써서 윈도우로 다운받을수도 있지만, 해당 서버는 다운을 받게되면 네트워크 영향을 줘 상당히 느려진다. 또한 파일용량이 크다.) 위에 말했듯이 리눅스 OS에서만 파일 을 볼 수있는데, 이때 필요한 것 이 samba서버 이다. *잡소리가 길었다....

 

VMware를 이용하여 samba서버를 구축해보자!

 

1) VMware설치 및 bridge 네트워크 설정.

> VMware Workstation Pro : https://www.vmware.com/kr/products/workstation-pro/workstation-pro-evaluation.html 해당 사이트에서 다운로드

 

간혹 VMware Player를 다운받는데 이건 virtual network Editor가 없기때문에 다운받으면 안됨.

VMware Workstation Pro 다운받으면 어차피 같이 다운받아짐.

 * 30일 프리티어기때문에 이후엔 돈주고 사용

 

설치는 전부 기본으로 선택.

 

OS설치는 생략하겠다.

 

 

 

2) Samba 패키지 설치 및 방화벽 설정.

[root@smbservice/]# yum install -y samba samba-common samba-client
[root@smbservice/]# firewall-cmd --permanent --zone=public --add-port=137-138/udp
[root@smbservice/]# firewall-cmd --permanent --zone=public --add-port=139/tcp
[root@smbservice/]# firewall-cmd --permanent --zone=public --add-port=445/tcp
[root@smbservice/]# firewall-cmd --reload
[root@smbservice/]# systemctl start smb nmb
[root@smbservice/]# systemctl enable smb nmb

 

3) Samba config 설정.

[root@smbservice/]# vim /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

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

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775

[public]                            <---추가
     writeable = yes                <---추가
     path = /home/samba             <---추가
     guest ok = yes                 <---추가

 

4) 디렉터리 및 유저 생성.

[root@smbservice/]# mkdir /home/samba
[root@smbservice/]# chown nobody /home/samba
[root@smbservice/]# useradd smbuser
[root@smbservice/]# passwd smbuser
[root@smbservice/]# smbpasswd -a smbuser  <--공유폴더 접근 패스워드 설정.
[root@smbservice/]# systemctl restart smb nmb

 

5) 확인.

윈도우 검색 화면에서 위에 설정한 가상서버로 접근한다.

ex) \\10.x.x.x 

접근하면 아까 config에서 설정한 public이 보여진다. 해당 폴더로 접근하면

 

 

사용자 이름 과 암호를 입력하라고 나온다. 아까 설정한 계정과 암호를 입력하자.

 

해당 폴더에 아무것도 없어 보이질 않는다. 리눅스에서 파일을 생성하거나, 외장하드 마운트로 파일을 볼 수 있을 것이다.

 

우리는 상단에 요청한대로 외장하드를 마운트해 파일을 확인한다.

 

외장하드를 PC에 연결하면 자동으로 VMware에서 USB를 인식하여 아래와 같이 서버로 연결할 것이냐고 물어본다.

 

ㅇㅇ

 

가상서버에서 fdisk를 사용해 인식됐는지 확인.

 

/dev/sdb1 인식 되었다. 아까 만들어 준 /home/samba를 마운트하자.

[root@smbservice/]# mount /dev/sdb1 /home/samba

외장하드는 기존에 이미 리눅스 포맷이 되어있는 상태라 따로 포맷하지 않고 마운트했다. 포맷하면 백업되었던 파일 날라감.....

 

다시 공유폴더로 접근해보면!!!!

 

파일이 보여진다~! 이후 윈도우로 옴기던 알아서 하면됨. 반디집으로도 풀림.

 

**smb공유폴더는 창을 닫고 나갔다고 연결이 끊긴게 아니다 다음에 연결하면 바로 폴더에 접근이 되어진다.(계정,암호

유지) 완전히 접속을 끊을려면 cmd에서 아래와 같이 명령을 입력하면됨.

 

 

다시 공유 폴더로 접근하면 계정정보 입력하라고 뜸. 

 

이상~

반응형

댓글