1장. Samba를 서버로 사용
Samba는 Red Hat Enterprise Linux에서 SMB(Server Message Block) 프로토콜을 구현합니다. SMB 프로토콜은 파일 공유 및 공유 프린터와 같은 서버의 리소스에 액세스하는 데 사용됩니다. 또한 Samba는 Microsoft Windows에서 사용하는 DCE RPC(Distributed Computing Environment Remote Procedure Call) 프로토콜을 구현합니다.
다음과 같이 Samba를 실행할 수 있습니다.
- Active Directory(AD) 또는 NT4 도메인 구성원
- 독립 실행형 서버
NT4 PDC(기본 도메인 컨트롤러) 또는 백업 도메인 컨트롤러(BDC)
참고Red Hat은 NT4 도메인을 지원하는 Windows 버전이 있는 기존 설치에서만 PDC 및 BDC 모드를 지원합니다. Windows 7 및 Windows Server 2008 R2 이외의 Microsoft 운영 체제에서 NT4 도메인을 지원하지 않기 때문에 새 Samba NT4 도메인을 설정하지 않는 것이 좋습니다.
Red Hat은 Samba를 AD DC(Domain Controller)로 실행하는 것을 지원하지 않습니다.
설치 모드와는 독립적으로 디렉터리와 프린터를 선택적으로 공유할 수 있습니다. 그러면 Samba가 파일 및 인쇄 서버로 작동할 수 있습니다.
1.1. 다양한 Samba 서비스 및 모드 이해
samba
패키지는 여러 서비스를 제공합니다. 환경 및 구성하려는 시나리오에 따라 이러한 서비스 중 하나 이상이 필요하며 다양한 모드에서 Samba를 구성합니다.
1.1.1. Samba 서비스
Samba는 다음 서비스를 제공합니다.
smbd
이 서비스는 SMB 프로토콜을 사용하여 파일 공유 및 인쇄 서비스를 제공합니다. 또한 서비스는 리소스 잠금을 담당하고 사용자 연결을 인증합니다. 도메인 멤버를 인증하기 위해
smbd
에는winbindd
가 필요합니다.smb
systemd 서비스는smbd
데몬을 시작하고 중지합니다.smbd
서비스를 사용하려면samba
패키지를 설치합니다.nmbd
이 서비스는 NetBIOS over IPv4 프로토콜을 사용하여 호스트 이름 및 IP 확인을 제공합니다. 이름 확인 외에도
nmbd
서비스를 사용하면 SMB 네트워크를 검색하여 도메인, 작업 그룹, 호스트, 파일 공유 및 프린터를 찾을 수 있습니다. 이를 위해 서비스는 이 정보를 브로드캐스트 클라이언트에 직접 보고하거나 로컬 또는 마스터 브라우저로 전달합니다.nmb
systemd 서비스는nmbd
데몬을 시작하고 중지합니다.최신 SMB 네트워크는 DNS를 사용하여 클라이언트 및 IP 주소를 확인합니다. Kerberos의 경우 작동 중인 DNS 설정이 필요합니다.
nmbd
서비스를 사용하려면samba
패키지를 설치합니다.winbindd
이 서비스는 로컬 시스템에서 AD 또는 NT4 도메인 사용자 및 그룹을 사용할 수 있도록 NSS(Name Service Switch)에 대한 인터페이스를 제공합니다. 예를 들어, 도메인 사용자는 Samba 서버 또는 다른 로컬 서비스에 호스팅된 서비스에 대해 인증할 수 있습니다.
winbind
systemd 서비스는winbindd
데몬을 시작하고 중지합니다.Samba를 도메인 멤버로 설정하는 경우,
smbd
서비스보다 먼저winbindd
를 시작해야 합니다. 그렇지 않으면 도메인 사용자 및 그룹을 로컬 시스템에서 사용할 수 없습니다.winbindd
서비스를 사용하려면samba-winbind
패키지를 설치합니다.중요Red Hat은 도메인 사용자 및 그룹을 로컬 시스템에 제공하기 위해
winbindd
서비스가 있는 서버로만 Samba 실행을 지원합니다. ACL(Windows Access Control List) 지원 및 NTLM(NT LAN Manager) 대체와 같은 특정 제한 사항으로 인해 SSSD는 지원되지 않습니다.
1.1.2. Samba 보안 서비스
/etc/samba/smb.conf
파일의 [global]
섹션에 있는 security
매개 변수는 Samba가 서비스에 연결하는 사용자를 인증하는 방법을 관리합니다. Samba를 설치하는 모드에 따라 매개 변수를 다른 값으로 설정해야 합니다.
- AD 도메인 구성원에서
security = ads
를 설정 이 모드에서 Samba는 Kerberos를 사용하여 AD 사용자를 인증합니다.
Samba를 도메인 멤버로 설정하는 방법에 대한 자세한 내용은 Setting up Samba as an AD domain member server 를 참조하십시오.
- 독립 실행형 서버에서
security = user
설정 이 모드에서 Samba는 로컬 데이터베이스를 사용하여 연결 사용자를 인증합니다.
Samba를 독립 실행형 서버로 설정하는 방법에 대한 자세한 내용은 Samba를 독립 실행형 서버로 설정을 참조하십시오.
- NT4 PDC 또는 BDC에서
security = user
를 설정 - 이 모드에서 Samba는 로컬 또는 LDAP 데이터베이스로 사용자를 인증합니다.
- NT4 도메인 멤버에서
security = domain
설정 이 모드에서 Samba는 사용자를 NT4 PDC 또는 BDC에 연결하는 것을 인증합니다. AD 도메인 구성원에서는 이 모드를 사용할 수 없습니다.
Samba를 도메인 멤버로 설정하는 방법에 대한 자세한 내용은 Setting up Samba as an AD domain member server 를 참조하십시오.
추가 리소스
-
시스템의
smb.conf(5)
도움말 페이지의security
매개변수
1.1.3. Samba 서비스 및 Samba 클라이언트 유틸리티가 구성을 로드 및 다시 로드하는 시나리오
다음은 Samba 서비스 및 유틸리티가 설정을 로드하고 다시 로드하는 경우를 설명합니다.
Samba 서비스는 설정을 다시 로드합니다.
- 자동으로 3분마다
-
예를 들어, manual 요청에서
smbcontrol all reload-config
명령을 실행하는 경우입니다.
- Samba 클라이언트 유틸리티는 처음 시작할 때만 구성을 읽습니다.
security
등의 특정 매개 변수를 사용하려면 smb
서비스를 다시 시작해야 하며 다시 로드하는 것만으로는 충분하지 않습니다.
추가 리소스
-
시스템의
smb.conf(5)
도움말 페이지에서구성 변경 사항을 적용하는 방법
-
smbd(8)
,nmbd(8)
,winbindd(8)
도움말 페이지
1.1.4. 안전한 방식으로 Samba 구성 편집
Samba 서비스는 3분마다 구성을 자동으로 다시 로드합니다. testparm
유틸리티를 사용하여 구성을 확인하기 전에 서비스가 변경 사항을 다시 로드하지 못하도록 안전한 방식으로 Samba 구성을 편집할 수 있습니다.
사전 요구 사항
- Samba가 설치되어 있어야 합니다.
절차
/etc/samba/smb.conf
파일의 사본을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp /etc/samba/smb.conf /etc/samba/samba.conf.copy
# cp /etc/samba/smb.conf /etc/samba/samba.conf.copy
- 복사한 파일을 편집하고 필요한 사항을 변경합니다.
/etc/samba/samba.conf.copy
파일에서 구성을 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow testparm -s /etc/samba/samba.conf.copy
# testparm -s /etc/samba/samba.conf.copy
testparm
이 오류를 보고하면 오류를 수정하고 명령을 다시 실행합니다./etc/samba/smb.conf
파일을 새 구성으로 재정의합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow mv /etc/samba/samba.conf.copy /etc/samba/smb.conf
# mv /etc/samba/samba.conf.copy /etc/samba/smb.conf
Samba 서비스가 구성을 자동으로 다시 로드하거나 구성을 수동으로 다시 로드할 때까지 기다립니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow smbcontrol all reload-config
# smbcontrol all reload-config