웹사이트 검색

Linux/Windows 클라이언트에서 파일 공유를 허용하도록 Samba 설정 및 FirewallD 및 SELinux 구성 - 6부


컴퓨터는 격리된 시스템으로 작동하는 경우가 거의 없으므로 시스템 관리자나 엔지니어는 여러 유형의 서버가 포함된 네트워크를 설정하고 유지 관리하는 방법을 알고 있어야 합니다.

이 기사와 이 시리즈의 다음 기사에서는 각각 Windows/Linux 및 Linux 클라이언트로 SambaNFS 서버를 설정하는 필수 사항을 살펴보겠습니다.

이 문서는 다양한 운영 체제와 장치 유형을 찾을 수 있는 기업 또는 엔터프라이즈 환경에서 파일 서버를 설정해야 하는 경우 확실히 유용할 것입니다.

인터넷을 통해 Samba와 NFS의 배경과 기술적인 측면에 대해 읽을 수 있으므로 이 기사와 다음 기사에서는 해당 주제를 바로 다루겠습니다.

1단계: 삼바 서버 설치

현재 테스트 환경은 RHEL 7 상자 2개와 Windows 8 시스템 1대로 구성되어 있습니다.


1. Samba / NFS server [box1 (RHEL 7): 192.168.0.18], 
2. Samba client #1 [box2 (RHEL 7): 192.168.0.20]
3. Samba client #2 [Windows 8 machine: 192.168.0.106]

box1에 다음 패키지를 설치합니다.


yum update && yum install samba samba-client samba-common

box2:


yum update && yum install samba samba-client samba-common cifs-utils

설치가 완료되면 공유를 구성할 준비가 된 것입니다.

2단계: Samba를 통한 파일 공유 설정

Samba가 그토록 관련성이 높은 이유 중 하나는 SMB/CIFS 클라이언트에 파일 및 인쇄 서비스를 제공하기 때문입니다. Windows 시스템(몇 년 전 새로운 Linux 시스템 관리자로 처음 설정한 것이기 때문에 이 주제에 관해 글을 쓰는 동안 약간 감정이 상하는 경향이 있다는 점을 인정해야 합니다.)

시스템 사용자 추가, 권한 및 소유권 설정

그룹 공동 작업을 허용하기 위해 useradd 명령과 디렉토리를 사용하여 두 명의 사용자(user1user2)로 구성된 finance라는 그룹을 만듭니다. >/금융(상자1).

또한 이 디렉터리의 그룹 소유자를 finance로 변경하고 해당 권한을 0770(소유자와 그룹 소유자의 읽기, 쓰기 및 실행 권한)으로 설정합니다.


groupadd finance
useradd user1
useradd user2
usermod -a -G finance user1
usermod -a -G finance user2
mkdir /finance
chmod 0770 /finance
chgrp finance /finance

3단계: SELinux 및 Firewalld 구성

/finance를 Samba 공유로 구성하려면 SELinux를 비활성화하거나 다음과 같이 적절한 부울 및 보안 컨텍스트 값을 설정해야 합니다. (그렇지 않으면 SELinux는 클라이언트가 공유에 액세스하지 못하게 합니다.)


setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
getsebool –a | grep samba_export
semanage fcontext –at samba_share_t "/finance(/.*)?"
restorecon /finance

또한 방화벽이 Samba 트래픽을 허용하는지 확인해야 합니다.


firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

4단계: Samba 공유 구성

이제 /etc/samba/smb.conf 구성 파일을 살펴보고 공유할 섹션을 추가할 차례입니다. finance 그룹의 구성원이 /finance의 내용을 탐색하고 /를 저장하려면 그 안에 파일이나 하위 디렉터리를 만듭니다(기본적으로 권한 비트는 0770으로 설정됩니다). finance가 그룹 소유자가 됩니다):


[finance]
comment=Directory for collaboration of the company's finance team
browsable=yes
path=/finance
public=no
valid users=@finance
write list=@finance
writeable=yes
create mask=0770
Force create mode=0770
force group=finance

