AA_fingerabdruck_sxc-Brokenarts_227873.jpg

© Brokenarts,sxc.hu

Zugriffskontrolle

Die neuen Features von KDE 4.4: Teil 3 – KAuth

27.01.2010
Unter Linux gibt es den Systemadministrator, der alles darf, und den gemeinen Nutzer, der praktisch nichts darf. Doch für die tägliche Arbeit ist es manchmal nötig als Root zu arbeiten: Das neue KAuth sorgt für die nötigen Berechtigungen und berücksichtigt dabei auch Windows und Mac OS X.

Linux bietet von jeher eine deutliche Abgrenzung zwischen Benutzern und dem Systemverwalter, allgemein als root bekannt. Normalerweise loggt man sich am Computer auch als normaler Benutzer an. Möchte man dann doch mal den root-Account benutzen, muss man sich daher mit einem Passwort identifizieren. Allgemein gilt dabei: Benutze den root-Account nur wenn es nötig ist. In grafischen Programmen, oder den Systemeinstellungsdialogen ist dies oft mit einem Passwortdialog gelöst, oder indem das Programm als root ausgeführt wird.

Neu in KDE SC 4.4 ist KAuth, eine Bibliothek die sich um die Authentifizierung von Benutzern kümmert, und bestimmte Kommandos mit anderen Rechten ausführen kann. KAuth baut dabei unter Linux derzeit auf PolicyKit auf, und bietet eine stabile Programmierschnittstelle, der Applikationsentwicklern gleichzeitig die Migration zum neuen Mechanismus Polkit-1 erleichtert. Verwirrspiel

KAuth bietet vor allem eine stabile Programmierschnittstelle im KDE Stil an. Unter Linux hat sich erst PolicyKit um die sichere Erweiterung der Benutzerprivilegien gekümmert. PolicyKit wurde jedoch bevor es ein 1.0 Release erreichen konnte zugunsten von polkit-1 eingestampft. Das neue Polkit-1 hat bisher jedoch noch keine stabile Version erreicht. Das heißt, dass sich hier mit aller Wahrscheinlichkeit noch einiges an der Programmierschnittstelle ändern wird. Beide Bibliotheken sind nicht miteinander kompatibel, was bei Applikationsentwicklern, die diese Funktionalität nutzen wollen zu Verwirrung und Mehrarbeit führen kann.

Abstrahiert

Auch wenn Sie KDE Applikationen unter Windows oder Mac OS benutzen wollen, sind sowohl PolicyKit als auch Polkit-1 wenig hilfreich. Dieses Problem haben die KDE Entwickler mit einer dünnen Abstraktionsschicht gelöst, dem in KDE SC 4.4.0 debütierendem KAuth Authentifizierungsframework.

KAuth bietet einen Wrapper für Unterschiede in den Bibliotheken oder Betriebssystemen an, sodass Applikationsentwicklern erspart wird sich mit diesen – und eventuell zukünftigen – Inkompatibilitäten herumschlagen zu müssen. Die KDE Entwicklungsplattform kann mit diesem Mechanismus, der auch in anderen Teilen der KDE Bibliotheken eingesetzt wird, die Garantie bieten, dass zumindest für die Lebensdauer von KDE 4 für Applikationsentwickler eine stabile Schnittstelle benutzt werden kann, unabhängig von Änderungen weiter unten im Softwarestack. Desweiteren kann KAuth auch für die Plattformunabhängigkeit von Applikationen eingesetzt werden. Die Aufrufe an die verschiedenen KAuth Funktionen werden dabei an die entsprechenden Funktionen im unterliegenden Betriebssystem durchgereicht. So kann Software geschrieben werden, die sich unter verschiedenen Betriebssystemen vollständig integriert, ohne verzweigte Codepfade benutzen. Dies entspricht auch dem Qt-Prinzip Einmal schreiben, überall ausführen. Bisher stehen allerdings nur Backends für Linux bereit, Unterstützung Windows und Mac wird derzeit vorbereitet, wobei die KDE Entwickler sich hier sicherlich über Hilfe auf den neueren Plattformen freuen würden.

