Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Ubuntu ve škole a propojení s AD

Dobrý den,

máme na základní škole založenou síť na Windows Serveru 2008 R2 a Windows 7, někde ještě Windows XP.
Uvažuji, že bych na cca polovině počítačů udělal dual-boot Windows 7 + Ubuntu, od příští školního roku by třeba zůstalo jen Ubuntu. Když by se toto podařilo, mohli bychom hodně ušetřit a zároveň by byl na počítačích aktuální software.
Ubuntu už je poměrně propracovaný systém, větší výhrady k němu v tuto chvíli nemám. Problémem jsou jen některé programy, bohužel k některým neexistuje na Linuxu stále vhodná alternativa. Např. k Zoner Photo Studiu tu je alternativa jen GIMP podle množství funkcí, ale ten se podle mě hodí spíše k vytváření grafiky jako Photoshop. Zákl. úpravy zvládá Shotwell.
Na škole máme kromě základních programů, Office 2010/13 některé programy k výuce, které by zřejmě měly bez problému fungovat ve Wine, nejsou nijak zvlášť závislé na ostatním SW.

Zpátky k dotazu, potřebuji provázat stávající Active Directory s Ubuntu. Na přidání do domény a ověřování už jsem přišel - tam použijeme likewise-open. Group Policy by nám snad tolik chybět nemusely, díval jsem se, že většina nastavení je vztažena k Windowsům nebo Officu. Vzdálená plocha zřejmě také bude bez problému, když na stanice nainstalujeme příslušené servery.

Nevím, jak vyřešit mapování síťových zdrojů a nějakou hromadnou správu stanic - konkrétně třeba hromadnou instalaci, ať už z balíku deb nebo přes apt.
Potřeboval bych namapovat uživatelům některé sdílené složky serveru, nejlépe do umístění /home/username/nejaka_slozka, je to zkomplikované ještě tím, že počet složek se liší, podle členství ve skupině. Žáci 2, učitelé 5. K tomu ještě namapovat do nějakého umístění uživatelovu domovskou složku uvedenou v HomeDir ve vlastnostech uživatele. Rozhodně nechci, aby to přesměrovalo všechny složky z home na stanici na server.

A tou druhou věcí, aby se nějak daly hromadně stanice spravovat, v tuto chvíli mi jde o instalaci programů jak z balíků deb nebo pomocí apt nejlépe při startu počítače.

Budu rád za jakoukoliv pomoc nebo nasměrování, jak tyto dvě věci řešit.

Na svém notebooku už jsem Ubuntu nainstaloval, až čas ukáže, jestli mi bude vše vyhovovat nebo ne. Překvapilo mě, že jsem pro Windows Phone ani Vodafone 3G modem nemusel nic instalovat a funguje to lépe než ve Windows. Měl jsem ale nějaké programování ve VB.NET, snad nebudu potřebovat a postupně se třeba naučím dělat grafiku v Javě.

