Forum: PC Hard- und Software [Linux Server] User an verschiedenen Clients -> gleicher Desktop


von Rene K. (xdraconix)


Lesenswert?

Ich habe hier ein Netzwerk. Als Server läuft ein Ubuntu Server absolut 
reibungslos als DNS, DHCP und SMB Server.

Als Clients laufen ca. 15 Windows Rechner. Nun ist es so.. das User 1 an 
Rechner 3, 5 und 6 arbeitet... User 2 an Rechner 4,6 und 2... usw. 
Datenaustausch funktioniert natürlich über SMB reibungslos.

Jedoch ist dies ja so das User 1 an allen drei Rechnern nicht seine 
gewohnte Umgebung (Desktop) hat bzw. diese eben nicht aktuell ist bzw. 
halt immer anders ist. Ebenso wie für User 2 usw...

Ist es unter Linux möglich, das ein Benutzer - auf einem Linux Client 
(Ich möchte von Windows weg) - auf jedem Rechner an dem er sich anmeldet 
(über den Server) ein und dieselbe Desktopumgebung mit entsprechenden 
Programmen bekommt?

Gibt es da einen Weg?

von Klaus W. (mfgkw)


Lesenswert?

Ein möglicher Weg wäre auch hier, ein Netzlaufwerk zu verwenden, auf dem 
die Konfiguration liegt.
Probleme könnten auftreten, wenn auf den Rechnern verschiedene 
SW-Versionen verwendet werden, die dann vielleicht über die 
Konfiguration des anderen stolpern.
Wenn du mit smb zufrieden bist, sollte das gehen. Ich würde eher sshfs 
nehmen, weil ich sowieso mit ssh kreuz und quer uber alle Rechner 
wandere und mir das alles mit RSA-Schlüsseln eingerichtet habe, daß ich 
ohne Passwortgetippsel rumlaufe.

Eine andere Idee:
Ich verwende einen eher rudimentären Windowmanager (icewem). Der wird 
letztlich über ein paar einfache Textdateien konfiguriert. Wird bei 
anderen aber wohl ähnlich sein...
Weil ich sowieso eine ganze Kiste von Sachen habe, die sich mit der Zeit 
mal ändern, und auf allen Rechnern aktuell erscheinen sollen (Dokus, 
Adressen, EMACS-Konfiguration, letztlich mein gesamtes Gedächtnis...) 
habe ich das alles in einer Versionsverwaltung (bei mir svn, sollte mit 
anderen auch gehen).
Die Konfigurationen, die mit wichtig sind, stehen da auch mit drin.
Gelegentlich mache ich nach Änderungen mal ein submit und auf den 
anderen Rechnern ein update.
Dadurch taucht das alles auf den Rechnern gleich auf.
Der Vorteil hiervon gegenüber einer Freigabe ist, daß alles wichtige 
lokal auf dem Rechner ist und auch funktioniert, wenn man mal kein 
Netzwerk hat, z.B. in der Bahn.

: Bearbeitet durch User
von Gerd E. (robberknight)


Lesenswert?

Rene K. schrieb:
> Ist es unter Linux möglich, das ein Benutzer - auf einem Linux Client
> (Ich möchte von Windows weg) - auf jedem Rechner an dem er sich anmeldet
> (über den Server) ein und dieselbe Desktopumgebung mit entsprechenden
> Programmen bekommt?

Ja, kein Problem. Du mountest einfach das /home-Verzeichnis vom 
Netzwerkserver per NFS. Alle Benutzereinstellungen für den Desktop, die 
Programme etc. liegen dort und ziehen daher mit von Rechner zu Rechner 
um.

Nachteil dabei ist natürlich daß Du vom Server abhängig bist. Sollte 
also der Server ausfallen, kann keiner mehr arbeiten. Das sollte dann 
also vielleicht besser kein 10 Jahre alter Aldi-PC sein...

Und es macht Sinn die auf den PCs installierten Programme auch irgendwie 
einheitlich zu installieren und upzudaten. Sonst passen die Nutzerdaten 
aus dem Homedir nicht zum Programm auf dem einen PC bei dem noch ne 
ältere Version drauf ist etc. Da gibt es verschiedene Lösungen für, 
hängt ein bischen davon ab was für eine Distribution Du verwenden 
willst.

