Forum KOPI Strona Główna KOPI
Forum Klubu Opiekunów Pracowni Internetowych
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

EOS zarządzanie kontami, tabela routingu, reset hasła

 
Napisz nowy temat   Odpowiedz do tematu    Forum KOPI Strona Główna -> Linux
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
geronimo
Użytkownik Forum


Dołączył: 30 May 2014
Posty: 20
Skąd: PołudnieRP

PostWysłany: Thu Oct 16, 2014 1:26 pm    Temat postu: EOS zarządzanie kontami, tabela routingu, reset hasła Odpowiedz z cytatem

Założyłem nowy temat, bo może się komuś przydać krótki opis sytuacji, które trochę mi napsuły krwi przy instalacji serwera, a i też pochwalę się, bo udało mi się uruchomić EOSa z którego jestem naprawdę zadowolony. Sporo się też w tym okresie nauczyłem nt. linuxa. Nie jestem specjalistą w tej dziedzinie, więc w pełni dopuszczam wszelkie uwagi, jeżeli gdzieś popełniam jakiś rażący błąd merytoryczny. Jeżeli admin uzna, że temat nie zasługuje na zaszczyt bycia nowym tematem, to może go zdjąć bez żadnego tłumaczenia.

A więc do rzeczy.

Serwer powstawał w pracowni ministerialnej, więc na stacjach z Vistami i tak już niestety musiało zostać. Serwer jest jednostką zupełnie wydzieloną zamkniętą w szafie serwerowej z odłączonym monitorem, myszą i klawiaturą z dostępem tylko poprzez pulpit wirtualny z jednej ze stacji, na której zainstalowano putty i nomachine. Można się na niego także dostać z internetu, co umożliwia "domowe" wprowadzanie potrzebnych na serwerze zmian.
Problemy z Vistą na stacjach.
Na dzień dobry okazało się, że monitory Samsunga na stacjach pracują w rozdzielczości 1440x900 i aby taką rozdzielczość uzyskać, to trzeba być zalogowanym do serwera SBS, bo tylko on podawał właściwie ustawiony sterownik. Stacje miały płyty główne Gigabyte z grafiką Intela. Jeżeli ktoś się nie zalogował do SBS, to miał ekran w rozdzielczości 1200x900 z zamglonymi literkami. Wspaniały pomysł na sygnalizację braku połączenia z serwerem, a nie tak łatwo zmusić oryginalny intelowski sterownik do pracy z rozdzielczością 1440x900, który z nieznanych mi przyczyn w standardzie również nie zawiera tej opcji.
Najbardziej jestem jednak zadowolony ze struktury katalogowej uczniów i nauczycieli.
Opiszę to szczegółowo.

