Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

winbind versus krb5

Frage Linux Linux Userverwaltung

Mitglied: Mirkandol

Mirkandol (Level 1) - Jetzt verbinden

18.06.2009, aktualisiert 10:25 Uhr, 2425 Aufrufe

Wie kann ich Cups dazu bringen, dass es sich mit den jeweiligen AD Credentials am Windows Printserver authentifziert und nicht mit einem vorgegebenen Username:Passwort

Hallo,

Ich arbeite seit einiger Zeit an der Umsetzung einer Art Linux-"Terminalserver" in einer Windows Domäne.
Weitgehend ist auch alles umgesetzt, doch seitdem ich versuche Cups einzurichten, steigt meine Verwirrung ins Unermessliche.
Doch immer schön der Reihe nach.

Was ich habe:

- Windows 2003 Domäne im gemischten Modus
- 3x Debian Lenny auf dem neuesten Stand; jeder Server ist Memberserver der Domäne
- 1 Lenny ist der Masterserver, auf dem mit xr load balancing zur Verfügung gestellt wird.
- 2 Lennys sind die Backends von xr, auf denen x2go läuft (es könnte aber ohne großen Aufwand auch VNC, rdp, freenx, oder sonstiges bereitverwendet )
- Auf dem Masterserver werden per NFSv4 die Homeverzeichnisse zur Verfügung gestellt.
- Die Anmeldung mit AD Credentials funktioniert einwandfrei. Der Masterserver leitet die Verbindung weiter auf einen Backendserver. Bei der Erstanmeldung wird automatisch aus /etc/skel ein Homeverzeichnis generiert.
- Desktop Environment ist lxde

Was noch fehlt:

- Cups soll so konfiguriert werden, dass Druckaufträge auf den Windows Printserver (Win 2003) weitergeleitet werden.
- Da es sehr viele User sind, sollten gleich die AD Credentials verwendet werden, um sich gegenüber dem WinPrintserver zu authentifizieren. Ein fest vorgegebener Druckaccount kann nicht verwendet werden, da sonst die einzelnen Jobs nicht
mehr den Usern zuzuordnen sind.

Was mich verwirrt:

- Ich weiß nicht, wie die korrekte AD Gruppenbezeichnung in der cups.conf ist. Muss ich mit Winbind seperator + @HE+"Domain Users", oder @"HE+Domain Users", oder @HE+Domain Users, oder gar "@HE+Domain Users" verwenden.
Ich kann also gar nicht sagen, ob es nicht an sowas scheitert.
- Die größe Konfusion ergibt sich aber in Zusammenhang mit DefaultAuthType Negotiate. Prinzipiell wird cups dadurch ja kerberisiert. Das bedeutet, er sollte auf die AD Credentials zugreifen können. Wenn ich das einstelle, dann kann ich allerdings keine Drucker mehr hinzufügen, bzw. löschen, obwohl ich einen AD User in der cupsd.conf dafür berechtigt habe.
Bei genauerer Betrachtung ist mir dann aufgefallen, dass ich bei der Anmeldung am Backend zwar die AD Credentials verwenden kann und die Anmeldung auch einwandfrei funktioniert, ich aber kein Kerberos Ticket bekomme.
klist zeigt mir einen leeren Ticketcache. Ich kann mir mit kinit zwar ein Ticket holen, aber anscheinend wird das für nichts verwendet.
Auch wenn ich auf der Konsole mit root arbeite, dann kann ich mir mit getent passwd sämtliche User anzeigen lassen. Und den Account root gibt es in der AD nicht.
Wie ist das dann, wenn 10 Leute auf dem Server arbeiten? Kriegt dann jeder ein Ticket, brauchen sie das überhaupt und warum kann root die Domäne abfragen?
- krb5 versus winbind
In der PAM Konfiguration steht bei mir derzeit alles auf winbind. Allerdings steht in manchen Anleitungen winbind und in anderen krb5. Wenn ich alles auf krb5 umstelle, dann kann ich gleich die Rescue CD rausholen, um überhaupt wieder aufs System zu kommen.
Ich vermute allerdings, dass cups auf krb5 angewiesen ist (kerberisiertes Cups). Nur wie soll das ohne Ticket funktionieren?
Wie kann überhaupt winbind ohne Ticket funktionieren?

Je mehr ich darüber nachdenke, desto unklarer wird mir, warum die Anmeldung mit AD Credentials überhaupt funktioniert. Oder hat das was mit der 2003 Domäne im gemischten Modus zu tun?

Aber auch wenn ich das nie verstehe, die Hauptfrage ist, wie ich Cups dazu bringen kann, dass es die AD Credentials des druckenden Users nimmt und sich damit gegen den Windows Printserver für diesen Job zu authentifizieren (SSO). Am Schluß will ich die Windows Printqueue öffnen und den Job dann eindeutig anhand der AD User ID zuordnen können.
Geht das überhaupt unter Linux? Auf einem Mac scheint das ja zu funktionieren.

Unten stehen die wesentlichen Konfigdateien.

Jede Hilfe ist mehr als willkommen und ich will mich gleich im Voraus dafür bedanken.

01.
# /etc/cups/cupsd.conf  (815 ist ein AD User) 
02.
 
03.
LogLevel info  
04.
 
