Table of Contents

Konfiguration von Meinberg-PCI-Karten oder USB-Devices ohne Admin-Rechte

(Here is an English version of this text)


Unprivilegierte Benutzer haben normalerweise nicht die Berechtigung, die Systemzeit des Rechners zu ändern, und genauso wenig sollten sie die Möglichkeit haben, Einstellungen an Geräten vorzunehmen, über die das indirekt geschehen könnte.

Bei der Zeitsynchronisierung von Rechnern mit Hilfe von Meinberg-PCI-Karten oder USB-Devices sind also normalerweise erweiterte Rechte (Administrator- bzw. “root”-Rechte) erforderlich, um Einstellungen vorzunehmen, die Einfluss auf die Zeitsynchronisierung des Rechners mit Hilfe dieser Uhren haben.

Ohne die erforderlichen Rechte ist es normalerweise nur möglich, den Status und die aktuellen Einstellungen anzusehen und zu überprüfen, aber die meisten Einstellungen können nicht geändert werden.

Dabei muss unterschieden werden, an welcher Stelle die erweiterten Rechte nötig sind. Um z.B. die Systemzeit zu verändern, Services zu starten oder zu beenden usw. werden echte Berechtigungen auf Betriebssystem-Ebene benötigt, z.B. Administrator-Rechte unter Windows oder “root”-Rechte unter Linux und anderen Unix-ähnlichen Betriebssystemen.

Zusätzlich gibt es eine Rechte-Überprüfung in den Treibern für die Geräte, wo entschieden wird, ob bestimmte Konfigurationseinstellungen an ein Gerät gesendet werden dürfen oder nicht. Im Normalfall wird dies ebenfalls nur erlaubt, wenn erweiterte Berechtigungen vorhanden sind.

Für einige spezielle Anwendungen, z.B. Tests oder Inbetriebnahme, kann es jedoch nützlich oder erforderlich sein, auch ohne echte Administrator-Rechte bestimmte Konfigurationseinstellungen der Geräte zu erlauben.


Geräte-Konfiguration ohne Admin-Rechte unter Windows

Wenn das Monitorprogramm mbgmon.exe aus dem Treiberpaket für Windows ohne Admin-Rechte gestartet wird, sind normalerweise alle Buttons und Menus ausgegraut, die Aktionen auslösen, für die Administrator-Rechte erforderlich sind. In der Titelzeile des Fensters erscheint dann der Hinweis: (Ohne Admin-Rechte ausgeführt)


Falls das Schreiben von Konfigurationsdaten dennoch erlaubt sein soll, muss in der Registry einmalig ein bestimmter Wert gesetzt werden. Dazu führt man das Programm regedit aus und navigiert zu dem Pfad, der Informationen zum Kernelmodul mbgclock enthält:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mbgclock\


Falls er noch nicht existiert, muss hierunter ein Subkey Parameters angelegt werden, und darin ein Registry-Eintrag vom Typ DWORD mit dem Namen Omit Access Restrictions und dem Wert 1.

Alternativ kann die Datei unter dem folgenden Link in die Registry importiert werden, um den Eintrag automatisch anzulegen:

Wenn das Monitorprogramm beim Start diesen Registry-Wert findet, werden alle Buttons freigeschaltet, über die Konfigurationsdaten auf das Gerät geschrieben werden können, auch wenn keine echten Administrator-Rechte vorhanden sind.

Wenn dann das Monitorprogramm dann ohne explizite Admin-Rechte ausgeführt wird, erscheint dann in der Titelzeile des Fensters dieser Hinweis: (Ohne vollständige Admin-Rechte ausgeführt)


:!: Achtung: Durch diesen Parameter wird lediglich der schreibende Zugriff auf das jeweilige Gerät ermöglicht. Eine Änderung der Konfigurationsparameter für den Zeitservice bzw. das Starten oder Stoppen des Zeitservice ist weiterhin nicht möglich, da hierzu echte Admin-Rechte erforderlich sind.

Da ebenfalls echte Admin-Rechte erforderlich sind, um diesen Registry-Eintrag anzulegen, ist sichergestellt, dass ein unprivilegierter Benutzer diese Möglichkeit nicht ohne Zustimmung eines Administrators nutzen kann.


Geräte-Konfiguration ohne Admin-Rechte unter Linux

Auch unter Linux wird standardmäßig verhindert, dass ein unprivilegierter Benutzer Konfigurationseinstellungen eines Gerätes ändern kann, und auch hier kann es nötig oder gewünscht sein, dass im Zuge von Tests oder der Inbetriebnahme eines Gerätes diese Berechtigungsüberprüfung außer Kraft gesetzt wird.

Da das Treiberpaket für Linux immer aus dem Sourcecode compiliert wird, wurde zu diesem Zweck ein Parameter OMIT_PRIV_CHECKING für das make-Programm eingeführt, mit dessen Hilfe die Berechtigungsüberprüfung von der Compilierung ausgeschlossen wird:

cd mbgtools-lx
make clean
make OMIT_PRIV_CHECKING=1
make install

Wenn dieser Parameter angegeben wird, erscheint bei der Compilierung des Treiberpakets der folgende Hinweis, um den Benutzer vor den Folgen zu warnen:

IOCTL privilege checking is omitted at your own risk!


:!: Wenn das auf diese Weise compilierte Kernelmodul geladen wird, kann auch ein nicht-privilegierter Benutzer mit Hilfe der Tools aus dem Treiberpaket die Konfiguration der unterstützten PCI-Karten und USB-Geräte verändern, was wiederum indirekt Auswirkungen auf die Zeitsynchronisierung des Rechners haben kann, wenn das Gerät als Referenzzeitquelle verwendet wird.

Für die Verwendung auf einem reinen Testsystem, wo die Berechtigungsprüfung üblicherweise immer ausgeschaltet ist, kann es sinnvoll sein, den Parameter fest im Environment einzutragen, damit er bei der Compilierung einer neuen Version des Treiberpakets nicht unbeabsichtigt vergessen wird. Dazu kann die Zeile

export OMIT_PRIV_CHECKING=1

in eine der Konfigurationsdateien des Kommandozeilen-Interpreters (z.B. .profile, .bashrc, o.ä.) eingetragen werden. Dadurch wird der Parameter immer berücksichtigt, auch wenn er nicht explizit beim Aufruf von make angegeben wird.

Da das auf diese Weise compilierte Kernelmodul nur durch einen Benutzer mit “root”-Rechten installiert bzw. geladen werden kann, ist sichergestellt, dass ein unprivilegierter Benutzer dies nicht ohne Zustimmung eines Administrators einrichten kann.


Martin Burnicki martin.burnicki@meinberg.de, last updated 2025-10-10