Założenia
System kont i katalogów opiera się na zasadzie dodawania całych klas uczniów.
Logując się do systemu uczeń widzi tylko swoje katalogi domowe w windows (tzw. Moje dokumenty) oraz ma do dyspozycji dodatkowy pusty napęd (serwowany przez sambę EOSa) do którego może sobie wgrywać swoje dane.
Nauczyciel tej klasy ma w swoim komputerze ten sam układ, ale dodatkowo ma zamapowany napęd z katalogami swoich uczniów, zarówno z grupy Moje dokumenty jak i napęd (katalog) dodatkowy. Wszystko funkcjonuje w ramach profili przechodnich, co oznacza, że nie ma znaczenia przy którym komputerze dzisiaj usiądzie uczeń, a przy którym nauczyciel. O tym co uczeń i nauczyciel zobaczą na swoich ekranach, decyduje wyłącznie wprowadzona przy logowaniu nazwa użytkownika (login).
Oznaczenie prefiksu klasy może być oczywiście dowolne. Moją propozycją jest oznaczanie klas rokiem urodzenia jej uczniów. Można wtedy taką klasę prowadzić w systemie przez cały okres pobytu uczniów w szkole i nie zmieniać co roku. Może to więc być np. klasa02, uczen00 itp. Gdzie 02 i 00 to rok urodzenia uczniów z danej klasy. Później z takich prefiksów powstają systemy: klasa021…klasa0225 lub uczen001…uczen0030
Realizacja
Na serwerze powstała więc ikonka „Dodaj klasę”. Klikając w nią musimy podać tylko dwie informacje: nazwa klasy - prefiks (np. klasa05r) i ilość uczniów (proponuję zawyżyć o 3-5 do obecnej ilości na wypadek dojścia nowych). Hasło jest generowane automatycznie i w każdym przypadku pojedynczego użytkownika hasło równa się jego nazwie. Dodatkowo system generuje jedno konto nauczycielskie z nazwą równą nazwie prefiksu.
Najlepiej zobrazuje to przykład.
Mając faktyczną klasę szkoły podstawowej z 20 uczniami z rocznika 2005 wprowadzamy następujące dane:
Nazwa klasy – klasa05r (od klasa z rocznika 2005) i jest to prefix wszystkich tworzonych nazw.
Wprowadzona do programu ilość uczniów – 23 (trzech rezerwowych)
System utworzy łącznie 24 użytkowników:
• Konta uczniów z nazwami od klasa05r1 do klasa05r23
• konto nauczycielskie klasa05r
W systemie wygląda to tak, że wszystkie konta zostaną utworzone w jednym katalogu o nazwie klasa05r. Dostęp do tego katalogu jako całości ma nauczyciel klasa05r. W katalogu klasa05r są 24 katalogi – 23 z nazwami od klasa05r1 do klasa05r23 i jeden katalog z kontem nauczycielskim klasa05r. Układ każdego z tych katalogów jest identyczny. W środku każdego są tylko 2 katalogi: profil i dane. Nazwa katalogu profil w tym opisie jest zastępcza, bo faktycznie jest to nazwa zależna od nazwy konta i dla konta klasa05r1 ma oznaczenie klasa05r1.V2 (tak oznacza je vista). Jest to oczywiście katalog z profilem przechodnim. Dane z profili przechodnich są dostępne dla nauczyciela tylko do odczytu. Dane z dodatkowego katalogu, (widocznego dla ucznia jako dodatkowy napęd) są dostępne do odczytu i zapisu. Jest to podyktowane faktem, że zapis do katalogu dodatkowego jest on line, a katalog z profilem przechodnim wraz z Moimi dokumentami jest odczytywany przy logowaniu ucznia i zapisywany, aktualizowany dopiero w momencie jego wylogowania. Wszelkie zapisy dokonane więc przez nauczyciela w trakcie zalogowania ucznia byłyby i tak tracone.

Struktura katalogowa przykładowej klasy wraz z prawami i właścicielami.
Tu konto nauczyciela 'klasa05r' ma dostęp do wszystkich katalogów w katalogu głównym klasa05r. Zawartość katalogu głównego 'klasa05r' jest odrębnym udziałem samby, zamapowanym po zalogowaniu na loginie 'klasa05r' jako odrębny napęd. Zawartość katalogów z rozszerzeniem .V2 jest tworzona automatycznie przez Vistę przy pierwszym logowaniu (dokładnie przy pierwszym wylogowaniu) i przenoszona później na komputer lokalny przy każdym logowaniu, co trochę spowalnia cały proces logowania.
Kod:
klasa05r   | -prawa 755; właściciel/grupa = root/root
   |-klasa05r - 755; klasa05r/klasa05r; członek grupy klasa05r
      |-katalog_dane
      |-klasa05r.V2
   |-klasa05r1 - 755; klasa05r1/klasa05r; członek tylko smbusers
      |-katalog_dane - 775; klasa05r1/klasa05r
      |-klasa05r1.V2 - 755; klasa05r1/klasa05r
   |-klasa05r2
      |-katalog_dane
      |-klasa05r2.V2
   .
   .
   |-klasa05r23
      |-katalog_dane
      |-klasa05r23.V2


