기계적 인조 인간

CentOS 7에서 Samba 설치 및 구성 방법

[ GlusterFS 2 ] How to install Gluster FS in CentOS 7

[ GlusterFS 2 ] How to install Gluster FS in CentOS 7

차례:

Anonim

Samba는 SMB / CIFS 네트워크 파일 공유 프로토콜을 무료로 오픈 소스로 다시 구현하여 최종 사용자가 파일, 프린터 및 기타 공유 리소스에 액세스 할 수 있도록합니다.

이 자습서에서는 CentOS 7에 Samba를 설치하고이를 네트워크를 통해 다른 운영 체제에서 파일 공유를 제공하기 위해 독립형 서버로 구성하는 방법을 보여줍니다.

다음 Samba 공유 및 사용자를 만듭니다.

사용자:

  • sadmin- 모든 공유에 대한 읽기 및 쓰기 액세스 권한이있는 관리 사용자. josh- 개인 파일 공유가있는 일반 사용자입니다.

주식:

  • 사용자 -이 공유는 모든 사용자가 읽기 / 쓰기 권한으로 액세스 할 수 있습니다. josh- 이 공유는 사용자 josh 및 sadmin 만 읽기 / 쓰기 권한으로 액세스 할 수 있습니다.

파일 공유는 네트워크의 모든 장치에서 액세스 할 수 있습니다. 학습서의 뒷부분에서 Linux, Windows 및 macOS 클라이언트에서 Samba 서버에 연결하는 방법에 대한 자세한 지시 사항도 제공합니다.

전제 조건

시작하기 전에 sudo 권한이있는 사용자로 CentOS 7 시스템에 로그인했는지 확인하십시오.

CentOS에 Samba 설치

Samba는 표준 CentOS 리포지토리에서 사용할 수 있습니다. CentOS 시스템에 설치하려면 다음 명령을 실행하십시오.

sudo yum install samba samba-client

설치가 완료되면 Samba 서비스를 시작하고 시스템 부팅시 자동으로 시작되도록하십시오.

sudo systemctl start smb.service sudo systemctl start nmb.service

sudo systemctl enable smb.service sudo systemctl enable nmb.service

smbd 서비스는 파일 공유 및 인쇄 서비스를 제공하고 TCP 포트 139 및 445에서 수신 대기합니다. nmbd 서비스는 NetBIOS over IP 이름 지정 서비스를 클라이언트에 제공하고 UDP 포트 137에서 수신 대기합니다.

방화벽 구성

Samba가 CentOS 머신에 설치되어 실행 중이므로 방화벽을 구성하고 필요한 포트를 열어야합니다. 이렇게하려면 다음 명령을 실행하십시오.

firewall-cmd --permanent --zone=public --add-service=samba firewall-cmd --zone=public --add-service=samba

Samba 사용자 및 디렉토리 구조 작성

표준 홈 디렉토리 ( /home/user )를 사용하는 대신 유지 보수 및 유연성을 향상시키기 위해 모든 Samba 디렉토리 및 데이터는 /samba 디렉토리에 있습니다.

/samba 디렉토리를 작성하여 시작하십시오.

sudo mkdir /samba

sambashare 라는 새 그룹을 만듭니다. 나중에 모든 Samba 사용자를이 그룹에 추가 할 것입니다.

sudo groupadd sambashare

/samba 디렉토리 그룹 소유권을 sambashare 설정하십시오.

sudo chgrp sambashare /samba

Samba는 Linux 사용자 및 그룹 권한 시스템을 사용하지만 표준 Linux 인증과는 별도로 자체 인증 메커니즘을 가지고 있습니다. 표준 Linux useradd 도구를 사용하여 사용자를 작성한 다음 smbpasswd 유틸리티를 사용하여 사용자 비밀번호를 설정합니다.

소개에서 언급했듯이 개인 파일 공유에 액세스 할 수있는 일반 사용자와 Samba 서버의 모든 공유에 대한 읽기 및 쓰기 액세스 권한이있는 하나의 관리 계정을 만듭니다.

Samba 사용자 생성

josh 라는 새 사용자를 작성하려면 다음 명령을 사용하십시오.

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

useradd 옵션의 의미는 다음과 같습니다.

  • -M-사용자의 홈 디렉토리를 작성하지 마십시오. 이 디렉토리를 수동으로 만듭니다. -d /samba/josh 사용자의 홈 디렉토리를 /samba/josh 합니다. -s /usr/sbin/nologin 이 사용자에 대한 쉘 액세스를 비활성화합니다. -G sambashare - sambashare 그룹에 사용자를 추가하십시오.

사용자의 홈 디렉토리를 작성하고 디렉토리 소유권을 사용자 josh 및 그룹 sambashare .

sudo mkdir /samba/josh sudo chown josh:sambashare /samba/josh

다음 명령은 setgid 비트를 /samba/josh 디렉토리에 추가 /samba/josh 디렉토리에서 새로 작성된 파일은 상위 디렉토리 그룹을 상속합니다. 이런 식으로, 어떤 사용자가 새 파일을 작성하든 파일은 sambashare 그룹 소유자를 sambashare . 예를 들어, 디렉토리 권한을 2770 설정하지 않고 sadmin 사용자가 새 파일을 작성하면 사용자 josh 가이 파일을 읽거나 쓸 수 없습니다.

sudo chmod 2770 /samba/josh

사용자 비밀번호를 설정하여 josh 사용자 계정을 Samba 데이터베이스에 추가하십시오.

sudo smbpasswd -a josh

사용자 비밀번호를 입력하고 확인하라는 메시지가 표시됩니다.

