개요
삼바(Samba)는 SMB (Server Message Block) 프로토콜을 이용하여
윈도우와 리눅스 계열 간 프린터 및 공유폴더를 사용하여 자원을 공유할 수 있는 프로그램이다.
삼바를 설치하고 테스트하게 된 계기는
기존 윈도우서버의 이미지 백업을 리눅스 스토리지 서버로 원격지 백업을 할 일이 생겼기 때문이다.
설치 및 설정
1. samba 설치
yum install samba
[root@localhost ~]# yum install samba
================================================================================
꾸러미 구조 버전 저장소 크기
================================================================================
설치 중:
samba x86_64 4.18.6-102.el9_3 baseos 931 k
종속 꾸러미 설치 중:
libnetapi x86_64 4.18.6-102.el9_3 baseos 140 k
samba-common-tools x86_64 4.18.6-102.el9_3 baseos 455 k
samba-dcerpc x86_64 4.18.6-102.el9_3 baseos 684 k
samba-ldb-ldap-modules x86_64 4.18.6-102.el9_3 baseos 27 k
samba-libs x86_64 4.18.6-102.el9_3 baseos 120 k
연결 요약
================================================================================
설치 6 꾸러미
전체 내려받기 크기: 2.3 M
설치된 크기 : 8.1 M
진행할까요? [y/N]:
y를 입력하여 진행하면 된다.
귀찮으면 애초에 yum install -y samba를 입력하면 된다.
2. samba 계정 등록
smbpasswd -a [사용자명]
를 입력했을 때 아래와 같은, 보기도 싫은, Fail 관련된 에러메시지가 뜰 수도 있다.
[root@localhost ~]# smbpasswd -a sa
New SMB password:
Retype new SMB password:
Failed to add entry for user sa.
위와 같은 경우에는
useradd를 통해서 계정을 만들고 다시 하면 된다.
[root@localhost ~]# useradd sa
[root@localhost ~]# smbpasswd -a sa
New SMB password:
Retype new SMB password:
Added user sa.
[root@localhost ~]#
3. 공유 디렉토리 생성 및 설정
samba에서 사용할 계정까지 생성했으면 공유 디렉토리를 생성하고 설정해야 한다.
공유 디렉토리 생성 위치와 권한은 각각의 환경에 맞게 설정하면 되겠다.
[root@localhost home]# mkdir /home/backup
[root@localhost home]# chmod 777 /home/backup/
[root@localhost home]# ll
합계 4
drwxrwxrwx. 2 root root 6 3월 8 10:11 backup
drwx------. 3 sa sa 78 3월 8 10:06 sa
[root@localhost home]#
본인은 /home/backup 이라는 폴더를 만들었고 해당 폴더에 777 권한을 주었다.
4. 삼바(samba) 환경설정
삼바 환경설정 파일은 /etc/samba/smb.conf 이다.
smb.conf 파일은 [global], [homes], [printers], [print$] 총 4개의 section으로 구성이 되어 있고,
나는 공유 폴더를 추가할 목적이기 때문에 해당 파일 하단에 section을 추가한다.
먼저 smb.conf 파일을 연다.
vi /etc/samba/smb.conf
[share]
comment = samba shared directory
path = /home/backup
read only = no
writable = yes
guest ok = no
create mask = 0777
directory mask = 0777
- comment - 해당 section에 대한 설명
- path - 공유 디렉토리 경로
- read only - 읽기 전용 여부
- writable - 쓰기 가능 여부
- guest ok - 게스트 이용 가능 여부
- create mask - 생성 시 권한 설정
- directory mask - 공유 폴더 권한
5. 삼바(samba) 방화벽 설정
firewall-cmd --permanent --add-service=samba
firewall-cmd --permanent --zone=public --add-port=138/udp --add-port=139/udp
firewall-cmd --reload
6. samba 활성화 및 실행
systemctl enable smb
systemctl start smb
[root@localhost home]# systemctl status smb
● smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; preset: disa>
Active: active (running) since Fri 2024-03-08 10:41:52 KST; 27s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 7270 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 3 (limit: 22752)
Memory: 9.8M
CPU: 163ms
...
삼바(samba)를 부팅 시 자동으로 실행되게끔 활성화(enable)하고, 실행(start)까지 했다.
Active: active (running)을 통해 작동 중임을 알 수 있다.
7. 윈도우에서 네트워크 드라이버 연결
설치와 설정은 모두 끝냈다.
이제 잘 연결되는지만 확인하면 된다.
먼저 네트워크 드라이버 연결을 선택한다.
생성한 samba의 계정과 패스워드를 입력하고 나면 연결을 확인할 수 있다.
번외
그런데 접근을 하려고 하니 액세스 권한이 없다고 나온다.
방화벽 설정도 했고, 다 했는데 왜 안되나 싶을텐데 이는 SELinux 때문이다.
간단한 방법은 SELinux를 비활성화시키면 되겠으나,
보안때문에 설정되어 있는 SELinux를 굳이 끄고 싶지 않았고, 이를 허용하는 권한을 설정하면 된다.
setsebool -P samba_enable_home_dirs on
해당 설정 후에 공유 폴더에 접근을 확인했고,
위와 같이 테스트 파일 업로드 시 양쪽에서 확인할 수 있다.
정리
연결이 안되면 SELinux를 비활성화 시키거나 권한을 수정하자.
삼바(samba) SELinux 설정은 zosystem님의 동방노트에 잘 설명이 되어 있다.
이로써 삼바(samba) 설치, 설정을 하고 윈도우와 리눅스 연동에 관한 포스팅을 마친다.
'슬기로운 SE 생활' 카테고리의 다른 글
[Linux] Rocky Linux 폐쇄망, 내부망, NTP, chrony 설치, 설정, 연동 (0) | 2024.08.09 |
---|---|
[Linux] 폐쇄망, 내부망 로컬 레포지토리 설정, Local Repository, 패키지 설치 (3) | 2024.03.29 |
[Linux] Rocky Linux vsftp 설치, 설정, 연동 (0) | 2024.03.07 |
[윈도우서버] 원격 데스크톱, RDP 포트 변경 (1) | 2024.02.29 |
[Linux] Rocky Linux ssh 포트 변경 (0) | 2024.02.28 |