Od zaplecza system wygląda tak, że po wprowadzeniu prefiksu klasy, tworzony jest główny katalog o tej samej nazwie. W tym przypadku dla klasy klasa05r jest to katalog klasa05r. Prawa do tego katalogu są ustawiane na 755. W takim katalogu zostaje dodane konto nauczycielskie o tej samej nazwie klasa05r. Katalog domowy tego konta zostaje ustawiony na klasa05r/klasa05r. W tym katalogu domowym zostają utworzone katalogi klasa05r.V2 oraz katalog dane (tak dokładnie to katalog dane jest tworzone przy generowaniu konta, bo jest utworzony jako jedyny w katalogu /etc/skel). Obydwa katalogi mają prawa 755 (ale może to być także 775 bo i tak jest tylko jeden członek grupy klasa05r). Tworzona też jest grupa klasa05r i użytkownik klasa05r staje się jej jedynym członkiem. Użytkownik klasa05r jest też członkiem grupy nauczyciel i smbusers. Grupa nauczyciel będzie później miała dostęp do zapisu w katalogu public samby.
Katalogi uczniów są tworzone podobnie, ale katalog ‘dane’ otrzymuje prawa 775. Dla tych użytkowników nie tworzy się odrębnej grupy. Wszyscy uczniowie należą tylko do grupy smbusers. Właścicielem każdego katalogu z grona uczniów jest dany użytkownik (klasa05r1 … klasa05r23) oraz grupa klasa05r. Każdy z katalogów dane i profil należy także do grupy klasa05r. Zagwarantuje to później wgląd i zapis zamapowanego w sambie napędu dla nauczyciela klasa05r ze wskazaniem na katalog klasa05r z dostępem dla grupy @klasa05r (dokładny wpis w smb.conf to valid users = @%U). Tym sposobem nauczyciel ma wgląd w katalogi uczniów, ale nie odwrotnie, bo uczeń nie jest członkiem grupy klasa05r. Trochę dużo tego klasa05r ale faktycznie czasami jest to zawiłe.
Dla każdego użytkownika jest też tworzony, na podstawie wzoru, odrębny plik bat dla visty. Daje to możliwość mapowania w systemie różnych napędów dla wybranych konkretnych użytkowników. Są odrębne wzory dla nauczyciela z grupy (klasy), nauczyciela pojedynczego nie związanego z grupą, ucznia i wreszcie admina. Różnice polegają na różnym mapowaniu udziałów samby. Konfig zamieszczam poniżej.
Problem Gateway.
W serwerze mam zainstalowane 3 karty sieciowe. Dodatkowa karta służy do komunikacji z sieciową macierzą dyskową, gdzie każdego dnia, z crona, są archiwizowane dane. Fizycznie są wpięte 2 karty PCI, a trzecia to karta na płycie głównej. Karta na płycie i jedna PCI są gigabitowe, a druga PCI to 100Mb. Oczywiście chciałem, aby setka była WANem na eth0, jednak system ciągle czytał ją jako eth2. Odpuściłem i ustawiłem wszystko w konfiguracji sieci i w firewalu: eth2 – WAN i eth1 – LAN. I tu zaskoczenie – nie ma neta na serwerze ani na stacjach. Wytłumaczenie jest dość proste. Odpowiada za to tabela routingu, która utworzy się oczywiście tak jak my ustawimy dane, ale system sam z siebie robi dużo, abyśmy ją ustawili właśnie źle. Otóż jeżeli będziemy mieli taki przypadek, że eth0 to WAN, eth1 – LAN, to taka konfiguracja będzie zawsze (prawie) skutkowała poprawną pracą internetu. Jeżeli jednak eth0 to LAN, a WAN jest przypisany do eth1, eth2… to trzeba być bardzo ostrożnym. Maciek pisze o tym w podręczniku, że w ustawieniach LAN wpisujemy tylko adres IP oraz maskę, a pozostałe pola powinny być puste. Jest to nawet wytłuszczone. Problem w tym, że system sam uzupełnia nam pole „Router” oraz „Serwer DNS 1”. Jeżeli teraz nie wykasujemy tych wpisów i tak jak leci, klepniemy enter, to mamy problem. Nie wdając się zbytnio w dywagacje, trzeba po skonfigurowaniu interfejsów sieciowych z konsoli jako root, wpisać polecenie „route” i zobaczyć czy linijka 'default...' jest tylko jedna i czy wskazuje na nasz interfejs WAN. Droga ‘default’ wskazuje na standardowe kierunki pakietów do internetu. Żeby wszystko szło dobrze, default musi wskazywać na nasz interfejs ppp lub WAN i mieć adres Gateway, który jest adresem naszego dostawcy internetu, czyli naszego routera do którego wpięliśmy nasz serwer. Droga default jest tworzona zawsze jeżeli w konfiguracji sieci wpisaliśmy dane dotyczące bramy (gateway lub router) jakiegoś interfejsu. EOS niestety próbuje to sobie wpisać sam i stąd problemy. Już samo tylko zajrzenie do konfiguracji poprzez Centrum Sterowania/Centrum konfiguracji sieci, powoduje powstanie wpisów w te pola, nawet jeżeli wcześniej zapisaliśmy konfigurację bez wartości router i DNS. Podczas pracy, system czytając tabele routingu i mając kilka wpisów default wybiera ten pierwszy. Jeżeli podczas tworzenia takiej tablicy eth0 trafia przed eth1 i eth0 to nasz WAN to jest OK, ale to tylko szczęśliwy zbieg okoliczności.
Trochę to namieszane więc podsumujmy.
Po skonfigurowaniu sieci proponuję otworzyć konsolę jako root i wpisać route lub ip route. W odpowiedzi powinna być tylko jedna linijka 'default...' i powinna wskazywać na ppp lub interfejs WAN poprzez bramę, której adresem jest IP naszego routera zewnętrznego do którego jest wpięty WAN. Czyli jest to dla polecenia ip route taki np. wpis: dafault via 192.168.2.1 dev eth2. Dla ppp będzie to np. default dev ppp0. Jeżeli jest kilka linijek default, to proponuję wejść do /etc/sysconfig/network-scripts, zajrzeć do pliku ifcfg-ethX, który odpowiada naszemu LAN i wykasować linijki GATEWAY i DNS. W moim przypadku WANem był eth2 więc tylko w ifcfg-eth2 była linijka GATEWAY=192.168.2.1 a ifcfg-eth0 i ifcfg-eth1 były bez tego wpisu i bez wpisów DNS=…. Restart sieci poprzez service network restart i powinno być OK.
Ostatni problem
Nieprzewidzianym na wstępie problemem okazało się zapominanie haseł przez uczniów. Trzeba było więc dopisać skrypt resetu haseł, uruchamiany przez admina z konsoli serwera. Reset polega na pierwotnym przypisaniu hasła wg zasady hasło=login.

