Benutzerneutralisation und der Prozess der Installation eines neuen BetriebssystemsHallo Habr. Heute möchten wir die Erfahrungen mit der Migration einer Organisation (im Folgenden - des Kunden) auf das inländische Betriebssystem im Rahmen der Implementierung von Importsubstitutionsanforderungen teilen. Es muss sofort angegeben werden, dass der Kunde dieses Betriebssystem selbst ausgewählt und gekauft hat. Wir haben auch die Bereitstellung, Optimierung dieses Betriebssystems und die Erfüllung der Informationsschutzanforderungen genossen.
Herausforderung
Es gibt ein staatliches Informationssystem der 2. Sicherheitsklasse (im Folgenden: GIS) mit etwa 1000 bedingt gleichen Benutzertypen mit einem genau definierten Bereich offizieller Aufgaben. GIS selbst besteht aus Webdiensten, die auf rund 30 Websites mit lokalen Datenbanken verteilt sind. Es gibt auch entfernte Jobs in den Siedlungen. Gleichzeitig gibt es eine gemeinsame Domäne (aber nicht überall), es gibt lokale / Unternehmensbälle. An einigen Orten ist der Park mit Computern und Bürogeräten nicht die erste Frische, die Übertragungskanäle zwischen Objekten sind nicht so heiß. Es gibt lokale Systemadministratoren und Hauptadministratoren. Im Allgemeinen die Standardsituation, die für mittelgroße staatliche Institutionen vor der großen Migration zu inländischer Software charakteristisch ist.
Probleme, Tests, Studium
1. Wir haben den Ball über den Astrov-Grafikdateimanager (fly-fm) verbunden. Es gibt keine Probleme mit der Anzeige russischer Dateinamen auf "Fenster" -Kugeln. Diese Namen werden jedoch zu einer Reihe von Zeichen, die von einer Person beim Kopieren dieser Dateien auf den Desktop
und an andere Stellen auf der Festplatte nicht gelesen werden können . Wir haben mit Entwicklern an diesem Problem gearbeitet, die Frage ist komplex, obwohl es Korrekturen gibt.
Es gibt eine Möglichkeit, Bälle unter Linux zu mounten, unabhängig von den Funktionen der Astrov-Software. Die Methode funktioniert, aber es braucht Zeit, um unter realen Bedingungen zu testen. Vorläufige Tests haben gezeigt, dass die Dateien beim Anzeigen und Kopieren nicht verzerrt sind. Bei einigen Windows Server-Versionen treten jedoch Kompatibilitätsprobleme auf. Das Wesentliche der Probleme beim Einschränken des Zugriffs auf Dateien auf dem Ball beim Verbinden eines Linux-Clients ist, dass wir die Verbindung mit verschiedenen Optionen testen, die von den Entwicklern des cifs-tools-Pakets empfohlen werden, das für das Mounten des Balls verantwortlich ist. Manchmal verwenden wir Autofs, in anderen Fällen weisen wir an, wie „nicht nötig“, was sie gewohnt sind.
2. Mit dem ersten verbunden. Beim Mounten von Bällen von Astrov fly-fm können Benutzer keine Dateien von Firefox direkt auf dem "Ball" speichern. Sie müssen zwei Vorgänge ausführen, von Firefox aus speichern sie zuerst auf dem Desktop und werfen dann das Dokument auf den Ball. Um die Datei auf der Site abzulegen, nehmen Sie sie zuerst von den Bällen auf den Desktop und legen Sie sie dann in ihren Datenbanken ab.
Dies liegt an der Tatsache, dass Firefox einen eigenen Dialog zum Öffnen und Schreiben von Dateien verwendet, in dem es nicht möglich ist, auf die symbolische Verknüpfung der Bälle zu verweisen, die wir im Astrov fly-fm erstellt haben.
Dieses Problem würde nicht existieren, wenn Astra nicht seine grafische Umgebung verwenden würde, sondern einige der beliebtesten unter Linux. Derzeit müssen noch Autofs verwendet oder Anweisungen an die Mitarbeiter bezüglich der Regeln zum Kopieren und Herunterladen von Dateien geschrieben werden.
3. Freigabe von USB-Druckern für das Netzwerk. Zwei Standardoptionen: Durch die Druckserverbecher und Samba wurde das Protokoll mit den Standardeinstellungen nicht gestartet.
Wir haben es in den Client-Modus versetzt und es mit den CUPS eines anderen Computers verbunden, und es hat nur mit der Einschränkung funktioniert - ein Client kann nur 1 Druckserver haben und der im Client-Modus konfigurierte Computer kann seine lokalen Drucker nicht verwenden, da sein Druckserver blockiert ist.
4. Institutionen verwenden häufig Makros in Dokumenten aus der vorherigen Office-Suite. Diese Makros sind nicht mit Makros in Libre Office kompatibel, da sie in letzterem nicht in Visual Basic, sondern in Java geschrieben sind.
Darüber hinaus haben die Entwickler von Astra alles, was mit Java zu tun hat, aus dem Distributionskit gestrichen, da es zur amerikanischen Firma Oracle gehört. Das heißt, es ist immer noch unmöglich, Makros im Astrov-Büro zu schreiben. Die einzige Option ist die Emulation oder ein Computer in der Nähe mit Windows.
Schlussfolgerungen und Entscheidungen
Basierend auf der Analyse der aktuellen Situation mit der Infrastruktur wurde entschieden, dass die Automatisierung des Übergangs zum inländischen Betriebssystem unerwartete Probleme verursachen kann. Dieser Ansatz konnte nur im Management (Zentrale) angewendet werden. In diesem Fall konnte schnell reagiert werden. Obwohl es in den örtlichen Einrichtungen in den Distrikten recht typische Arbeitsplätze und technische Prozesse gab, bietet dies keine vollständige Standardisierung und die Möglichkeit einer „stillen Installation“.
Was die gleichzeitige Installation über das Netzwerk noch verhinderte:
- Fehlen einer gemeinsamen Domäne;
- Zoo aus Eisen und Peripherie;
- Das Herunterladen aus dem Netzwerk hat keine Priorität. Sie müssen dennoch zur Remote-Workstation gelangen und die Download-Reihenfolge ändern (aufgrund des Fehlens einer zentralisierten Domäne - es gibt keine betriebliche Möglichkeit, Agenten für die Vorkonfiguration zu installieren).
- schlechte Kommunikationskanäle mit entfernten Arbeitsstationen und zwischen Objekten;
- Der technische Prozess ist zwar größtenteils Standard, aber tatsächlich wurden ohnehin nicht alle Benutzer übertragen, da ein wesentlicher Teil Aufgaben hat, die derzeit nur unter Windows ausgeführt werden können.
- Die gleichzeitige Neuinstallation des Betriebssystems auf allen Computern ohne zusätzliche Benutzerkonfiguration lähmt die Arbeit der gesamten Institution, was nicht akzeptabel ist.
Infolgedessen wurde beschlossen, die universellste Distribution für den Einsatz vor Ort mit den Händen zu bilden. Darüber hinaus war es notwendig, Kanäle für technischen Support für Systemadministratoren vor Ort zu organisieren, um Konsultationen durchzuführen und Erfahrungen mit offiziellen Aufgaben zu übersetzen.
Im Allgemeinen zum Thema Umstellung auf inländische Software: Derzeit sind Probleme mit der Migration vieler Anwendungen nicht gelöst. Sowohl völlig normal als auch exotisch (einschließlich selbst geschrieben). Daher umfasst die Migration auf ein neues Betriebssystem jetzt unter anderem das Finden optimaler Lösungen für die erneute Erfüllung offizieller Aufgaben und möglicherweise eine signifikante Änderung bestehender technologischer Prozesse von Organisationen. Dies kann wiederum die Notwendigkeit zur Aktualisierung / Überarbeitung von Entwurfs- und Zertifizierungsdokumenten und anderer philosophischer Überlegungen zum Thema Informationssicherheit im ganzen Land mit sich bringen.
Die Migration in der betrachteten Organisation wird fortgesetzt. Die Phasen werden beschrieben, die folgenden Objekte und andere Jobs werden für den Übergang zu einem neuen Betriebssystem ausgewählt. Dieses Projekt korreliert auch mit dem von oben gestarteten Plan für den Übergang zu inländischer Software bei unseren anderen Kunden und Neukunden. Während der Prozess schwierig voranschreitet, wenn auch manchmal dringend, werden verschiedene Ansätze getestet und dann angewendet. Es gibt viele Informationen für die Analytik, die Auswahl der Lösungen, die wir sicherlich so weit wie möglich und möglich behandeln werden.
Weitere technische Details, Schamanismus und Krücken.
Vorbereitung und Installation des Flash-Laufwerks
1. Für die Installation benötigen Sie ein Flash-Laufwerk oder ein anderes externes NTFS-USB-Laufwerk mit einem Volume, das nicht vorhanden ist
weniger als 16 GB. Das Porteus-Bild wiegt 270 MB. Dies ist im Wesentlichen ein mobiles Linux, das nur zum Ausführen unseres Installationsskripts benötigt wird. Das Image des installierten Astra Linux wiegt 8 GB. Wenn Sie möchten, können Sie das Bild auf dem Boden eines Gigabytes verkleinern, und dann reichen 8 Gigabyte Flash-Laufwerk aus.
2. Kopieren Sie das Systemabbild und den Verzeichnisbaum auf das von uns leicht
geänderte tragbare Betriebssystem Porteus.
3. Machen Sie das Flash-Laufwerk bootfähig, indem Sie das Skript ausführen:
/boot/Porteus-installer-for-Linux.com — Linux /boot/Porteus-installer-for-Windows.exe — Windows
4. Booten Sie vom vorbereiteten Laufwerk und befolgen Sie die Anweisungen:

