데비안 8에서 Samba 4.2.10 및 CUPS 1.7.5를 실행하고 있습니다. 서버는 도메인 구성원입니다. CUPS에는 여러 프린터가 있으며 Samba와 공유했습니다. CUPS에서 테스트 페이지를 인쇄하면 IPP 및 Samba를 통해 Windows 클라이언트에서 인쇄가 정상적으로 작동합니다. Point'n'Print를 설정하고 싶습니다-Windows 드라이버를 print $ 공유로 공유하면 Windows 클라이언트가 프린터에 연결할 때 자동으로 선택할 수 있습니다.
내가 /usr/share/samba/drivers
찾은 모든 자습서에 명시된대로 CUPS 및 Windows PS 드라이버를 저장하고 다음 과 같이 내보내려고했습니다.
cupsaddsmb -U root -a -v
이 명령은 share 내에 W32X86 및 x64 폴더를 생성 print$
하고 드라이버 파일을 복사 한 후 다음 명령을 사용하여 드라이버를 프린터와 연결하려고 시도합니다.
rpcclient localhost -N -A /tmp/0141f574d8313 -c 'setdriver PV PV'
그리고 그것은이 오류로 끝납니다 :
resolve_lmhosts: Attempting lmhosts lookup for name localhost<0x20>
resolve_lmhosts: Attempting lmhosts lookup for name localhost<0x20>
resolve_wins: WINS server resolution selected and no WINS servers listed.
resolve_hosts: Attempting host lookup for name localhost<0x20>
Connecting to ::1 at port 445
Doing spnego session setup (blob length=96)
got OID=1.2.840.48018.1.2.2
got OID=1.2.840.113554.1.2.2
got OID=1.3.6.1.4.1.311.2.2.10
got principal=not_defined_in_RFC4178@please_ignore
GENSEC backend 'gssapi_spnego' registered
GENSEC backend 'gssapi_krb5' registered
GENSEC backend 'gssapi_krb5_sasl' registered
GENSEC backend 'spnego' registered
GENSEC backend 'schannel' registered
GENSEC backend 'naclrpc_as_system' registered
GENSEC backend 'sasl-EXTERNAL' registered
GENSEC backend 'ntlmssp' registered
GENSEC backend 'ntlmssp_resume_ccache' registered
GENSEC backend 'http_basic' registered
GENSEC backend 'http_ntlm' registered
GENSEC backend 'krb5' registered
GENSEC backend 'fake_gssapi_krb5' registered
Got challenge flags:
Got NTLMSSP neg_flags=0x62898215
NTLMSSP: Set final flags:
Got NTLMSSP neg_flags=0x62088215
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x62088215
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x62088215
SetPrinter call failed!
result was WERR_ACCESS_DENIED
여기 에서 언급 했듯이이 명령을 실행하는 사용자에게는 SePrintOperatorPrivilege가 있어야합니다. 이것을 루트로 실행하고 있으므로 samba에 사용자를 추가했습니다.
smbpasswd -a root
원하는 권한을 추가하십시오.
net rpc rights grant root SePrintOperatorPrivilege
그리고 설정을 확인했습니다.
# net rpc rights list root
SeMachineAccountPrivilege
SeRemoteShutdownPrivilege
SePrintOperatorPrivilege
SeAddUsersPrivilege
SeDiskOperatorPrivilege
모든 것이 괜찮은 것 같습니다. 따라서 드라이버와 프린터를 수동으로 다시 연결하십시오.
# rpcclient localhost -c 'setdriver PV PV'
Registered MSG_REQ_POOL_USAGE
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
Enter root's password:
Connecting to ::1 at port 445
Doing spnego session setup (blob length=96)
got OID=1.2.840.48018.1.2.2
got OID=1.2.840.113554.1.2.2
got OID=1.3.6.1.4.1.311.2.2.10
got principal=not_defined_in_RFC4178@please_ignore
GENSEC backend 'gssapi_spnego' registered
GENSEC backend 'gssapi_krb5' registered
GENSEC backend 'gssapi_krb5_sasl' registered
GENSEC backend 'spnego' registered
GENSEC backend 'schannel' registered
GENSEC backend 'naclrpc_as_system' registered
GENSEC backend 'sasl-EXTERNAL' registered
GENSEC backend 'ntlmssp' registered
GENSEC backend 'ntlmssp_resume_ccache' registered
GENSEC backend 'http_basic' registered
GENSEC backend 'http_ntlm' registered
GENSEC backend 'krb5' registered
GENSEC backend 'fake_gssapi_krb5' registered
Got challenge flags:
Got NTLMSSP neg_flags=0x62898215
NTLMSSP: Set final flags:
Got NTLMSSP neg_flags=0x62088215
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x62088215
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x62088215
SetPrinter call failed!
result was WERR_ACCESS_DENIED
같은 문제이며 아이디어가 부족합니다. 드라이버 파일을 print$
공유하고 printmanagement.msc
Windows 클라이언트의 콘솔을 통해 볼 수 있습니다 . 그 관리 콘솔에서도 연결을 수행 할 수 없습니다. 대화 상자를 저장하면 "프린터 설정을 저장할 수 없습니다. 액세스가 거부되었습니다."라는 메시지가 나타납니다. 아마도 위와 같은 문제 일 것입니다. 그러나이 경우 SePrintOperatorPrivilege가없는 도메인 사용자로 액세스하고 있으므로 여기를 비난하지 마십시오.)