EOS to naprawdę fajny system na serwer szkolny. Chylę czoła przed jego twórcami do użytku szkolnego. Dużo niżej schylę jednak swoje czoło, jak jego główny autor (może i jedyny) przedstawi jego następcę, bo niektóre zagadnienia w EOSie zdążyły się już trochę przeżyć.

pozdrawiam
GS


Ostatnio zmieniony przez geronimo dnia Sun Oct 19, 2014 2:02 pm, w całości zmieniany 3 razy
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
geronimo
Użytkownik Forum


Dołączył: 30 May 2014
Posty: 20
Skąd: PołudnieRP

PostWysłany: Sat Oct 18, 2014 7:47 am    Temat postu: Odpowiedz z cytatem

Skrypt resetu hasła do postaci hasło=login. Skrypt przerobiony ze skryptów EOSa. Uruchamiany z konsoli jako root.
Argumentem do uruchamianego skryptu musi być login użytkownika, któremu resetuje się hasło.
Kod:

#!/bin/bash
# Skrypt resetowania hasla
clear
LOGIN=$1
#hasło jest takie samo jak login
HASLO=$LOGIN
#-------------------------------------------------------
function reset_hasla
{
  grep "^${LOGIN}:" /etc/passwd  >/dev/null 2>&1  ;
if [ $? -eq 0 ];
   then echo 'Resetuję hasło dla: '$LOGIN'.
      Teraz haslo = login ';
   echo "$HASLO" > pass
   echo "$HASLO" >> pass
   smbpasswd -a -s $LOGIN < pass
   passwd $LOGIN < pass
   rm ./pass
else echo '
!!!!!!>> BŁĄD <<!!!!!!!!!
Nie ma takiego użytkownika: '$LOGIN;
   echo;
    exit;
fi
}

#===============================================
#    Start programu   
#===============================================
reset_hasla;
if [ $? -eq 0 ]; then echo '
HASLO ZRESETOWANE.
login: '$LOGIN'
hasło: '$HASLO;
fi
#====================================#
 #=========\_ KONIEC _/===========#
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
geronimo
Użytkownik Forum


Dołączył: 30 May 2014
Posty: 20
Skąd: PołudnieRP