New SMB password: Retype new SMB password: Added user josh.

비밀번호가 설정되면 다음을 입력하여 Samba 계정을 활성화하십시오.

sudo smbpasswd -e josh

Enabled user josh.

다른 사용자를 작성하려면 사용자 josh 작성시와 동일한 프로세스를 반복하십시오.

다음으로, 사용자 및 그룹 sadmin 작성하십시오. 이 그룹의 모든 구성원에게는 관리 권한이 있습니다. 나중에 다른 사용자에게 관리 권한을 부여하려면 해당 사용자를 sadmin 그룹에 추가하면됩니다.

다음을 입력하여 관리 사용자를 작성하십시오.

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

위의 명령은 또한 sadmin 그룹을 만들고 sadmin sambashare 그룹 모두에 사용자를 추가합니다.

비밀번호를 설정하고 사용자를 활성화하십시오.

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

다음으로, Users 공유 디렉토리를 작성하십시오.

sudo mkdir /samba/users

디렉토리 소유권을 사용자 sadmin 및 그룹 sambashare 로 설정하십시오.

sudo chown sadmin:sambashare /samba/users

이 디렉토리는 인증 된 모든 사용자가 액세스 할 수 있습니다. 다음 명령은 /samba/users 디렉토리에서 sambashare 그룹의 구성원에 대한 쓰기 / 읽기 액세스를 구성합니다.

sudo chmod 2770 /samba/users

Samba 공유 구성

Samba 구성 파일을 열고 다음 섹션을 추가하십시오.

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

옵션의 의미는 다음과 같습니다.

  • -로그인 할 때 사용할 공유 이름. path 공유 경로. browseable -공유가 사용 가능한 공유 목록에 나열되어야하는지 여부입니다. 다른 사용자를 설정하지 않으면 공유를 볼 수 없습니다. read only - valid users 목록에 지정된 valid users 가이 공유에 쓸 수 있는지 여부 force create mode -이 공유에서 새로 작성된 파일에 대한 권한을 설정합니다. force directory mode -이 공유에서 새로 작성된 디렉토리에 대한 권한을 설정합니다. valid users -공유에 액세스 할 수있는 사용자 및 그룹 목록입니다. 그룹 앞에는 @ 기호가 붙습니다.

사용 가능한 옵션에 대한 자세한 내용은 Samba 구성 파일 설명서 페이지를 참조하십시오.

완료되면 다음을 사용하여 Samba 서비스를 다시 시작하십시오.

sudo systemctl restart smb.service sudo systemctl restart nmb.service

다음 섹션에서는 Linux, macOS 및 Windows 클라이언트에서 Samba 공유에 연결하는 방법을 보여줍니다.

Linux에서 Samba 공유에 연결

Linux 사용자는 파일 관리자를 사용하여 명령 행에서 samba 공유에 액세스하거나 Samba 공유를 마운트 할 수 있습니다.

smbclient 클라이언트 사용

smbclient 는 명령 줄에서 Samba에 액세스 할 수있는 도구입니다. smbclient 패키지는 대부분의 Linux 배포판에 사전 설치되어 있지 않으므로 배포 패키지 관리자와 함께 설치해야합니다.

Ubuntu 및 Debian에 smbclient 를 설치하려면 다음을 실행하십시오.

sudo apt install smbclient

CentOS 및 Fedora에 smbclient 를 설치하려면 다음을 실행하십시오.

sudo yum install samba-client

Samba 공유에 액세스하는 구문은 다음과 같습니다.

mbclient //samba_hostname_or_server_ip/share_name -U username

예를 들어 IP 주소가 192.168.121.118 Samba 서버에서 josh 라는 공유에 사용자 josh 하려면 다음을 실행하십시오.

smbclient //192.168.121.118/josh -U josh

사용자 비밀번호를 입력하라는 메시지가 표시됩니다.

Enter WORKGROUP\josh's password:

비밀번호를 입력하면 Samba 명령 행 인터페이스에 로그인됩니다.

Try "help" to get a list of possible commands. smb: \>

삼바 공유하기

Linux에서 Samba 공유를 마운트하려면 먼저 cifs-utils 패키지를 설치해야합니다.

우분투와 데비안에서 다음을 실행하십시오.

sudo apt install cifs-utils

CentOS 및 Fedora에서 다음을 실행하십시오.

sudo yum install cifs-utils

다음으로 마운트 지점을 만듭니다.

sudo mkdir /mnt/smbmount

다음 명령을 사용하여 공유를 마운트하십시오.

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

예를 들어 IP 사용자 이름이 192.168.121.118 Samba 서버에 josh 라는 공유를 /mnt/smbmount 마운트 지점에 사용자 josh 로 마운트하려면 다음을 실행하십시오.

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

사용자 비밀번호를 입력하라는 메시지가 표시됩니다.

Password for josh@//192.168.121.118/josh: ********

GUI 사용

Gnome의 기본 파일 관리자 인 Files에는 Samba 공유에 액세스 할 수있는 내장 옵션이 있습니다.

  1. 파일을 열고 사이드 바에서 "기타 위치"를 클릭하십시오. "서버에 연결"에서 smb://samba_hostname_or_server_ip/sharename 형식으로 Samba 공유 주소를 입력하십시오. "연결"을 클릭하면 다음 화면이 나타납니다.

결론

이 학습서에서는 CentOS 7에 Samba 서버를 설치하고 다른 유형의 공유 및 사용자를 작성하는 방법을 배웠습니다. 또한 Linux, macOS 및 Windows 장치에서 Samba 서버에 연결하는 방법도 보여주었습니다.

삼바 센 토스