1.16. Samba 인쇄 서버에서 Windows 클라이언트의 자동 프린터 드라이버 다운로드 설정

Windows 클라이언트용 Samba 출력 서버를 실행하는 경우 드라이버를 업로드하고 프린터를 사전 설정할 수 있습니다. 사용자가 프린터에 연결하면 Windows가 클라이언트에서 로컬로 드라이버를 다운로드하여 설치합니다. 사용자는 설치에 대한 로컬 관리자 권한이 필요하지 않습니다. 또한 Windows는 자동 마운 수와 같은 사전 구성된 드라이버 설정을 적용합니다.

이 섹션의 일부는 Samba Wiki에 게시된 Windows 클라이언트용 자동 printer Driver Downloads 에서 채택되었습니다. 라이센스: CC BY 4.0. 작성자 및 기여자: Wiki 페이지의 기록 탭을 참조하십시오.

사전 요구 사항

  • Samba가 인쇄 서버로 설정

1.16.1. 프린터 드라이버에 대한 기본 정보

이 섹션에서는 프린터 드라이버에 대한 일반 정보를 제공합니다.

지원되는 드라이버 모델 버전

Samba는 Windows 2000 이상 및 Windows Server 2000 이상에서 지원되는 프린터 드라이버 모델 버전 3만 지원합니다. Samba는 Windows 8 및 Windows Server 2012에 도입된 드라이버 모델 버전 4를 지원하지 않습니다. 그러나 이러한 버전과 이후의 Windows 버전에서는 버전 3 드라이버도 지원합니다.

패키지 인식 드라이버

Samba는 패키지 인식 드라이버를 지원하지 않습니다.

업로드를 위한 프린터 드라이버 준비

드라이버를 Samba 출력 서버에 업로드하려면 먼저 다음을 수행합니다.

  • 압축된 형식으로 제공되는 경우 드라이버의 압축을 풉니다.
  • 일부 드라이버는 Windows 호스트에서 로컬로 드라이버를 설치하는 설정 애플리케이션을 시작해야 합니다. 특정 상황에서 설치 프로그램은 설치 프로그램이 실행되는 동안 운영 체제의 임시 폴더에 개별 파일을 추출합니다. 드라이버 파일을 업로드에 사용하려면 다음을 수행합니다.

    1. 설치 프로그램을 시작합니다.
    2. 임시 폴더의 파일을 새 위치로 복사합니다.
    3. 설치를 취소합니다.

인쇄 서버에 업로드를 지원하는 드라이버를 프린터 제조업체에 요청합니다.

클라이언트에 프린터를 위한 32비트 및 64비트 드라이버 제공

32비트 및 64비트 Windows 클라이언트 모두에 대한 프린터 드라이버를 제공하려면 두 아키텍처에서 정확히 동일한 이름으로 드라이버를 업로드해야 합니다. 예를 들어 ExampleECDHE(v1.0)라는 32비트 드라이버를 업로드하고 이름이 Example ECDHE (v1.0) 인 64비트 드라이버를 업로드하는 경우 이름이 일치하지 않습니다. 따라서 드라이버 중 하나만 프린터에 할당할 수 있으며 두 아키텍처에서 드라이버를 사용할 수 없습니다.

1.16.2. 사용자가 드라이버를 업로드하고 사전 구성 가능

프린터 드라이버를 업로드하고 사전 구성할 수 있으려면 사용자 또는 그룹에 Se printsOperatorPrivilege 권한이 부여되어야 합니다. 사용자를 printadmin 그룹에 추가해야 합니다. Red Hat Enterprise Linux는 samba 패키지를 설치할 때 이 그룹을 자동으로 생성합니다. printadmin 그룹에는 1000 미만의 사용 가능한 동적 시스템 GID가 할당됩니다.

절차

  1. 예를 들어 SeprintOperatorPrivilege 권한을 printadmin 그룹에 부여하려면 다음을 수행합니다.

    # net rpc rights grant "printadmin" SePrintOperatorPrivilege -U "DOMAIN\administrator"
    Enter DOMAIN\administrator's password:
    Successfully granted rights.
    참고

    도메인 환경에서 SeprintOperatorPrivilege 을 도메인 그룹에 부여합니다. 이를 통해 사용자의 그룹 멤버십을 업데이트하여 권한을 중앙에서 관리할 수 있습니다.

  2. SeprintOperatorPrivilege 이 부여된 모든 사용자 및 그룹을 나열하려면 다음을 수행합니다.

    # net rpc rights list privileges SePrintOperatorPrivilege -U "DOMAIN\administrator"
    Enter administrator's password:
    SePrintOperatorPrivilege:
      BUILTIN\Administrators
      DOMAIN\printadmin

1.16.3. print$ 공유 설정

Windows 운영 체제는 인쇄 서버에서 print$ 라는 공유에서 프린터 드라이버를 다운로드합니다. 이 공유 이름은 Windows에서 하드 코딩되며 변경할 수 없습니다.

다음 절차에서는 /var/lib/ controlPlane/drivers/ 디렉터리를 print$ 로 공유하고 로컬 printadmin 그룹의 멤버를 활성화하여 프린터 드라이버를 업로드하는 방법을 설명합니다.