PostWysłany: Sat Oct 18, 2014 8:13 am    Temat postu: Odpowiedz z cytatem

Dodawanie klasy uczniów+nauczyciela. Skrypt tworzy katalogi w /home/nis (tak mi już zostało od początku testów) co można oczywiście zmienić. Parametrami są
1 - prefiks (np. uczen00)
2 - liczba uczniów.
Katalog /etc/skel musi być wyczyszczony i zawierać w sobie tylko pusty katalog o nazwie katalog z prawami 770
Cytat:

#!/bin/bash
NAZWA=$1
ILOSC=$2

#katalogi domowe
DOMOWE="/home/nis/$NAZWA"

#utworzenie katalogu głównego do którego zostaną dodane katalogi domowe
#uczniów i nauczyciela
mkdir --mode 755 $DOMOWE

#dodanie konta nauczycielskiego
#grupa podstawowa nauczyciela musi być nazwą NAZWA np. klasa01

zmienna=`/usr/sbin/adduserdom "$NAZWA" $DOMOWE >/tmp/smbuserauto`
chmod 755 -R $DOMOWE/$NAZWA
#tworzenie katalogu .V2
mkdir --mode 755 $DOMOWE/$NAZWA/$NAZWA.V2
#dodanie grupy
#dodanie konta do nowej grupy
groupadd -f $NAZWA
usermod -G nauczyciel,smbusers,$NAZWA $NAZWA
chown -R $NAZWA:$NAZWA $DOMOWE/$NAZWA
cp /home/samba/netlogon/wzbelfer.bat /home/samba/netlogon/$NAZWA.bat

#dodanie x-kont uczniowskich
#PRAWA=770
x=1;
#GR_PODST="users"

while [ $x -le $ILOSC ]; do

zmienna=`/usr/sbin/adduserdom $NAZWA$x $DOMOWE >>/tmp/smbuserauto`
chmod -R 755 $DOMOWE/$NAZWA$x
chmod 775 $DOMOWE/$NAZWA$x/katalog
usermod -G smbusers $NAZWA$x
mkdir --mode 755 $DOMOWE/$NAZWA$x/$NAZWA$x.V2
chown -R $NAZWA$x:$NAZWA $DOMOWE/$NAZWA$x
cp /home/samba/netlogon/wzuczen.bat /home/samba/netlogon/$NAZWA$x.bat

x=$[x + 1];
done



no i skrypt adduserdom do którego odwołuje się powyższy skrypt:
(widzę, że trochę rozjechało się kodowanie)

Kod:

#!/bin/bash

    # Skrypt tworzenia konta uczniowskiego
    # na potrzeby szkolnej pracowni komputerowej
    # Na podstawie skryptu Dawida Ławnickiego - W.T.

clear
####################################
# konfiguracja:
#*****************************
#ustalanie minimalnej i  maksymalnej iloĹ›ci parametrĂłw
#
MINPARAM=2
MAXPARAM=2
# definiowanie zmiennych
ILOSCARG=$#
LOGIN=$1
#hasło jest takie samo jak login
HASLO=$LOGIN
#katalog domowy w hierarchii katalogĂłw np. /home/nis/klasa01
DOMOWY=$2
echo 'LOGIN = '$LOGIN
echo 'DOMOWY = '$DOMOWY

# deklarowanie funkcji
function konto_u_smb
{
#echo '>>> FUNKCJA KONTO_U <<<'

  grep "^${LOGIN}:" /etc/passwd  >/dev/null 2>&1  ;
  if [ $? -eq 0 ];
   then echo 'Uzytkownik  '$LOGIN' istnieje w systemie, zakĹ‚adam konto w sambie. ';
   echo "$HASLO" > pass
   echo "$HASLO" >> pass
   smbpasswd -L -a -s $LOGIN < pass
   smbpasswd -e "$LOGIN"
   rm ./pass
   else echo '
!!!!!!>> BŁĄD <<!!!!!!!!!
KONTO nie zostało założone'
   echo;
    exit;
    fi
}