Beitrag #6949928 wurde vom Autor gelöscht.
von $$$ (Gast)


Lesenswert?

Das leistet das Sunrayprotokoll.
So viel Luxus muss man sich aber leisten koennen

Beitrag #6949940 wurde vom Autor gelöscht.
von (prx) A. K. (prx)


Lesenswert?

Bei Sun Ray bleibt allerdings vom Linux-Client nicht mehr viel übrig.

von Willi (Gast)


Lesenswert?

Rene: weshalb legst Du nicht auf jedem PC einen dem Mitarbeiter 
entsprechenden Nutzer an?

von krux (Gast)


Lesenswert?

Wenn man sich am PC (Client) anmeldet, kann man den Desktop auswählen. 
Und jeder Nutzer hat sein eigenes Home-Verzeichnis, das auch auf dem 
Server liegen kann, da liegen dann auch die User-spezifischen 
Config-Dateien.

von krux (Gast)


Lesenswert?

noch etwas genauer:

Auf den Clients müssen die jeweiligen User sowieso ein Nutzerkonto 
bekommen, sie bekommen damit automatisch auch ein Homeverzeichnis auf 
dem Client, und daraus muss man einen Link zum jeweiligen 
User-Homeverzeichnis auf dem Server machen.

von Rene K. (xdraconix)


Lesenswert?

Die Geschichte mit dem "kopierten" Home Verzeichnis ist schonmal genau 
das was ich benötige.

Schön natürlich wäre wenn sich ein User über den Server anmelden könnte, 
und dort sämtliche Benutzerprofile liegen, das würde eine Wartung 
natürlich erheblich vereinfachen.

von Εrnst B. (ernst)


Lesenswert?

Rene K. schrieb:
> Schön natürlich wäre wenn sich ein User über den Server anmelden könnte,
> und dort sämtliche Benutzerprofile liegen, das würde eine Wartung
> natürlich erheblich vereinfachen.

Auch das geht. "Nativ" mit NIS/YP/LDAP.
Es ginge aber sogar mit einem Windows-Server oder SAMBA als DC und 
winbind auf den Clients.

Homeverzeichnis als Netzwerkdrive war früher auch üblich. Inzwischen 
leider weniger, und manche Desktop-Environments (*hust*KDE*hust*) legen 
MySQL-Datenbanken im User-Home an. Da leidet dann leider die 
Performance.
Lässt sich natürlich umkonfigurieren, und statt einem embedded-mysql im 
~ auch ein voller DB-Server ansprechen.

: Bearbeitet durch User
Beitrag #6950343 wurde vom Autor gelöscht.
von Le X. (lex_91)


Lesenswert?

Bedenke:
Diese Lösung klappt nur zuverlässig wenn du sicherstellen kannst dass
auf jedem der 15 Clients zu jeder Zeit die gleiche Linux Distribution
mit gleicher Desktop Environment und den gleichen installierten
Programmen vorhanden ist.

Software-Updates musst du dann auch überall synchron einspielen.
Handelt es sich überhaupt 15 mal um die gleiche Hardware? Oder ist das
ein Mischmasch (Desktop-Rechner, Notebooks, Tablets...)?

Außerdem gibt es noch den theoretischen Fall dass sich ein User
gleichzeitig an mehreren Rechnern anmeldet und somit der Zugriff auf
Dotfiles nicht mehr exklusiv ist. Aber das kann man durch
Unternehmensrichtlinien entschärfen ;-)

von Rene K. (xdraconix)


Lesenswert?

Le X. schrieb:
> Diese Lösung klappt nur zuverlässig wenn du sicherstellen kannst dass
> auf jedem der 15 Clients zu jeder Zeit die gleiche Linux Distribution
> mit gleicher Desktop Environment und den gleichen installierten
> Programmen vorhanden ist.

Dies liese sich sicherlich durch Scripte lösen, das wäre das kleinere 
Problem.