Für Porteus haben wir ein
Modul erstellt, das ein Bash-Skript für die Bereitstellung von Astra Linux im interaktiven Modus enthält.

Das Skript durchsucht das Startlaufwerk nach Systemabbildern, ermöglicht Ihnen die Auswahl einer Festplatte für die Installation des Systems, stellt das Image darauf bereit und ermöglicht es Ihnen, einige Einstellungen vorzunehmen, bevor das System zum ersten Mal gestartet wird.
Änderungen, die wir an der Systemkonfiguration vorgenommen haben
1. Schalten Sie den Ziffernblock auf dem Begrüßungsbildschirm des Systems ein. Standardmäßig war er deaktiviert. Option "NumLock = On" in der Konfigurationsdatei:
/ etc / X11 / fly-dm / fly-dmrc2. Eliminierte Artefakte und langsames Fenster-Rendering für eingebettete Grafikkarten auf Basis von Intel-Chips, wodurch der UXA-Rendering-Modus in der Datei aktiviert wird:
/etc/X11/xorg.conf.d/20-intel.conf Section "Device" Identifier "Intel Graphics" Driver "intel" Option "AccelMethod" "uxa" Option "TearFree" "true" Option "Tiling" "true" EndSection Section "Extensions" Option "Composite" "Enable" Option "RENDER" "Enable" EndSection Section "ServerFlags" Option "AIGLX" "true" EndSection
3. Es wurde die Möglichkeit hinzugefügt, den lokalen CUPS-Druckserver zu einem Client eines anderen Servers zu machen. Auf diese Weise können Sie Drucker verwenden, die über USB mit anderen Linux-Computern verbunden sind, wenn Probleme beim Verbinden über das Netzwerk über die Weboberfläche auftreten.
Erstellte Datei:
/etc/cups/client.conf #ServerName 10.12.xx
Hier müssen Sie die Kommentarzeile entfernen und die Adresse des Remote-Computers mit dem Drucker hinzufügen. Danach steht der Drucker sofort zum Drucken zur Verfügung.
4. Umgeschriebene Konfigurationsdateien für die Schriftzuordnung. Es wurde die Möglichkeit hinzugefügt, die Glättung auf systemweiter Ebene und nicht auf Anwendungsebene zu aktivieren und zu deaktivieren.
Dateien:
/etc/fonts/conf.avail/11-fontsalias.confCode <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>serif</family> <prefer><family>PT Sans</family></prefer> </alias> <alias> <family>sans-serif</family> <prefer><family>PT Sans</family></prefer> </alias> <alias> <family>sans</family> <prefer><family>PT Sans</family></prefer> </alias> <alias> <family>monospace</family> <prefer><family>PT Sans</family></prefer> </alias> <alias> <family>mono</family> <prefer><family>PT Sans</family></prefer> </alias> <match> <test name="family"><string>Arial</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Helvetica</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Verdana</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Tahoma</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Comic Sans MS</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Times New Roman</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Serif</string> </edit> </match> <match> <test name="family"><string>Times</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Courier New</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Arimo</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Roboto</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>OpenSymbol</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Noto Sans</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Carlito</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Fixed</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> <match> <test name="family"><string>Lucida</string></test> <edit name="family" mode="assign" binding="strong"> <string>PT Sans</string> </edit> </match> </fontconfig>
/etc/fonts/conf.avail/12-noaa.confCode <?xml version = '1.0'?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font" > <edit mode="assign" name="hinting" > <bool>true</bool> </edit> </match> <match target="font" > <edit mode="assign" name="antialias" > <bool>false</bool> </edit> </match> <match target="font" > <edit mode="assign" name="embeddedbitmap" > <bool>false</bool> </edit> </match> <match target="font" > <edit mode="assign" name="hintstyle" > <const>hintfull</const> </edit> </match> <match target="font" > <edit mode="assign" name="autohint" > <bool>false</bool> </edit> </match> <match target="font" > <edit mode="assign" name="lcdfilter" > <const>lcdlight</const> </edit> </match> <match target="font" > <edit mode="assign" name="rgba" > <const>rgb</const> </edit> </match> <match target="pattern" > <edit mode="assign" name="dpi" > <double>96</double> </edit> </match> </fontconfig>
/etc/fonts/conf.avail/13-aa.confCode <?xml version = '1.0'?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match target="font" > <edit mode="assign" name="hinting" > <bool>true</bool> </edit> </match> <match target="font" > <edit mode="assign" name="antialias" > <bool>true</bool> </edit> </match> <match target="font" > <edit mode="assign" name="embeddedbitmap" > <bool>false</bool> </edit> </match> <match target="font" > <edit mode="assign" name="hintstyle" > <const>hintslight</const> </edit> </match> <match target="font" > <edit mode="assign" name="autohint" > <bool>false</bool> </edit> </match> <match target="font" > <edit mode="assign" name="lcdfilter" > <const>lcdlight</const> </edit> </match> <match target="font" > <edit mode="assign" name="rgba" > <const>rgb</const> </edit> </match> <match target="pattern" > <edit mode="assign" name="dpi" > <double>96</double> </edit> </match> </fontconfig>
Die Skripte sind für das Ein- und Ausschalten der Glättung verantwortlich:
/ usr / local / bin / aaon/ usr / local / bin / aaoff5. Zum Scannen von Netzwerk-MFPs wurde ein Netzwerkordner hinzugefügt, mit dem Bilder mithilfe des SMB-Protokolls gespeichert werden können. Zur Standard-Samba-Server-Konfigurationsdatei:
/etc/samba/smb.confAbschnitt eingeführt:
[scan] path = /var/scan comment = scan read only = no guest ok = no guest only = no valid users = scan create mask = 0666 directory mask = 0777
sowie einen kommentierten Abschnitt zum schnellen Erstellen eines öffentlichen Austauschordners:
#[share] #path = /var/share #comment = share #read only = no #guest ok = yes #create mask = 0666 #directory mask = 0777
Samba-Benutzerscan mit im System registriertem Passwort-Scan
6. Für neu registrierte lokale Benutzer des Systems wurde ein Einstellungsskelett erstellt. Es enthält geringfügige Änderungen am Erscheinungsbild des Desktops, geänderte Einstellungen für Benutzeranwendungen, Zertifikate zum Verbinden des Browsers mit den erforderlichen Netzwerkressourcen usw. Einige Änderungen werden später im Text ausführlich beschrieben.
7. Für das Linux-Initialisierungssubsystem wurde eine Konfigurationsdatei für den rc-lokalen Dienst erstellt. Auf diese Weise können bei Bedarf Skripte in der Initialisierungsphase des Systems geladen werden.
Dateien:
/etc/rc.local #!/bin/sh -e exit 0
/etc/systemd/system/rc-local.service [Unit] Description=/etc/rc.local Compatibility ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target
8. Für einige Netzwerkdrucker wurden proprietäre Xerox-Treiber hinzugefügt.
9. Das autofs-Paket ist installiert und konfiguriert. Ermöglicht das Verbinden von Netzwerkordnern über cifs-utils auf Systemebene. Zu archivieren:
/etc/auto.masterZeile hinzugefügt:
/mnt /etc/auto.share --ghost --timeout=60
hat eine Konfigurationsdatei mit Anweisungen erstellt:
/etc/auto.share10. Es wurde ein Skript geschrieben, um den Update-Server für Kaspersky Anti-Virus zu initialisieren und nach Datenbank-Updates zu suchen:
/ usr / local / bin / kasperftp
11. Desktop-Hintergrund und ein benutzerdefiniertes Thema für den Begrüßungsbildschirm des Systems hinzugefügt.
Anschluss von Druckern.
Drucker werden über die CUPS-Konfigurationsseite in einem Browser unter
127.0.0.1 : 631 oder
localhost : 631 konfiguriert
Die Seite wurde ins Russische übersetzt und ist intuitiv. Zum Installieren des Druckers benötigen Sie Systemadministratorrechte. Um Drucker im Netzwerk zu veröffentlichen, müssen Sie zwei Elemente in den Servereinstellungen aktivieren.
Beim Hinzufügen eines Netzwerkdruckers wird normalerweise AppSocket / HP JetDirect oder das Internet Printing Protocol (ipp) mit einer IP-Adresse verwendet.
Wenn der Netzwerkdrucker mit diesen Methoden keine Verbindung hergestellt hat, können Sie den lokalen CUPS-Druckserver zu einem Client eines anderen Servers machen, indem Sie die Datei
/etc/cups/client.conf bearbeiten und darin die Netzwerkadresse des Geräts mit den angeschlossenen Druckern angeben. In diesem Fall müssen Sie keine Treiber installieren. Obwohl die CUPS-Datenbank eine große Anzahl von Treibern enthält, ist manchmal die Installation von Markentreibern erforderlich.
Für einige Xerox-Netzwerkdrucker haben wir bereits proprietäre Treiber und einen Konfigurator installiert, den folgenden Befehl:
xeroxprtmgr
Wenn ein Drucker erkannt wird, müssen Sie ihn auswählen und den Warteschlangennamen angeben, der auch der Name des Druckers im System ist. Einige Druckermodelle sind standardmäßig so konfiguriert, dass für jeden einzelnen Auftrag eine Seite mit einer Nummer gedruckt wird. Suchen Sie diese Option in den Warteschlangeneinstellungen und deaktivieren Sie sie.
Wenn Sie einen HP Drucker haben, ist es besser, Markentreiber zu verwenden, die ebenfalls auf dem System vorinstalliert sind. Gehen Sie zu Systemsteuerung> Ausrüstung> Installieren Sie das zusätzliche HP Plug-In und installieren Sie dort> Drucker, Faxgeräte und HP Scanner.
Scanner
Um den Scanner zu installieren, müssen Sie vom Systemadministrator den Befehl scanimage -L im Terminal eingeben. Wenn ein Scanner gefunden wird, wird die Ausgabe mit ihrem Namen angezeigt. Wenn die Ausgabe leer ist, sollten Sie im Internet nach Markentreibern suchen.
Das ist alles für jetzt. Teilen Sie Ihre Erfahrungen mit der Implementierung eines inländischen Betriebssystems in den Kommentaren mit.