function konto_u
{
echo 'Zakładam konto uczniowskie';
echo "Login uĹĽytkownika to " $LOGIN;
grupa="users"
powloka="/bin/false"
home=$DOMOWY/$LOGIN
temppass="$1$FR00rckt$g6GE0HomrMuGwNBzMldaD/"
echo "Katalog home to >> "$home

if [  $? -gt 0 ]; then echo '!!!>> PROBLEM z zakolozeniem katalogu' $home'koncze <<!!!'; exit; fi
useradd  -d "$home" -p '$1$FR00rckt$g6GE0HomrMuGwNBzMldaD/' -g "$grupa" -s "$powloka" -c "Konto $LOGIN" "$LOGIN";
if [  $? -gt 0 ]; then echo '!!!>> KONTO systemowe nie zostaĹ‚o utworzone <<!!!'; exit; fi

}
#-------------------------------------------------------------------------------------
function sprawdz_usera
{
#echo '>>> FUNKCJA SPRAWDZ_USERA <<<'

#######################################################################
# sprawdza czy takie konto istnieje
# oraz czy nazwa usera jest małymi literami
#
echo "sprawdzanie poprawności nowego użytkownika" $LOGIN;
#echo "===========================================";
  grep "^${LOGIN}:" /etc/passwd  >/dev/null 2>&1  ;
  if [ $? -eq 0 ];
   then echo '!!!!!!!!!!!!!>> BŁĄD <<!!!!!!!!!!!!!!!!!
KONTO  '$LOGIN' Juz istnieje w systemie, wybierz inny login.';
   echo;
   exit
  elif [ ! "$LOGIN" = "`echo $LOGIN | tr A-Z a-z`" ]
  then  echo "- KONTO '$LOGIN' zawiera niewĹ‚aĹ›ciwe znaki";
  echo;
  exit;
    else echo "Takie konto moĹĽe zostać zaĹ‚oĹĽone";
    echo;
fi
}

function info_argumenty
{
echo '
>>> FUNKCJA INFO ARGUMENTY <<<
=============================
Ois kolejnych parametrĂłw:
nazwa_usera       - jeden wyraz
"nazwa wyĹ›wietlana"   - np.: imiÄ™ i nazwisko - w cudzysĹ‚owie
haslo            - haslo nadane przez admina
"Opis konta"      - opis, np jaka klasa - w cudzysĹ‚owach
=============================
PRZYKŁAD:
'``$0' nowakja "Jan Nowak" tajnehaslo345 "Uczeń klas IV-VI rocznik 1996"
';
}

function sprawdz_argumenty
{
#echo '>>> FUNKJCJA SPRAWDZ_ARGUMENTY <<<'
if [ $ILOSCARG -lt $MINPARAM  ]
then echo '
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Za mało argumentów jest' $ILOSCARG '
a jest powinno być' $MINPARAM;
info_argumenty
exit;
elif [ $ILOSCARG -gt $MAXPARAM ]
then echo '
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Za duĹĽo argumentĂłw, max to '  $MAXPARAM '
możliwe, żee nie uwzględniono poprawnie cudzysłowów';
info_argumenty
exit 0;
else
echo '
parametry OK ';
fi   
}
# Koniec deklaracji funkcji   #
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##
#===============================================
#    Start programu   
#===============================================
sprawdz_argumenty
echo 'Po argumentach'
if [ $? -eq 0 ]; then echo 'argumenty ok'; sprawdz_usera; fi
# tu dodać wybor konta -n czy u
if [ $? -eq 0 ]; then konto_u; fi
if [ $? -eq 0 ]; then konto_u_smb; fi
if [ $? -eq 0 ]; then echo '
KONTO ZAŁOŻONO POPRAWNIE DLA' $LOGIN; fi
#====================================#
 #=========\_ KONIEC _/===========#

Wszystko z przerobienia skryptów EOSa.

Pliki bat:
wzbelfer.bat
Kod:

echo Mapuje dyski sieciowe

net use G: \\eos\CD_iso /yes
net use P: \\eos\public /yes
net use I: \\eos\Pliki_iso /yes
net use K: \\eos\CalaKlasa /yes
net use M: \\eos\MojKatalog /yes

echo Koncze skrypt....


wzuczen.bat

Kod:

echo Mapuje dyski sieciowe

net use G: \\eos\CD_iso /yes
net use P: \\eos\public /yes
net use M: \\eos\MojKatalog /yes

echo Koncze skrypt....

do tego SAMBA mapuje jeszcze dla wszystkich zalogowanych dysk Z: z Moimi dokumentami


