1.15. 인쇄 서버로 Samba 설정

Samba를 출력 서버로 설정하면 네트워크의 클라이언트가 Samba를 사용하여 출력할 수 있습니다. 또한 Windows 클라이언트가 구성된 경우 Samba 서버에서 드라이버를 다운로드할 수 있습니다.

이 섹션의 일부는 Samba Wiki에 게시된 Print Server 설명서로 Samba 설정에서 채택되었습니다. 라이센스: CC BY 4.0. 작성자 및 기여자: Wiki 페이지의 기록 탭을 참조하십시오.

사전 요구 사항

Samba는 다음 모드 중 하나로 설정되었습니다.

1.15.1. Samba에서 출력 서버 지원 활성화

기본적으로 인쇄 서버 지원은 Samba에서 활성화되어 있지 않습니다. Samba를 인쇄 서버로 사용하려면 그에 따라 Samba를 구성해야 합니다.

참고

출력 작업 및 프린터 작업에는 원격 프로시저 호출(RPC)이 필요합니다. 기본적으로 Samba는 RPC를 관리하기 위해 필요에 따라 rpcd_spool s 서비스를 시작합니다. 첫 번째 RPC 호출 중 또는 CUPS에서 프린터 목록을 업데이트할 때 Samba는 CUPS에서 프린터 정보를 검색합니다. 이 경우 프린터당 약 1초가 걸릴 수 있습니다. 따라서 50개 이상의 프린터가 있는 경우 rpcd_spools 설정을 조정하십시오.

사전 요구 사항

  • 프린터는 CUPS 서버에서 구성됩니다.

    CUPS에서 프린터를 구성하는 방법에 대한 자세한 내용은 인쇄 서버의 CUPS 웹 콘솔(https://printserver:631/help)에 제공된 설명서를 참조하십시오.

절차

  1. /etc/samba/smb.conf 파일을 편집합니다.

    1. [ECDHEs] 섹션을 추가하여 Samba에서 출력 백엔드를 활성화합니다.

      [printers]
              comment = All Printers
              path = /var/tmp/
              printable = yes
              create mask = 0600
      중요

      [databinds] 공유 이름은 하드 코딩되며 변경할 수 없습니다.

    2. CUPS 서버가 다른 호스트 또는 포트에서 실행되는 경우 [ECDHEs] 섹션에서 설정을 지정합니다.

      cups server = printserver.example.com:631
    3. 프린터가 많으면 CUPS에 연결된 프린터 수보다 유휴 초의 수를 더 높은 값으로 설정합니다. 예를 들어 프린터가 100개 있는 경우 [global] 섹션에 설정합니다.

      rpcd_spoolss:idle_seconds = 200

      이 설정이 환경에서 확장되지 않는 경우 [global] 섹션의 rpcd_spools 작업자 수도 늘립니다.

      rpcd_spoolss:num_workers = 10

      기본적으로 rpcd_spools는 5개의 작업자를 시작합니다.

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

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

    # firewall-cmd --permanent --add-service=samba
    # firewall-cmd --reload
  4. smb 서비스를 다시 시작하십시오.

    # systemctl restart smb

    서비스를 다시 시작한 후 Samba는 CUPS 백엔드에 구성된 모든 프린터를 자동으로 공유합니다. 특정 프린터만 수동으로 공유하려면 특정 프린터를 수동으로 공유를 참조하십시오.

검증

  • 출력 작업을 제출합니다. 예를 들어pdf 파일을 인쇄하려면 다음을 입력합니다.

    # smbclient -Uuser //sambaserver.example.com/printer_name -c "print example.pdf"

1.15.2. 수동으로 특정 프린터 공유

Samba를 출력 서버로 구성한 경우 기본적으로 Samba는 CUPS 백엔드에 구성된 모든 프린터를 공유합니다. 다음 절차에서는 특정 프린터만 공유하는 방법을 설명합니다.

사전 요구 사항

  • Samba가 인쇄 서버로 설정

절차

  1. /etc/samba/smb.conf 파일을 편집합니다.

    1. [global] 섹션에서 설정을 설정하여 자동 프린터 공유를 비활성화합니다.

      load printers = no
    2. 공유할 각 프린터에 대해 섹션을 추가합니다. 예를 들어 CUPS 백엔드에 example 이라는 프린터를 Samba에서 Example- printer로 공유하려면 다음 섹션을 추가합니다.

      [Example-Printer]
              path = /var/tmp/
              printable = yes
              printer name = example

      각 프린터마다 개별 스풀 디렉터리가 필요하지 않습니다. [915s] 섹션에서 설정한 것과 동일한 spool 디렉터리를 프린터의 path 매개변수에 설정할 수 있습니다.

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

    # testparm
  3. Samba 구성을 다시 로드합니다.

    # smbcontrol all reload-config