In KDE SC 4.4 wird unter Linux also im Hintergrund PolicyKit für die Absicherung von bestimmten Kommandos genutzt. Nach der Aufnahme des KAuth Frameworks haben sich die Entwickler bereits daran gemacht, diese neuen Funktionen auch in den Applikationen zu einzusetzen. Oft heißt dies, das unpopuläre Aufrufe von Setuid-Programmen weichen müssen, und mithilfe von KAuth zukunftssicher und visuell ansprechender gemacht werden.

Sicher abschießen, installieren

Eine der ersten Komponenten des KDE Plasma Desktops, die vom neuen KAuth Framework Gebrauch machen, ist die Systemüberwachung. Der KDE System Monitor, den Sie über [Strg+[Esc] öffnen können, bietet Ihnen die Möglichkeit Applikationen zu beenden. Dies kommt dem kill-Kommando unter Linux gleich. Beenden Sie hier, einen Prozess, den Sie unter einem anderen Benutzerkonto gestartet haben, meldet sich KAuth mit einem Passwortdialog, der dann im Hintergrund kill mit den benötigten Rechten ausführt. Ein weiterer Bereich, in dem Ihnen KAuth begegnet ist der Paketmanager. Hier wird die Installation neuer Programme für den Benutzer flexibler gemacht. Wie dies genau umgesetzt ist, wird in den kommenden Ausgaben der verschiedenen Linux Distributionen deutlicher werden.

Wer darf was?

KAuth bietet vollständige Kontrolle über die Rechte für die verschiedenen Benutzer. So kann man über den Konfigurationsdialog in den System Einstellungen einstellen, wer was darf, oder auch ungewünschte Passwortabfragen abstellen. Für jede einzelne Aktion stellt KAuth dabei die Optionen bereit, die Aktion entweder allen Benutzern zu erlauben, nur an einer lokalen Konsole angemeldeten Benutzer die Aktion zu erlauben, oder sie nur Administratoren zuzugestehen. Gleichzeitig kann man sich dafür entscheiden, das Passwort für einige Zeit zu cachen, oder aber wirklich jedesmal nach dem Passwort zu fragen.

Wer hat an der Uhr gedreht?

Die Systemzeit, die sie zum Beispiel über das Kontextmenü der digitalen Uhr in Plasmas Taskleiste einstellen können, ist ein weiteres Feature, das in KDE SC 4.4 auf KAuth umgestellt ist. Anhand dieses Beispiels schauen wir uns das mal genauer an. In den System Einstellungen finden Sie im Reiter auch die KAuth bzw. PolicyKit Berechtigungen. Da zum Zeitpunkt des Verfassens dieses Artikels die deutschen Übersetzungen noch nicht komplett sind, beschränken wir uns hier auf die Erläuterungen auf Englisch. An den Übersetzungen wird derzeit noch gearbeitet. Es ist zu erwarten, dass diese entweder zum Release von KDE 4.4.0 vorliegen, oder mit einem der monatlichen 4.4.x Updates weiter vervollständigt werden. In den Datum und Zeit Einstellungen bemerken sie, dass der OK-Knopf in den Voreinstellungen anstatt eines grünen Häkchens ein Schlüssel-Symbol anzeigt. Auch in der Titelleite des Einstellungsdialogs wird darauf aufmerksam gemacht, dass zur Änderung der Einstellungen hier ein Passwort erforderlich ist. Diese visuellen Hinweise machen es einfacher, direkt zu sehen, ob man authorisiert ist, oder nicht.

Auf dem Kubuntu-System, das wir als Basis für unsere Tests benutzt haben, können Sie in den Einstellungen unter dem Pfad org.kde | kcontrol | Date and Time genau angeben, welchen Benutzern die Einstellung der Zeit erlaubt ist, wer eventuell nach einem Passwort gefragt wird, und wer hier keine Rechte besitzt. Wollen Sie zum Beispiel die Passwortabfrage beim Ändern der Systemzeit unterdrücken, fügen sie unter Explicit Authorizations Ihren Benutzer hinzu und übernehmen sie die Einstellung. Dieser Vorgang selber ist natürlich nicht jedem erlaubt. KAuth fällt hier auf sich selber zurück: Wer welche Rechte innerhalb von KAuth hat, wird wiederum über KAuth selber kontrolliert.

Nachdem Sie sich nun genügend Rechte verschafft haben um die Systemuhr zu stellen, werden Sie bemerken, dass der Schlüssel auf dem OK-Knopf im Einstellungsdialog für Datum und Zeit dem gewohnten grünen Häkchen gewichen ist. Sie haben ja nun eingestellt, dass sie kein Passwort benötigen um hier die Einstellungen zu ändern, dies wird so direkt im Kontext der Handlung wiedergegeben. In der Titelleiste des Einstellungsdialogs bleibt der Hinweis auf das Passwort weiterhin sichtbar.

Usability

KAuth kann sich das Passwort auch für einige Zeit merken, auch dies ist hierbei berücksichtigt. Hierbei wird KAuths Beitrag zur Benutzerfreundlichkeit sichtbar. Sicherheit und Benutzerfreundlichkeit stehen oft in einer Konfliktstellung – wenn man ein sicheres System haben möchte, muss man sich halt auch mit einigen Unbequemlichkeiten abfinden können. Indem Passwortabfragen auf das notwendige beschränkt werden, man aber für potentiell kritische Änderungen in jedem Fall das Passwort abfragt, kann eine auf das Benutzerprofil abgestimmte Konfiguration erstellt werden, und somit dem Benutzer nur wo nötig in seinem Arbeitfluss aufhält.

KAuth verbessert auch einige Aspekte der User Experience unter Linux. Es erlaubt ihnen, Systemeinstellungen grafisch vorzunehmen und bietet dabei intuitiv in die Oberfläche eingebundene Authentifizierung. Neben der Integration zwischen grafischer Oberfläche und System, bringt KAuth auch den Vorteil mit, dass Programme sich nahtlos auch in andere Desktopumgebungen einfügen. Dank PolicyKit fällt ein KDE-Programm, dass KAuth benutzt auch unter GNOME voll funktionsfähig ist, und auf die in GNOME integrierte Passwortabfrage zurückgreift. GNOME oder GTK+ Programmen benutzen unter KDE den KAuth Mechanismus. Auch dies geschieht unsichtbar für den Benutzer und resultiert damit in einem konsistenten Umgang mit Programmen verschiedener Herkunft.

Für die Zukunft planen die KDE-Entwickler auch das Bearbeiten von Dateien anderer Benutzer über KAuth zu vereinfachen. Damit kann man umständliche Workflows, wie zum Beispiel das Ändern der Rechte, oder das Starten von Programmen unter einem anderen Account elegant umgehen.

Helferlein

Die Kommandos die dabei die tatsächliche Arbeit für Sie übernehmen (ein Script um Programme mittels kill zu schließen, oder die Einstellung der Systemzeit oder gar das Stellen der Uhr über's Internet) kleine Helferprogramme, die unter Linux vom PolicyKit-Daemon ausgeführt werden. Der PolicyKit Daemon kümmert sich dabei um die Überprüfung der Rechte anhand der eingestellten Profile, und das Caching der Passwörter.

Traditionell sind die Rechte unter Linux auf Root-Zugang und Gruppenzugehörigkeit und damit verbunden Rechten im Dateisystem basiert. KAuth baut hierauf auf, bietet aber erweiterte Caching-Mechanismen, Integration in grafische Applikationen und macht es allgemein einfacher, die Kraft eines UNIX-basierten Systems zu bändigen.

Fazit

Mit KAuth stellen die KDE Entwickler eine zukunftssichere und flexibel erweiterbare Programmierschnittstelle für Applikationsentwickler bereit, die Aufgaben mit erweiterten Rechten implementieren wollen.

Für System Administratoren und Linux Distributionen vereinfacht KAuth die Integration zwischen dem Betriebssystem und der grafischen Oberfläche. Benutzer bemerken eine einfach zu bedienende, konsistente und weniger aufdringliche Passwortfrage.

Die KDE Software Compilation 4.4.0 führt dabei das Framework ein, die neuen Möglichkeiten kommen aber noch nicht überall zum Einsatz. Es ist zu erwarten, dass in den nächstem Monaten mehr und mehr Applikationen und Einstellungsdialoge auf KAuth umgestellt werden.

LinuxCommunity kaufen

Einzelne Ausgabe
 

Related content

Kommentare