1.3. 독립 실행형 서버로 Samba 설정

Samba를 도메인의 멤버가 아닌 서버로 설정할 수 있습니다. 이 설치 모드에서 Samba는 중앙 DC가 아니라 로컬 데이터베이스로 사용자를 인증합니다. 또한 게스트 액세스를 활성화하여 사용자가 인증 없이 하나 이상의 서비스에 연결할 수 있습니다.

1.3.1. 독립 실행형 서버에 대한 서버 구성 설정

Samba 독립 실행형 서버에 대한 서버 구성을 설정할 수 있습니다.

절차

  1. samba 패키지를 설치합니다.

    # dnf install samba
  2. /etc/samba/smb.conf 파일을 편집하고 다음 매개변수를 설정합니다.

    [global]
    	workgroup = Example-WG
    	netbios name = Server
    	security = user
    
    	log file = /var/log/samba/%m.log
    	log level = 1

    이 구성은 Example-WG 작업 그룹 내에서 Server 라는 독립 실행형 서버를 정의합니다. 또한 이 구성을 사용하면 최소 수준(1)에서 로깅할 수 있으며 로그 파일은 /var/log/samba/ 디렉터리에 저장됩니다. Samba는 log file 매개 변수의 %m 매크로를 클라이언트 연결의 NetBIOS 이름으로 확장합니다. 이를 통해 각 클라이언트에 대한 개별 로그 파일이 활성화됩니다.

  3. 선택적으로 파일 또는 프린터 공유를 구성합니다. 다음 내용을 참조하십시오.

  4. /etc/samba/smb.conf 파일을 확인합니다.

    # testparm
  5. 인증이 필요한 공유를 설정하면 사용자 계정을 생성합니다.

    자세한 내용은 로컬 사용자 계정 생성 및 활성화를 참조하십시오.

  6. 필요한 포트를 열고 firewall-cmd 유틸리티를 사용하여 방화벽 구성을 다시 로드합니다.

    # firewall-cmd --permanent --add-service=samba
    # firewall-cmd --reload
  7. smb 서비스를 활성화하고 시작합니다.

    # systemctl enable --now smb

추가 리소스

  • smb.conf(5) man page

1.3.2. 로컬 사용자 계정 생성 및 활성화

사용자가 공유에 연결할 때 인증할 수 있도록 하려면 운영 체제와 Samba 데이터베이스에서 Samba 호스트에 계정을 만들어야 합니다. Samba는 파일 시스템 개체 및 Samba 계정에서 연결 사용자를 인증하기 위해 운영 체제 계정이 ACL(액세스 제어 목록)의 유효성을 검사해야 합니다.

passdb backend = tdbsam 기본 설정을 사용하는 경우 Samba는 사용자 계정을 /var/lib/samba/private/passdb.tdb 데이터베이스에 저장합니다.

example 이라는 로컬 Samba 사용자를 만들 수 있습니다.

사전 요구 사항

  • Samba는 독립 실행형 서버로 설치 및 구성됩니다.

절차

  1. 운영 체제 계정을 생성합니다.

    # useradd -M -s /sbin/nologin example

    이 명령은 홈 디렉터리를 생성하지 않고 example 계정을 추가합니다. 계정이 Samba로 인증하는 데만 사용되는 경우 계정이 로컬에 로그인하지 못하도록 /sbin/nologin 명령을 쉘로 할당합니다.

  2. 활성화하려면 암호를 운영 체제 계정으로 설정합니다.

    # passwd example
    Enter new UNIX password: password
    Retype new UNIX password: password
    passwd: password updated successfully

    Samba는 운영 체제 계정에 설정된 암호를 사용하여 인증하지 않습니다. 그러나 계정을 활성화하려면 암호를 설정해야 합니다. 계정이 비활성화되어 있으면 Samba는 이 사용자가 연결하면 액세스를 거부합니다.

  3. 사용자를 Samba 데이터베이스에 추가하고 암호를 계정으로 설정합니다.

    # smbpasswd -a example
    New SMB password: password
    Retype new SMB password: password
    Added user example.

    이 계정을 사용하여 Samba 공유에 연결할 때 인증하려면 이 암호를 사용합니다.

  4. Samba 계정을 활성화합니다.

    # smbpasswd -e example
    Enabled user example.