Größer hingegen dies - denn das kann nicht nur vorkommen, das passiert 
sogar regelmäßig:

Le X. schrieb:
> Außerdem gibt es noch den theoretischen Fall dass sich ein User
> gleichzeitig an mehreren Rechnern anmeldet und somit der Zugriff auf
> Dotfiles nicht mehr exklusiv ist. Aber das kann man durch
> Unternehmensrichtlinien entschärfen ;-)

Le X. schrieb:
> Handelt es sich überhaupt 15 mal um die gleiche Hardware? Oder ist das
> ein Mischmasch (Desktop-Rechner, Notebooks, Tablets...)?

Unterschiedliche Hardware, aber keine Tablets. Es handelt sich um 
unterschiedliche Workstations, auch zwei Laptops sind dabei.

Εrnst B. schrieb:
> Auch das geht. "Nativ" mit NIS/YP/LDAP.

Oh da werde ich mich mal belesen. Danke dafür.

von Εrnst B. (ernst)


Lesenswert?

Le X. schrieb:
> Diese Lösung klappt nur zuverlässig wenn du sicherstellen kannst dass
> auf jedem der 15 Clients zu jeder Zeit die gleiche Linux Distribution
> mit gleicher Desktop Environment und den gleichen installierten
> Programmen vorhanden ist.

Ganz so wichtig ist das nicht.
Früher™ hatten wir da ein Setup mit einem zentralen 
SunOS/Solaris-Server, und einen Haufen an unterschiedlichen Clients, 
wild gewürfelt, mit IRIX, Linux, SunOS, ..., alle mit zentralen 
Useraccounts und Homedirs vom Server.

Bis auf das gelegentliche Tool was Binär-Configs in Host-Byteorder 
abgelegt hat lief das.

von DPA (Gast)


Lesenswert?

Ich hab hier zuhause PXE Boot + NFS + CacheFS. Ist zwar nicht besonders 
schnell gestartet, hab ich mehr als Spielerei. So ist aber zumindest 
jedes system gleich.

In meiner jetzigen Firma haben wir leider windows clients. Unsere linux 
server verwalten wir mit salt.

In meiner vorherigen Firma gab es linux clients. Die musste sich jeder 
selbst installieren, als Lernübung. Da gabs dann ein internes wiki, und 
wir haben die alle ans selbe nas (für home directory) & ldap angebunden. 
(jeder konnte sich also an jedem Rechner anmelden, und hatte seine 
Daten, Browser verlauf, etc.)

Linux ist sehr Flexibel, andere Möglichkeiten sind auch denkbar.
Man könnte z.B. bei den Rechnern ein internes Repo anbinden, da ein 
Config Paket reintun, automatische updates an, und alles darüber 
verwalten.

Man könnte auch beim Login statt nur dem Home directory ein ganzes 
rootfs vom NAS Mounten, und dann par namespaces quasi für den Nutzer so 
sein ein eigenes, vollständiges, eigenes System starten, unabhängig vom 
PC. Um sowas einrichten zu können muss man aber ein sehr tiefes 
Verständniss von linux haben. Und ein Problem ist halt, dass der Server 
da immer erreichbar sein muss.

Wofür ich noch keine gute Lösung gefunden habe, ist Daten Synchronisert 
halten. Also wie bei Dropbox, Google/One drive, etc. Es gibt OwnCloud, 
aber das tut / kann viel mehr, als mir lieb ist. Etwas Minimalistisches, 
einfach zu auditendes, hab ich noch nicht gefunden. (Es ist einfach, zu 
prüfen, dass das Login bei einem basic auth webdav sicher ist, aber wie 
will man das alles prüft bei den diversen super-fancy Lösungen die man 
für Datensynchronisierung so antrifft?). Rsync ist auch nicht wirklich 
geeignet, damit kann man ja nicht interaktiv Konflikte lösen. Wenn linux 
sowas wie den Windows Aktenkoffer (kennt das überhaupt noch jemand?) 
hätte, das wäre cool. Oder eventuell irgend was, das den Server direkt 
nutzt, wenn vorhanden, und ansonsten lokal, bis er wieder verfügbar ist. 
Aber was wirklich gutes kann ich für sowas nicht...