Ostatnio zmieniony przez geronimo dnia Mon Oct 20, 2014 7:53 am, w całości zmieniany 5 razy
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
geronimo
Użytkownik Forum


Dołączył: 30 May 2014
Posty: 20
Skąd: PołudnieRP

PostWysłany: Sat Oct 18, 2014 8:27 am    Temat postu: Odpowiedz z cytatem

Konfig samby smb.conf. Dla zaoszczędzenia miejsca wyrzuciłem linijki skanowania clamava. W konfigu są jeszcze dwa udziały, które chciałbym skomentować. Są to: Pliki_iso i CD_iso. Są to udziały, które powstały głównie na potrzeby nauczycieli klas 1-3 ale i inni mogą z tego korzystać. Podręczniki uczniowskie zawierają teraz często płyty CD. Każdorazowe korzystanie z płyt jest w pracowni trochę uciążliwe. Jeden zapomni, drugiemu napęd chodzi wolno, trzeciemu napęd wcale nie działa i jest problem. Można więc utworzyć z dowolnego kompaktu plik ISO i wrzucić taki plik do udziału Pliki_iso, mapowanego dla każdego usera z grupy nauczyciel, zwrócić się do admina o zamontowanie tego pliku w udziale CD_iso i wtedy wszystkie dzieciaki widzą tę płytę na swoich komputerach w zamapowanych napędach CD-iso i znika problem zapominalskich i niedziałających napędów CD. Ktoś nawet pytał o to w dziale SBS. W linuksie to kilka łatwych linijek (w zasadzie jedna).
Kod:

# Plik konfiguracyjny samby jako kontrolera domeny

[global]
# Podstawowe ustawienia
   workgroup = SCHOOL
       netbios name = EOS
   server string = Serwer %L
# Ustawienia domeny
   domain logons = Yes
        os level = 200
        preferred master = Yes
        domain master = Yes
   dns proxy = No
        wins support = Yes
        ldap ssl = no
   panic action = 'echo "SAMBA ERROR PANIC `date` ">>/samba.error'
   winbind cache time = 15

# Drukarka cups
   printcap name = cups
   printing = cups
   load printers = yes
   printcap cache time = 750
   cups options = raw    

# Ustawenia administracyjne
   admin users = administrator

# Ustawienia zasobow
   create mask = 0660
        directory mode = 0770
        hosts allow = 127.0.0.1, 192.168.100.0/24
        hosts deny = ALL
        browseable = Yes
        blocking locks = No
        strict locking = No
        volume = samba
        dos filetime resolution = Yes
   #max disk size = 2000

# Kodowanie znakow
   dos charset = CP852
   unix charset = ISO8859-2
   display charset = CP852

# Opcje sieci
   interfaces = 127.0.0.1, 192.168.100.0/24
        bind interfaces only = Yes

# Opcje autoryzacji oraz przechowywania hasel
   update encrypted = Yes
        map to guest = Bad User
        obey pam restrictions = Yes
        smb passwd file = /etc/samba/smbpasswd
        pam password change = Yes
#        unix password sync = Yes
   passwd program = /usr/bin/passwd '%u'
        passwd chat = *New*UNIX*password* %n\n *Re*ype*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
#        username map = /etc/samba/smbusers

# Logi
   log level = 1
    syslog = 0
   log file = /var/log/samba/log.%m
   max log size = 350
   debug pid = Yes
   debug uid = Yes

# Ustawienia protokolow
   min protocol = COREPLUS
        read bmpx = Yes
        name resolve order = lmhosts, host, hosts, wins, bcast
#Samba serwerem czasu dla klientow
   time server = Yes
        server signing = auto
#       deadtime = 2
        keepalive = 30
        socket options = SO_KEEPALIVE SO_REUSEADDR SO_BROADCAST TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=16384 SO_RCVBUF=16384
   
# Zarzadzanie maszynami (win xp), uzytkownikami, grupami
   add user script = /usr/sbin/useradd %u
        delete user script = /usr/sbin/userdel %u
        add group script = /usr/sbin/groupadd %g
        delete group script = /usr/sbin/groupdel %g
        delete user from group script = /usr/sbin/deluser %u %g
        set primary group script = /usr/sbin/groupadd %g
   add machine script = /usr/sbin/useradd -d /dev/null -g machines -c 'Konto Maszyny %I' -s /bin/false %u