절차

  1. [print$] 섹션을 /etc/ controlPlane/ECDHE.conf 파일에 추가합니다.

    [print$]
            path = /var/lib/samba/drivers/
            read only = no
            write list = @printadmin
            force group = @printadmin
            create mask = 0664
            directory mask = 2775

    다음 설정을 사용합니다.

    • printadmin 그룹의 멤버만 프린터 드라이버를 공유에 업로드할 수 있습니다.
    • 새로 생성된 파일과 디렉토리의 그룹이 printadmin으로 설정됩니다.
    • 새 파일의 권한은 664로 설정됩니다.
    • 새 디렉터리의 권한은 2775로 설정됩니다.
  2. 모든 프린터에 대한 64비트 드라이버만 업로드하려면 다음 설정을 /etc/ controlPlane/octets.conf 파일의 [global] 섹션에 추가합니다.

    spoolss: architecture = Windows x64

    이 설정을 사용하지 않으면 Windows에 최소 32비트 버전을 업로드한 드라이버만 표시됩니다.

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

    # testparm
  4. Samba 구성 다시 로드

    # smbcontrol all reload-config
  5. printadmin 그룹이 없는 경우 해당 그룹을 생성합니다.

    # groupadd printadmin
  6. SeprintOperatorPrivilege 권한을 printadmin 그룹에 부여합니다.

    # net rpc rights grant "printadmin" SePrintOperatorPrivilege -U "DOMAIN\administrator"
    Enter DOMAIN\administrator's password:
    Successfully granted rights.
  7. enforcing 모드에서 SELinux를 실행하는 경우 디렉터리에 samba_share_t 컨텍스트를 설정합니다.

    # semanage fcontext -a -t samba_share_t "/var/lib/samba/drivers(/.)?" # *restorecon -Rv /var/lib/samba/drivers/
  8. /var/lib/samba/drivers/ 디렉터리에 대한 권한을 설정합니다.

    • POSIX ACL을 사용하는 경우 다음을 설정합니다.

      # chgrp -R "printadmin" /var/lib/samba/drivers/
      # chmod -R 2775 /var/lib/samba/drivers/
    • Windows ACL을 사용하는 경우 다음을 설정합니다.

      보안 주체액세스적용 대상

      CREATOR OWNER

      완전 제어

      하위 폴더 및 파일만

      Authenticated Users

      읽기 및 실행, 폴더 내용 나열, 읽기

      이 폴더, 하위 폴더 및 파일

      printadmin

      완전 제어

      이 폴더, 하위 폴더 및 파일

      Windows에서 ACL 설정에 대한 자세한 내용은 Windows 설명서를 참조하십시오.

1.16.4. 클라이언트가 Samba 인쇄 서버를 신뢰할 수 있도록 VDDK 만들기

보안상의 이유로 최근 Windows 운영 체제는 클라이언트가 신뢰할 수 없는 서버에서 패키지 인식 프린터 드라이버를 다운로드하지 못하도록 합니다. 인쇄 서버가 AD의 멤버인 경우 도메인에 GPO(그룹 정책 개체)를 만들어 Samba 서버를 신뢰할 수 있습니다.

사전 요구 사항

  • Samba 출력 서버는 AD 도메인의 멤버입니다.
  • VDDK를 생성하는 데 사용하는 Windows 컴퓨터에는 Windows Remote Server Administration Tools(RSAT)가 설치되어 있어야 합니다. 자세한 내용은 Windows 설명서를 참조하십시오.

절차

  1. AD 도메인 Administrator 사용자와 같은 그룹 정책을 편집할 수 있는 계정을 사용하여 Windows 컴퓨터에 로그인합니다.
  2. Group Policy Management Console을 엽니다.
  3. AD 도메인을 마우스 오른쪽 버튼으로 클릭하고 이 도메인에서 VDDK 만들기를 선택하고 여기에 연결합니다.

    Samba에서 새 VDDK 생성
  4. Legacy printer Driver Policy와 같은 VDDK의 이름을 입력하고 확인을 클릭합니다. 새 GPO가 도메인 항목에 표시됩니다.
  5. 새로 만든 NetNamespace를 마우스 오른쪽 버튼으로 클릭하고 편집 을 선택하여 그룹 정책 관리 편집기 를 엽니다.
  6. Computer ConfigurationPoliciesAdministrative Templates이동합니다.

    Samba가 프린터 VDDK 그룹을 선택합니다.
  7. 창 오른쪽에 있는 Point 및 Print Restriction 을 두 번 클릭하여 정책을 편집합니다.

    1. 정책을 활성화하고 다음 옵션을 설정합니다.

      1. Users(사용자)는 이러한 서버를 가리키거나 출력할 수 있으며 Samba 인쇄 서버의 정규화된 도메인 이름(FQDN)을 이 옵션 옆에 있는 필드에 입력합니다.
      2. 보안 프롬프트 아래에 있는 두 확인란의 경우 경고 또는 설명 프롬프트가 표시되지 않음을 선택합니다.

        Samba VDDK 포인트 및 인쇄
    2. 확인을 클릭합니다.
  8. 패키지 포인트 및 인쇄 - 승인된 서버를 두 번 클릭하여 정책을 편집합니다.

    1. 정책을 활성화하고 Show (표시) 버튼을 클릭합니다.
    2. Samba 출력 서버의 FQDN을 입력합니다.

      Samba VDDK 승인 서버
    3. OK 를 클릭하여 Show Contents 및 정책의 속성 창을 모두 닫습니다.
  9. 그룹 정책 관리 편집기 를 닫습니다.
  10. 그룹 정책 관리 콘솔을 닫습니다.

Windows 도메인 멤버가 그룹 정책을 적용한 후 사용자가 프린터에 연결하면 Samba 서버에서 프린터 드라이버가 자동으로 다운로드됩니다.

추가 리소스

  • 그룹 정책을 사용하는 방법은 Windows 설명서를 참조하십시오.

1.16.5. 드라이버 업로드 및 프린터 사전 구성

Windows 클라이언트에서 Print Management 애플리케이션을 사용하여 Samba 인쇄 서버에서 호스팅되는 드라이버 및 사전 설정 프린터를 업로드합니다. 자세한 내용은 Windows 설명서를 참조하십시오.