von Le X. (lex_91)


Lesenswert?

Ich habe ja auch mal darüber nachgedacht mir meine Einstellungen über 
mehrere Maschinen hinweg zu synchronisieren.
Letzlich habe ich das dann verworfen, die Geräte sind einfach zu 
unterschiedlich.
Ich nutze zu Hause momentan einen Desktop, einen Laptop und so ein 2in1 
Convertible.
Letzteres mit Gnome anstelle KDE aufgrund der besseren 
Touchunterstützung.

Mittlerweile begnüge ich mich damit, nur Daten synchron zu halten und 
unterschiedliche Settings in Kauf zu nehmen.

DPA schrieb:
> Oder eventuell irgend was, das den Server direkt
> nutzt, wenn vorhanden, und ansonsten lokal, bis er wieder verfügbar ist.
> Aber was wirklich gutes kann ich für sowas nicht...

Alle meine privaten Dokumente, Fotos, Medien etc. liegen auf einem 
SMB-Server. Von dort werden auch die regelmäßigen Backups gezogen.
Auf den Clients liegen aber auch Teilmengen der Daten lokal vor aufgrund 
besserer Performance oder um sie bei den Mobilgeräten auch mal außerhalb 
des Haushaltes griffbereit zu haben.
Synchronisierung mittels unison.
Das ist zwar keine perfekte Lösung, aber ausreichend.
Konflikte dürfen halt nicht auftreten, erfordert halt etwas Disziplin.
Aber wo treten bei Read-Only-Dokumenten (Fotos, Musik...) schon 
Konflikte auf?
Quelltexte liegen eh im git-Repo und werden nicht per unison 
synchronisiert.

DPA schrieb:
> Es gibt OwnCloud,
> aber das tut / kann viel mehr, als mir lieb ist.
Nextcloud benutze ich auf meinem SMB-Server ontop. Die Dateien werden 
nicht direkt von nextcloud verwaltet, aber mittels dem "External File 
System" Plugin in die nextcloud gemappt.
Ansonsten macht nextcloud nicht viel, man kann die fancy features auch 
abschalten. Aber Synchronisierung von Lesezeichen, Kontakten, Kalendern, 
Rezepten usw. mittels WebDAV auf eigenem Server ist schon ganz praktisch 
;-)

: Bearbeitet durch User
von Andreas M. (amesser)


Lesenswert?

Wie oben schon geschrieben ist das alles kein Problem. Der übliche Weg 
ist, das sowohl die Benutzerverwaltung als auch die 
Benutzerverzeichnisse "/home" auf dem Server liegen und alle Clients das 
beim Booten mounten. So kenne ich das noch aus meinen Uni-Zeiten. 
Vollkommen egal ob man sich im Studentischen Computerpool oder im Büro 
angemeldet hat, man ist immer auf dem selben Nutzerverzeichnis.

Die Rechner auf dem gleichen Stand zu halten ist eigentlich kein 
Problem, einfach auf allen die selbe Version der gleichen 
Linuxdistribution installieren. Kann man automatisieren. Konfigurationen 
kann man komfortabel per Ansible verteilen. Gleicher Stand heißt 
übrigens nicht gleiche Software. Man muss nicht auf jedem PC die Cad 
Software installieren wenn diese nur auf 3-4 Workstations benötigt wird.

Man muss Sicherstellen, dass der Server immer erreichbar ist. Am besten 
einen separaten Fileserver für die Freigaben, der nur das tut, damit man 
bei Updates keine unerwarteten Probleme bekommt. 10GB/s Ethernet + NVME 
(mindestens jedoch SATA SSD) RAID versteht sich von selbst.

Zur Organisation der Benutzer gibt es verschiedene Möglichkeiten