Předmět Autor Datum
Ty si správca tej školskej siete? Nechápem...Na klientské PC chceš nainštalovať Ubuntu a server bude…
pme 19.10.2013 15:04
pme
Zoner Photo Studio je spíše prohlížeč/kataloger fotek s mírnými editačními funkcemi, s GIMPem bych s…
touchwood 19.10.2013 15:14
touchwood
Server zatím musí zůstat na Windowsu. Ten tak rychle nahradit linuxem nejde, protože to vyžaduje pře…
Aleš Pospíchal 19.10.2013 16:52
Aleš Pospíchal
Předpokládám, že do skriptu napíšu sudo apt-get install nazev, ale pak na něj musím nějak z cronu od…
touchwood 19.10.2013 17:36
touchwood
Moc děkuji. Takto by mělo stačit.
Aleš Pospíchal 19.10.2013 17:54
Aleš Pospíchal
Konečně jsem našel zřejmě nejvhodnější řešení. Na připojení do Active Directory použijeme místo like…
Aleš Pospíchal 28.10.2013 09:36
Aleš Pospíchal
V /etc/skel jsem vytvořil skrytý soubor .first-mount s výchozí hodnotou 1, do /etc/skel/.bashrc jsem…
Aleš Pospíchal 28.10.2013 16:14
Aleš Pospíchal
skeleton je nastavení pro profil nového uživatele (je to ekvivalent pro C:\users\Default u windows).…
touchwood 28.10.2013 16:19
touchwood
Kód jsem tedy uložil do vlastního souboru mount_share, zkopíroval do /usr/bin a přiřadil spouštěcí p…
Aleš Pospíchal 28.10.2013 18:38
Aleš Pospíchal
netuším. Ubuntu jako remote manageovaný desktop nikde nemám. Zkus ty jiné možnosti, případně jejich…
touchwood 28.10.2013 18:44
touchwood
ok, budu zkoušet, když se podaří, tak sem napíšu. I tak moc děkuji.
Aleš Pospíchal 28.10.2013 18:47
Aleš Pospíchal
Na začátku skriptu mi chybělo #!/bin/bash, ale ani potom to v /etc/xdg/autostart nefungovalo, tak js…
Aleš Pospíchal 28.10.2013 19:33
Aleš Pospíchal
Nedalo mi to a odladil jsem to dneska i pro /etc/xdg/autostart Nechal jsem jen: [Desktop Entry] Typ…
Aleš Pospíchal 29.10.2013 17:35
Aleš Pospíchal
šikula! poslední
touchwood 29.10.2013 18:14
touchwood

Zoner Photo Studio je spíše prohlížeč/kataloger fotek s mírnými editačními funkcemi, s GIMPem bych se jej bál srovnat. Alternativa bude např. XnViewMP (ten je k dispozici i pro Linux).

Ke zbytku, přiznám se, mám velké výhrady - snažíš se naroubovat Win prostředí na Linuxové systémy, které fungují naprosto jinak. Sdílené složky fungují, tam nemusíš nic nastavovat, pokud si chceš hrát s Home direm, nastav si korektně skeleton, a to včetně symlinků na síťové prostředky. Druhá varianta je mountovat sdílené prostředky na daný adresář.

Mass deployment softwaru lze realizovat pomocí naplánovaných skriptů, které nainstalují vždy SW, jehož seznam někde uvedeš.

Server zatím musí zůstat na Windowsu. Ten tak rychle nahradit linuxem nejde, protože to vyžaduje předchozí přípravu. To by byl až další krok po nasazení Ubuntu na stanicích.

Na XNView jsem předtím nenarazil. Procházel jsem trochu seznam alternativ na abclinuxu.cz, ale není to tam úplně aktualizované, takže kromě Gimpu tam byli spíš jen samé prohlížeče obrázků.

Vím, že uživatel by se na sdílené složky dostal normálně přes procházení sítě, ale rád bych je viděl jako mount na adresář, která bude přímo v home konkrétního uživatele a budou tam jen ty, kam má uživatel oprávnění. Asi bych to vyřešil skriptem po přihlášení. Sice tam budou všechny složky, ale uživatele to tam kvůli oprávnění stejně nepustí, takže to není úplně tak problém a zatím to stačí.

Nasazení softwaru tímto způsobem by mohlo být dobré. Zkusím se po nějakém řešení podívat na internetu. Předpokládám, že do skriptu napíšu sudo apt-get install nazev, ale pak na něj musím nějak z cronu odkázat, skript budu mít na serveru. Ten ale vyžaduje přihlášení, nelze anonymní identita.

Předpokládám, že do skriptu napíšu sudo apt-get install nazev, ale pak na něj musím nějak z cronu odkázat, skript budu mít na serveru. Ten ale vyžaduje přihlášení, nelze anonymní identita.

zbytečně složité.

Skript může vypadat nějak takto:

wget http://můjserver/proglist.txt -O /tmp/proglist.txt
for i in proglist do
   apt-get -y install $i