05.
# Administrator user group... 
06.
SystemGroup lpadmin "domain users" 
07.
 
08.
# Only listen for connections from the local machine. 
09.
Listen localhost:631 
10.
Listen /var/run/cups/cups.sock 
11.
 
12.
# Show shared printers on the local network. 
13.
Browsing On 
14.
BrowseOrder allow,deny 
15.
BrowseAllow all 
16.
 
17.
# Default authentication type, when authentication is required... 
18.
DefaultAuthType Negotiate  
19.
 
20.
# Restrict access to the server... 
21.
<Location /> 
22.
  Order allow,deny 
23.
</Location> 
24.
 
25.
# Restrict access to the admin pages... 
26.
<Location /admin> 
27.
  Order allow,deny 
28.
</Location> 
29.
 
30.
# Restrict access to configuration files... 
31.
<Location /admin/conf> 
32.
  AuthType Default 
33.
  Require user @SYSTEM @"domain users" 
34.
  Order allow,deny 
35.
</Location> 
36.
 
37.
# Set the default printer/job policies... 
38.
<Policy default> 
39.
  # Job-related operations must be done by the owner or an administrator... 
40.
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume- 
41.
 
42.
Job CUPS-Move-Job> 
43.
    Require user @OWNER @SYSTEM 
44.
    Order deny,allow 
45.
  </Limit> 
46.
 
47.
  # All administration operations require an administrator to authenticate... 
48.
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default> 
49.
    AuthType Default 
50.
    Require user @SYSTEM 815  
51.
    Order deny,allow 
52.
  </Limit> 
53.
 
54.
  # All printer operations require a printer operator to authenticate... 
55.
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job  
56.
 
57.
Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs> 
58.
    AuthType Default 
59.
    Require user @SYSTEM 815 
60.
    Order deny,allow 
61.
  </Limit> 
62.
 
63.
  # Only the owner or an administrator can cancel or authenticate a job... 
64.
  <Limit Cancel-Job CUPS-Authenticate-Job> 
65.
    Require user @OWNER @SYSTEM 
66.
    Order deny,allow 
67.
  </Limit> 
68.
 
69.
  <Limit All> 
70.
    Order deny,allow 
71.
  </Limit> 
72.
</Policy>
01.
#/etc/krb5.conf 
02.
 
03.
[libdefaults] 
04.
	default_realm = EH.INT  
05.
 
06.
# The following krb5.conf variables are only for MIT Kerberos. 
07.
	krb4_config = /etc/krb.conf 
08.
	krb4_realms = /etc/krb.realms 
09.
	kdc_timesync = 1 
10.
	ccache_type = 4 
11.
	forwardable = true 
12.
	proxiable = true 
13.
 
14.
[realms] 
15.
	EH.INT = { 
16.
		kdc = seh0131.eh.int 
17.
		admin_server = seh0131.eh.int 
18.
19.
[domain_realm] 
20.
	.eh.int = EH.INT 
21.
[login] 
22.
	krb4_convert = true 
23.
	krb4_get_tickets = false 
24.
[appdefaults] 
25.
	pam = { 
26.
		ticket_lifetime = 1d 
27.
		renew_lifetime = 1d 
28.
		forwardable = true 
29.
		proxiable = false 
30.
		retain_after_close = false 
31.
		minimum_uid = 0 
32.
		debug = false 
33.
	}
01.
#/etc/samba/smb.conf 
02.
 
03.
[global] 
04.
	workgroup = EH 
05.
	realm = EH.INT 
06.
	netbios name = x2gomember2 
07.
	security = ADS 
08.
	idmap uid = 10000-20000 
09.
	idmap gid = 10000-20000 
10.
	template sehll = /bin/bash 
11.
	winbind use default domain = yes 
12.
	password server = 172.16.1.31 
13.
	printing = cups 
14.
	cups options = raw 
15.
	winbind refresh tickets = yes 
16.
	printing = cups 
17.
	printcap = cups 
18.
	cups options = raw 
19.
	winbind enum users = yes 
20.
	winbind enum groups = yes
01.
#/etc/nsswitch.conf 
02.
 
03.
passwd:         compat winbind 
04.
group:          compat winbind 
05.
shadow:         compat  
06.
 
07.
hosts:          files dns 
08.
networks:       files 
09.
 
10.
protocols:      db files 
11.
services:       db files 
12.
ethers:         db files 
13.
rpc:            db files 
14.
 
15.
netgroup:       nis
01.
#/etc/pam.d/common-account 
02.
 
03.
account sufficient	pam_winbind.so 
04.
account	required	pam_unix.so
01.
#/etc/pam.d/common-auth 
02.
 
03.
auth	sufficient	pam_winbind.so 
04.
auth	required	pam_unix.so nullok_secure use_first_pass
01.
#/etc/pam.d/common-session 
02.
 
03.
session required	pam_mkhomedir.so skel=/etc/skel/ umask=0022 
04.
session sufficient	pam_winbind.so 
05.
session	required	pam_unix.so
01.
#/etc/pam.d/common-password 
02.
 
03.
password   required   pam_unix.so nullok obscure md5
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Samba
gelöst Ubuntu-Server in AD - Winbind (16)

Frage von caspi-pirna zum Thema Samba ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...