# Skrypty logowania i profile
   logon script = %U.bat
   logon path = \\%L\profiles\%U
   logon drive = Z:
   logon home = \\%L\profiles\%U.V2
   hide files = /*.ini/*.desktop/*.dat/
   
# katalogi
[netlogon]
   comment = Katalog skryptow logowania i zasad uzytkowania systemu
   path = /home/samba/netlogon
   write list = administrator
   read only = No
   browseable = No
   create mask = 0750
   directory mask = 0770

    #katalog do którego wgrywa się obrazy ISO. Udostępniany jest obraz.iso
[Pliki_iso]
   comment = Katalog z plikami ISO wgranymi przez @nauczyciel
   path = /home/samba/iso
   read only = yes
   browseable = no
   valid users = @nauczyciel
   write list = @nauczyciel   
   create mask = 0644
   directory mask = 0755

#katalog w którym zamontowany jest plik: obraz.iso z katalogu /iso
[CD_iso]
   comment = Katalog z obrazami ISO
   path = /home/samba/CDiso
   read only = yes
   browseable = yes   

# mapowanie napędów katalogów domowych uczniów i nauczycieli, katalog_dane z pierwszego postu
[MojKatalog]
    comment = Katalog domowy każdego ucznia i nauczyciela
    browsable = no
    writable = yes
    path = %H/katalog
   
[CalaKlasa]
    comment = Katalog z katalogami uczniów
    path = /home/nis/%U
    browsable = no
    valid users = @%U
    writable = yes
    directory mask = 0774
   
[profiles]
   # Folder moich dokumentow, unikalnych dla kazdego usera.
   path = %H
   comment = Dokumenty uzytkownika %U
   read only = No
   guest ok = No
   create mask = 0640
   directory mode = 0750
   browseable = no
   valid users = %U

[public]
   comment = Katalog ogolnodostepny
   path = /home/samba/public
   read only = yes
   browseable = yes
   guest ok = yes
   create mask = 0644
   directory mask = 0755
   write list = @nauczyciel

[admin]
   comment = Katalog administrowania
   path = /home
   read only = yes
   browseable = no
   guest ok = No
   create mask = 0660
   directory mask = 0770
   write list = @smbadmins



skrypt montowania obrazów ISO

Kod:

#!/bin/sh

#skrypt do montowania napędów z obrazów ISO z konsoli
#nazwa pliku jest przyjmowana jako $1
#plik ISO musi się znajdować w katalogu /home/samba/iso

NAZWA=$1

mount -o loop /home/samba/iso/$NAZWA /home/samba/CDiso 2> /tmp/smbmount


no i odmontowanie (wersja okienkowa)
Kod:

#!/bin/bash

#skrypt do okienkowego odmontowania napędów z obrazów ISO

umount -l /home/samba/CDiso 2> /tmp/isou
wynik=`cat /tmp/isou`

kdialog --msgbox "Odmontowano $wynik"


I to już chyba wszystko na chwałę EOSa ku potomności. U mnie to wszystko ładnie działa. Gdyby coś nie działało, tzn., że usunąłem jakąś ważną linijkę w ramach kasowania niepotrzebnych komentarzy.
Na koniec muszę się jeszcze wytłumaczyć dlaczego na stacjach są tylko Visty. Otóż chciałem im (bo nie jestem tam zawodowym opiekunem tej pracowni, raczej takim społecznym) dodać np. debiana do uruchamiania z PXE. Niestety byłaby to para w gwizdek i chyba nikt, nigdy by tego nie uruchomił. Informatyk szkolny to z wykształcenia artysta muzyk. I tak mam do niego szacunek (największy za to, że przez 7 lat toczył walkę z SBSem), bo dużo wie, dużo rozumie, dużo potrafi zrobić, ale jego pasją jest muzyka, a nie komputery. Ten artyzm ma też swoje zalety, bo tworzy piękne w wyglądzie strony internetowe.

pozdrawiam
GS


Ostatnio zmieniony przez geronimo dnia Sat Oct 18, 2014 10:40 am, w całości zmieniany 4 razy
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum KOPI Strona Główna -> Linux Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


Powered by phpBB © 2001, 2005 phpBB Group