next

Samozřejmě to můžeš vylepšit tím, že proglist budeš vycucávat PHPkem z SQL serveru a zpětně budeš reportovat úspěch instalace (tím zajistíš, že budeš mít přehled co je už kde nainstalováno a zároveň to, že nebudeš instalovat 2x totéž na jeden PC). Fantazii se meze nekladou.

Konečně jsem našel zřejmě nejvhodnější řešení. Na připojení do Active Directory použijeme místo likewise-open balíček Centrify Express, ten má více možností a zdá se, že celkově funguje lépe.

Místo přímého mountování sdílených složek + uživatelské home directory uděláme na tato umístění zástupce(záložky) v prohlížeči souborů Nautilusu. Adresu home directory zjistíme z ldapsearch, protože všichni uživatelé nemají stejné umístění domovské složky.
Přímé mountování není od nějaké verze Ubuntu možné, protože nástroje vyžadují k připojení přímo specifikované jméno a heslo nebo uvedený soubor, kde jsou přihlšovací údaje napsané.

ADRESA=$(/usr/share/centrifydc/bin/ldapsearch -Q -LLL -h AD.test.local -b 'dc=test,dc=local' '(& (objectclass=user)(userPrincipalName='$USER'@test.local))' homeDirectory | grep homeDirectory | sed -e 's|homeDirectory: ||' | sed 's|\\|/|g')
echo "smb:" + $ADRESA >> ~/.config/gtk-3.0/bookmarks

A pro hromadnou správu, nejen instalaci nového softwaru se mi včera podařilo najít nástroj parallel-ssh, který umožňuje spustit příkaz na několika počítačích najednou a ještě to uloží output.

Poslední, co tedy zbývá vyřešit, jak spustit skript po prvním přihlášení uživatele, udělat echo do souboru bookmarks a pak tento skript smazat. S vymazáním bych věděl, spouštění musím ještě promyslet.

V /etc/skel jsem vytvořil skrytý soubor .first-mount s výchozí hodnotou 1, do /etc/skel/.bashrc jsem vložil na konec tento kód:

SOUBOR="/home/"$USER"/.first-mount"
if [ -f $SOUBOR ]; then
        VYSL=$(cat $SOUBOR)
        if [ "$VYSL" == "1" ]; then
        ADRESA=$(/usr/share/centrifydc/bin/ldapsearch -Q -LLL -h AD.test.local -b 'dc=test,dc=local' '(& (objectclass=user)(userPrincipalName='$USER'@test.local))' homeDirectory | grep homeDirectory | sed -e 's|homeDirectory: ||' |  sed 's|\\|/|g')
        if [ ! -z "$ADRESA" ]; then
                echo "smb:"$ADRESA >> ~/.config/gtk-3.0/bookmarks
        fi
        echo "smb://AD.test.local/share Share2" >> ~/.config/gtk-3.0/bookmarks
        echo 0 > ~/.first-mount
        fi
fi

To funguje výborně, ale ke spuštění kódu dojde až po otevření terminálu. Kam by bylo nejvhodnější tento kód umístit, aby se spouštěl vždy po přihlášení uživatele?

Kód jsem tedy uložil do vlastního souboru mount_share, zkopíroval do /usr/bin a přiřadil spouštěcí práva.
V /etc/xdg/autostart jsem vytvořil soubor mount_share.desktop s tímto nastavením:

[Desktop Entry]
Type=Application
Exec=/usr/bin/mount_share
Hidden=true
NoDisplay=true
X-GNOME-Autostart-enabled=true
Name[en_US]=mount_share
Name=mount_share
Comment[en_US]=
Comment=

Po přihlášení se ale nic neděje, ani když skript vložím do spouštěným aplikací konkrétnímu uživateli.
Když přímo z terminálu zavolám /usr/bin/mount_share, tak to funguje.

Zpět do poradny Odpovědět na původní otázku Nahoru