파일을 저장한 다음 testparm 유틸리티를 사용하여 테스트합니다. 오류가 있는 경우 다음 명령의 출력에 수정해야 할 사항이 표시됩니다. 그렇지 않으면 Samba 서버 구성에 대한 검토가 표시됩니다.

공개적으로 공개된(어떤 인증도 없이) 다른 공유를 추가하려면 /etc/samba/smb.conf에 다른 섹션을 만들고 새 공유 이름 아래에 위 섹션을 복사하세요. , public=nopublic=yes로 변경하고 유효한 사용자 및 쓰기 목록 지시어는 포함하지 않습니다.

5단계: Samba 사용자 추가

다음으로 user1user2를 Samba 사용자로 추가해야 합니다. 이를 위해 Samba의 내부 데이터베이스와 상호작용하는 smbpasswd 명령을 사용합니다. 나중에 공유에 연결하는 데 사용할 비밀번호를 입력하라는 메시지가 표시됩니다.


smbpasswd -a user1
smbpasswd -a user2

마지막으로 Samba를 다시 시작하고 부팅 시 서비스가 시작되도록 활성화한 다음 네트워크 클라이언트에서 공유를 실제로 사용할 수 있는지 확인하세요.


systemctl start smb
systemctl enable smb
smbclient -L localhost –U user1
smbclient -L localhost –U user2

이제 Samba 파일 서버가 올바르게 설치 및 구성되었습니다. 이제 RHEL 7Windows 8 클라이언트에서 이 설정을 테스트할 차례입니다.

6단계: Linux에서 Samba 공유 마운트

먼저 이 클라이언트에서 Samba 공유에 액세스할 수 있는지 확인하십시오.


smbclient –L 192.168.0.18 -U user2

(user1에 대해 위 명령을 반복하십시오)

다른 저장 매체와 마찬가지로 필요할 때 이 네트워크 공유를 마운트(나중에 마운트 해제)할 수 있습니다.


mount //192.168.0.18/finance /media/samba -o username=user1

(여기서 /media/samba는 기존 디렉터리입니다)

또는 /etc/fstab 파일에 다음 항목을 추가하여 영구적으로:


//192.168.0.18/finance /media/samba cifs credentials=/media/samba/.smbcredentials,defaults 0 0

숨겨진 파일 /media/samba/.smbcredentials(권한과 소유권이 각각 600root:root로 설정됨)에 포함된 위치 공유를 사용하도록 허용된 계정의 사용자 이름과 비밀번호를 나타내는 두 줄:


username=user1
password=PasswordForUser1

마지막으로 /finance 내에 파일을 만들고 권한과 소유권을 확인하겠습니다.


touch /media/samba/FileCreatedInRHELClient.txt

보시다시피 파일은 0770 권한과 user1:finance로 설정된 소유권으로 생성되었습니다.

7단계: Windows에서 Samba 공유 마운트

Windows에서 Samba 공유를 마운트하려면 내 PC로 이동하여 컴퓨터를 선택한 다음 네트워크 드라이브 연결을 선택하세요. 다음으로, 매핑할 드라이브에 문자를 할당하고 다른 자격 증명을 사용하여 연결을 선택합니다(아래 스크린샷은 내 모국어인 스페인어로 되어 있습니다).

마지막으로 파일을 생성하고 권한과 소유권을 확인하겠습니다.


ls -l /finance

이번에는 파일이 Windows 클라이언트에서 연결하는 데 사용한 계정인 user2에 속합니다.

요약

이 문서에서는 서로 다른 운영 체제를 사용하여 Samba 서버와 두 개의 클라이언트를 설정하는 방법뿐만 아니라 원하는 그룹 공동 작업 기능을 허용하도록 서버에서 방화벽 및 SELinux를 구성하는 방법도 설명했습니다.

마지막으로, 이 기사에서 설명하는 시나리오보다 귀하의 경우에 더 적합할 수 있는 다른 구성 지시문을 탐색하려면 smb.conf의 온라인 매뉴얼 페이지를 읽어 보시기 바랍니다.

언제나 그렇듯이 의견이나 제안 사항이 있으면 아래 양식을 사용하여 자유롭게 의견을 남겨주세요.