Samba서버 Windows와 Linux/Unix 사이 자원을 공유하기 위한 시스템

Windows는 공유폴더를 설정하고 Linux에서 Samba 클라이언트로 Windows의 공유폴더 접근하는 방식이다.

Windows는 따로 Samba서버라고 인지하지 않는다.

 

Samba 서버 구현

Windows 클라이언트(Smaba 서버 역할)

  1. Windows에서 공유할 폴더를 생성한다. (C:\sambaServer 라고 가정)

  2. 폴더의 속성 - 공유에서 Everyone으로 선택 하고 읽기/쓰기 권한으로 공유 되도록 설정한다.

  3. 파워쉘이나 명령 프롬프트로 net user <userid> <password> add 명령어로 유저와 비밀번호를 생성한다. (root, 1234라고 가정)

  4. Windows의 IP주소를 확인한다. (서버IP라 가정)

 

리눅스 클라이언트

  1. dnf -y install samba-client 명령어로 Smaba 패키지를 설치한다.

  2. sbmclient -L 서버IP 명령어로 Windows에서 공유한 폴더가 보이는지 확인한다. (유저id, pw입력 필요.)

  3. 마운트할 공유 디렉터리를 생성하고 mount -t cifs //<서버IP>/<서버공유폴더> <마운트할 공유 디렉터리> 명령어로 마운트시킨다.

 

위의 과정들로 윈도즈와 리눅스간 디렉터리 공유가 된다.

 

반대로 Linux를 Smaba 서버로, Windows를 클라이언트로 구현해본다

 

Linux 서버

  1. dnf -y install samba 명령어로 패키지를 설치한다.

  2. Smaba 사용이 허가된 그룹을 만들고 공유할 디렉터리를 생성한다.

    1. 공유할 디렉터리를 만든다. (/share라 가정)

    2. groupadd sambaGroup 명령어로 samba그룹을 만들고

    3. chrpg sambaGroup /share 생성한 디렉터리를 그룹에 포함시킨다.

    4. chmod 707 /share 디렉터리의 접근권한을 변경한다.

    5. usermod -G sambaGroup <userID> 명령어로 사용자를 그룹에 포함시킨다. (smaba 에 사용할 사용자로 없다면 생성)

    6. smbpasswd -a <userID> 명령어로 삼바 전용 비밀번호를 생성한다.

  3. /etc/samba/smb.conf 파일을 아래와 같이 수정한다. (설정 파일에 대한 설명은 포스팅 젤 하단에 간략히 정리해놓았다.)

    1. 7행 workgroup = <Windows 클라이언트의 그룹명>

    2. 7행 아래에 추가 unox charset = UTF-8 map to guest = Bad User

    3. 제일 하단에 아래 내용 추가.

      • [Share]

      • path = /share

      • writable = yes

      • guest ok = no

      • create mode = 0777

      • directory mode = 0777

      • valid users = @sambaGroup

  4. testparm 으로 위에서 수정한 설정파일에 이상이 없는지 확인한다.

  5. systemctl restart/enable smb nmb 명령어로 서비스를 재시작, 상시가동 한다.

  6. firewall-config, firewall-cmd 등으로 samba, samba-client 포트를 열고 방화벽을 재기동한다.

 

Windows 클라이언트

  1. 네트워크 드라이브 연결 에서 적당한 드라이브를 선택하고 폴더에 \\<server IP>\share 를 입력하고 아래 사항을 체크한 다음 완료한다.

  2. Windows 보안창이 뜨면 서버에서 설정한 userID와 password를 입력한다.

 

위 과정들로 리눅스를 서버로 윈도즈와 samba 파일공유가 완료된다.

 

 

 

/etc/samba/smb.conf 파일의 상세 내용

[global] : 모든 자원 공유를 위한 설정

workgroup = Windows 작업 그룹 이름

server string = Windows 네트워크에 보이는 컴퓨터 설명 이름 (생략)

netbios name = Windows의 네트워크에 참가하는 컴퓨터 이름

hosts allow = 삼바 서버에 접속을 허용할 컴퓨터 IP

log file = 삼바 서버에 접속하는 컴퓨터 로그 파일

security = user

 

[공유 디렉터리명] : 공유하는 디렉터리에 대한 설정

comment = 공유하는 디렉터리 설명(생략)

path = 물리적인 디렉터리 경로

read only = yes는 읽기전용, no는 읽기/쓰기 가능

browseable = 공유 리스트를 공개할지 결정

guest ok = 다른 사용자도 사용이 가능하게 할지 결정

 

 

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

프록시서버  (0) 2020.11.13
DHCP 서버  (0) 2020.11.13
NFS서버  (0) 2020.11.13
FTP 서버  (0) 2020.11.13
웹 서버  (0) 2020.11.13

+ Recent posts