- historisch gesehen ist NIS das älteste (aber nicht unbedingt das 
schlechteste) weil einfach zu verwalten
- Wenn man NFS als Netzwerkdateisystem benutzt dann besser mit Kerberos, 
dann bietet es sich an die Benutzer per Kerberos+LDAP Kombi zu 
verwalten.
- Wenn man Windows Clients anbinden möchte dann kann man auf dem Linux 
einen SAMBA AD DC Windows Domäne einrichten. Der Clou daran ist, dass 
ActiveDirectory eigentlich auch nur Kerberos+LDAP ist. Man kann dann die 
Windows Clients in die AD Domäne setzen und die Linux Maschinen per 
Kerberos/LDAP anbinden. Damit hat man einheitliche 
Benutzerverwaltung/Passwörter etc. über Windows und Linux Clients hinweg 
und man könnte die (Linux)Benutzerverzeichnise per Netzlaufwerk an die 
Windows Clients verteilen so dass man auch von dort an seine Daten 
kommt.

Übrigens gibt es bei Windows auch die Möglichkeit Benutzerverzeichnisse 
ins Netz zu legen: 
https://docs.microsoft.com/de-de/windows-server/storage/folder-redirection/deploy-roaming-user-profiles 
. Das geht natürlich auch, wenn Linux AD DC spielt.

Privat verwende ich die letztere Option. Ich habe auf unserem NAS einen 
SAMBA AD DC eingerichtet, daran hängen diverse Linux Maschinen und ein 
(einzelner) Windows Laptop. Ist zwar ein bisl Overkill aber so ist der 
Datenaustausch einfach viel komfortabler und die Passwörter überall 
gleich.

von Εrnst B. (ernst)


Lesenswert?

DPA schrieb:
> Wofür ich noch keine gute Lösung gefunden habe, ist Daten Synchronisert
> halten.

Für Dateien die nicht im git liegen hab ich dafür Syncthing im Einsatz, 
Synchronisiert ~/Documents vom Rechner im Büro mit dem im Homeoffice und 
Notebook, klappt auch gut zwischen Linux und Windows.

DPA schrieb:
> Etwas Minimalistisches,
> einfach zu auditendes, hab ich noch nicht gefunden.

Ob man syncthing durch ein Audit kriegt? Schwer zu sagen. Könnte aber 
mit GO als Programmiersprache und TLS als Crypto-Layer einfacher sein 
als bei anderen Lösungen.

: Bearbeitet durch User
von usuru (Gast)


Lesenswert?

Rene K. schrieb:
> Die Geschichte mit dem "kopierten" Home Verzeichnis ist schonmal genau
> das was ich benötige.

Das wird nicht kopiert, sondern das "Verzeichnis" /home/user ist ein 
Link zum Verzeichnis auf dem Server, nur da liegen die Dateien. Nachdem 
dort auch die Config-Dateien liegen, hat der User überall seine gleichen 
Einstellungen. Er muss nur beim Login ggf. seinen Desktop auswählen.

von Nano (Gast)


Lesenswert?

Rene K. schrieb:
> Gibt es da einen Weg?

Es gibt viele mögliche Lösungen, ein paar wurden ja oben schon genannt.

Aber eine wurde noch nicht angesprochen: Thin Clients.

Und da wären wir schon bei der relevanten Frage:
Brauchen die Clients Leistung oder haben die spezielle Anforderungen, 
z.b. Anschluss von Peripheriegeräten?
Oder machen die da nur ein bisschen Office?

Bei Thin Clients läuft die ganze Software auf dem Server und auf dem 
Thin Client wird nur die Bildschirmausgabe und Nutzereingaben 
durchgeführt.

Du kannst so also extrem schwache Thin Clients haben. Das können heute 
also 1 W Geräte sein, bei 15 Clients spart das viel Strom.
Und deinen Server kannst du mit den besten Komponenten und viel RAM 
vollstopfen.

Vorteil:
Bei einem Hardwarewechsel musst du nur den Server aufrüsten.
Die Config ist überall gleich.
Gegen Festplattenausfall hilft ein gescheites RAID.

Nachteil:
Wenn der Server ausfällt, liegen die Thin Clients brach.
Aber auch dafür gibt es Lösungen. Wie bspw. Redundanz und ein zweiter 
Server. :)

von VT220 User (Gast)


Lesenswert?

Nano schrieb:

> Bei Thin Clients läuft die ganze Software auf dem Server und auf dem
> Thin Client wird nur die Bildschirmausgabe und Nutzereingaben
> durchgeführt.

Wie doof/smart sind denn diese Thin Clients heutzutage?
Wird z.B. ein h.264/mp4 Stream im Server oder auf dem Client ausgepackt?

von local area notwork (Gast)


Lesenswert?

VT220 User schrieb:
> Nano schrieb:
>
>> Bei Thin Clients läuft die ganze Software auf dem Server und auf dem
>> Thin Client wird nur die Bildschirmausgabe und Nutzereingaben
>> durchgeführt.
>
> Wie doof/smart sind denn diese Thin Clients heutzutage?
> Wird z.B. ein h.264/mp4 Stream im Server oder auf dem Client ausgepackt?

Diese Viedeostreamcodecs sind ja gemacht worden um DatenMENGEN durch 
bescheidene Bandbreiten zu bringen.

Also macht es Sinn dass diese Decodierung erst "kurz vor dem Bildschirm" 
den bescheidenen Datenstrom auf die tatsächliche UNMENGE an Pixels 
"aufgeblasen" wird. Das ist der ideale Job für die Grafikkarte aka GPU.

Rechne mal die Bandbreite im DVI/HDMI-Kabel nach. Will man ein LAN für 
dutzende bis hunderte (unterschiedlichen) solcher Übertragungen in einem 
Bürokomplex bereitstellen? Nicht wirklich... Es gibt sinnvollere 
verwendung von LAN-Bandbreite in einem ARBEITSUMFELD (die wenigsten 
Leute werden fürs "Filmgucken" entlöhnt, ja?)

Haben wir soeben den DVB-C Receiver / SmartTV "ersonnen"/beschrieben 
oder diese Teile "Thin Clients" genannt?
Oder gar das Konzept von digitalem CableTV?

von Nano (Gast)


Lesenswert?

local area notwork schrieb:
> Rechne mal die Bandbreite im DVI/HDMI-Kabel nach. Will man ein LAN für
> dutzende bis hunderte (unterschiedlichen) solcher Übertragungen in einem
> Bürokomplex bereitstellen? Nicht wirklich... Es gibt sinnvollere
> verwendung von LAN-Bandbreite in einem ARBEITSUMFELD (die wenigsten
> Leute werden fürs "Filmgucken" entlöhnt, ja?)

Du machst da einen Denkfehler.
Wenn du Thin Clients hast, dann hast du die normale Dateiübertragungen, 
E-Mail Verkehr, SQL Abfragen, usw. praktisch zwischen den Servern und 
nicht mehr zwischen den Clients untereinander, denn die sind ja nur 
einfache Anzeige und Eingabegeräte.

Das hat zur Folge, dass du um jeden Server, der Thin Clients bedient, 
quasi ein Sternnetzwerk hast und der Mittelpunkt ist der Server.
Und die Server selbst sind untereinander mit sich verbunden. Daher hast 
du hier keine nennenswerten Einbußen oder gar Beschneidungen deiner LAN 
Bandbreite.

Genaugenommen ist dein Traffic sogar ausgesprochen schnell übertragen, 
wenn der, der die Daten braucht und der, der sie zur Verfüung stellt, am 
gleichen Server angebunden sind.
Dann hast du praktisch entsprechend die Bandbreite von CPU zu RAM und zu 
PCIe bzw. SATA und das ist um mehrere Größenordnungen schneller als ein 
10 GBit/s Netzwerk.

von Nano (Gast)


Lesenswert?

VT220 User schrieb:
> Nano schrieb:
>
>> Bei Thin Clients läuft die ganze Software auf dem Server und auf dem
>> Thin Client wird nur die Bildschirmausgabe und Nutzereingaben
>> durchgeführt.
>
> Wie doof/smart sind denn diese Thin Clients heutzutage?
> Wird z.B. ein h.264/mp4 Stream im Server oder auf dem Client ausgepackt?

Das fängt schon  bei der Frage an, welches Protokoll du verwendest.
Nimmst du VNC oder klassisch X Window?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.