코인데일리넷

가상화폐 / NFT / 경제

기타/1432

[DAY 27] Cent OS , Samba 서버 설치와 운영

코인데일리넷 매니저 2021. 11. 1. 23:27

SAMBA서버란? 

리눅스와 Windows간 자원을 사용하는 것

 

-----------------------------------------------------
1. SAMBA를 이용하여 윈도우 자원을  Linux에서 사용

이 경우 윈도우가 Samba서버 역할을 하기 때문에 Samba클라이언트만 (리눅스) 있으면 된다.   
-----------------------------------------------------
[WinClient]
c:/sambashare 폴더 생성   <- 윈도우 탐색기를 이용하여 c:\에 새폴더 생성 이름을 sambashare 로 변경

공유설정
sambashare 폴더에 마우스 오른쪽 -> 속성 -> 공유탭 -> 공유  ->
추가 왼쪽 옆에 아래쪽 삼각형 -> Everyone 선택 -> 추가 ->
Everyone 사용권한 수준 : 읽기 <- 변경 : 읽기/쓰기 선택 -> 공유

리눅스에서 접근할 사용자 추가
cmd <- 명령 프롬프트 창 열기 : 관리자 권한으로 실행
net user root 1234 /add   <- root 사용자 비번 1234로 지정
사용자 추가 확인
제어판 -> 사용자 계정 -> 다른 계정 관리 
윈도우 탐색기 -> 내 PC : 마우스 오른쪽 -> 관리 -> 로컬 사용자 및 그룹 -> 사용자

윈도우 IP 주소 확인 : 192.168.111.128
ipconfig /all

------------------------------------
리눅스 Server에서 윈도우 공유 폴더 사용

[Server]
터미널 창
samba-client 프로그램 설치
dnf -y install samba-client

윈도우 공유폴더 접근 가능 확인
smbclient -L 192.168.111.128
Enter SAMBA\root's password:  1234 입력

공유된 smabashare 폴더 사용하기
마운트할 폴더 생성 
mkdir /sambamount

공유 폴더 마운트
mount -t cifs //192.168.111.128/sambashare /sambamount
패스워드 : 1234 입력

공유 확인
cd /sambamount
touch abc.txt
cp /boot/vmli* /sambamount
ls -l

윈도우에서 c:\sambashare 폴더 확인

마운트 해제
umount /sambamount

-------------------------------------------------------------
2. 리눅스의 자원을 Windows 에서 사용  - NFS 비슷
[Server]
스냅샷 -> 설치 직후 -> 부팅 
samba 서버 설치
dnf -y install samba

samba 사용할 허가된 그룹 생성
sambaGroup   그룹명
/share            공유 디렉토리

mkdir /share
groupadd sambaGroup       <- sambaGroup 생성
ls -l /
chgrp sambaGroup /share   <- /sahre 폴더의 그룹을 sambaGroup으로 변경
chmod 770 /share
usermod -G sambaGroup centos     <- sambaGroup에 centos 사용자 추가
smbpasswd -a centos     <- centos 사용자의 삼바 전용 패스워드 지정 1234

Samba 설정 파일
/etc/samba/smb.conf
gedit /etc/samba/smb.conf
[global]
workgroup = WORKGROUP      <- 그룹명 변경
             unix charset = UTF-8                <- 유닉스 문자 인코딩 설정
             map to guest = Bad User          <- 인증 없이 접속 허용
security = user
젤 아래에 추가
[Share]
             path = /share                      <- 공유 폴더
             writable = yes                     <- 쓰기 허용
             guest ok = no                     <- 게스트 거부
             create mode = 0777             <- 파일 전체 접근 허용
            directory mode = 0777          <- 폴더 전체 접근 허용
            valid users = @sambaGroup   <- sambaGroup 소속 사용자만 허용
저장 후 나가기

설정 검증
testparm

samba 서비스 시작
systemctl restart smb nmb
systemctl enable smb nmb

방화벽 포트 열기
방화벽
samba
samba-client          <- 런타임/영구적   체크

[WinClient]
파일 탐색기 -> 내 PC -> 마우스 오른쪽 : 네트워크 드라이브 연결 -> 
드라이브 : Z:
폴더 : \\192.168.111.100\share
로그인할 때 다시 연결 : 체크
다른 자격 증명을 사용하여 연결  : 체크
마침
사용자이름 : centos
암호 : 1234
확인

z:\ 생성 
z:\  파일 생성이나 폴더 생성

[server]
ls -l /share
smbstatus    <- samba 서버에 접속한 windows 확인

SAMBA 서버 설정 파일
/etc/samba/smb.conf
[global] : 모든 자원의 공유를 위한 설정
- workgroup = Windows의 작업 그룹 이름
- server string = Windows의 네트워크에 보이는 컴퓨터 설명 이름(생략가능)
- netbios name  = Windows의 네트워크에 참가하는 컴퓨터 이름
- hosts allow = 삼바 서버에 접속을 허용할 컴퓨터의 IP 주소 또는 네트워크 주소 또는 컴퓨터 이름
- log file = 삼바 서버에 접속하는 컴퓨터의 접속 기록 파일
- security = user(CentOS 8에 포함된 버전은 share를 허용하지 않음)
[공유이름] : 공유하는 디렉터리 설정
- comment = 공유하는 디렉터리 설명. 생략가능
- path = 물리적인 디렉터리
- read only = 디렉터리에 쓰기 권한이 있는 지 여부, yes는 읽기 전용, no 는 읽기/쓰기 허용
- browseable = 공유 리스트를 보여줄지 여부
- guest ok = 다른 사용자도 사용하게 할 지 여부

man smb.conf  <- 도움말

설정 이상 유무 체크
testparm