20. samba (윈도우와 파일공유)

안녕하세요, MJ 입니다.

파일 공유를 위한 솔루션에는 여러가지가 존재합니다.
그 중 리눅스와 윈도우 간 파일공유를 위해 사용되는 samba 를 통해,
윈도우와 리눅스간 편리하게 파일을 공유해보는 실습을 해 보도록 하겠습니다.

### 파일공유 실습목록 ###
- samba
- NFS
- FTP
- sFTP
- iscsi: block, multipath

Samba 에 대해 알아보겠습니다.

samba 는 리눅스에서 구성하는 프로그램으로,
파일을 공유하기위해 서버, 클라이언트의 역할이 필요하게 되는데,
리눅스에서 서버가 되고, 윈도우는 클라이언트가 됩니다.

리눅스 장비에서 samba 서버를 구성하기위해


1. 패키지 설치가 필요합니다.

  (설치명령어)[run-linux@root ~]# yum install samba samba-winbind 

2. samba 계정 설정

[run-linux@root ~]# smbpasswd -a root # 패스워드 2번 입력 필요

: -a 옵션으로 samba 계정을 추가합니다.
  -x 옵션으로 samba 계정을 제거 할 수 있습니다.

3. samba 설정.

[run-linux@root ~]# vi /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 = WORKGROUP
        server string = run-linux # 서버이름 지어넣어주세요.
        security = user

        passdb backend = tdbsam

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

        log file = /var/log/samba/%m.log
        max log size = 50

        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        dns proxy = no

        idmap uid = 16777216-33554431
        idmap gid = 16777216-33554431
        template shell = /bin/false
        password server = None
        guest ok = yes
        winbind use default domain = yes

        idmap config * : backend = tdb
        netbios name = pxe
        map to guest = bad user
        dns proxy = no
        public = yes
        kernel oplocks = no
        nt acl support = no
        security = user
        guest account = nobody

        host allow = localhost 192.168.56. 10.20.30. 1.2.3. # 접근가능한 네트워크를 기록.
        min protocol = SMB2
        max protocol = SMB3
        client min protocol = SMB2
        client max protocol = SMB3
        # SMB버전 설정
[root]
        comment = root Partition
        path = /                                 # 루트 경로를 공유
        browseable = Yes
        writeable = Yes
        #read only = No
        public = Yes
        inherit acls = Yes
        create mask = 0644
        directory mode = 0755
        guest ok = No

[homes]           # 로그인 한 계정의 홈디렉토리를 공유
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = Yes
        writeable = Yes
        #read only = No
        public = Yes
        inherit acls = Yes
        create mask = 0644
        directory mode = 0755
        guest ok = No

[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 = root
        create mask = 0664
        directory mask = 0775

제가 사용하는 설정 파일 입니다.
기본 설정파일에서 확인되는 설정 외에 추가 설정이 되어있습니다.

한창 랜섬웨어가 유행 할 때, 가장 많은 감염경로로 SMB v1 이 이용되었습니다.
그래서 SMB v2, SMB v3 를 사용해 연결 될 수 있도록 설정을 변경하였습니다.


3. 서비스 재구동 .

[run-linux@root ~]# systemctl restart smb nmb winbind
: 3개의 서비스(smb, nmb, winbind) 를 재구동 합니다.

이후

윈도우 파일탐색기의 주소창에 백슬러시(\) 를 2번 입력하고, samba 서버 아이피를 입력합니다.
: 이렇게 입력합니다 -> \\아이피\

samba 를 구성하여 윈도우와 공유하는 방법을 알아보았습니다.


문의사항은 댓글을 달아 주시면 성심껏 답변 드리겠습니다.

감사합니다.

댓글 없음:

댓글 쓰기

내 리눅스 서버, 대체 뭐가 문제야?

내 리눅스 서버, 대체 뭐가 문제야? 안녕하세요. 오늘은 리눅스 서버가 버벅거릴 때, 원인을 파악하는 방법에 대해 알아보려고 해요. 서버의 성능 저하 원인을 찾는 것은 시스템 관리에서 매우 중요한 부분이에요. CPU, 메모리 사용량부터 수상한 프로...

가장 많이 본 글