Komentarze



Start
Instalacja oraz konfiguracja serwera "vsftpd" w systemie Debian
Linux - Linux
Wpisany przez Administrator   
poniedziałek, 28 grudnia 2009 21:43

1. WSTĘP, ZAŁOŻENIA
==================
Instrukcja dotyczy instalacji oraz konfiguracji serwera ftp o nazwie "vsftpd", przy czym założono następujące warunki:
- Zabronione logowanie użytkowników anonimowych,
- Dozwolone logowanie użytkowników lokalnych (posiadających założone konto w systemie),
- Użytkownicy lokalni nie mogą wychodzić poza katalog domowy, przy czym wzięto pod uwagę możliwość udostępnienia wybranym użytkownikom dostępu do wybranych katalogów leżących poza katalogiem domowym,
- Możliwość wychodzenia poza katalog domowy użytkownikom zdefiniowanym w osobnym pliku (z możliwością przeglądania całej struktury katalogów),
- Połączenie na linii klient-serwer szyfrowane SSL,

**. Konfigurację przeprowadzono w systemie Debian 5.0.3 (2.6.26-2-686). System zainstalowany bez środowiska graficznego.

Poprawiony: wtorek, 29 grudnia 2009 01:15
 
Autologowanie Windows (control userpasswords2)
Windows - Windows
Wpisany przez Administrator   
niedziela, 30 sierpnia 2009 22:21

Artykuł oraz zdjęcia stworzono na przykładzie systemów Windows XP oraz Vista. Najprawdopodobniej będą również działać w starszych produktach firmy Microsoft (Win98, Win95).

W systemach tych istnieje możliwość automatycznego zalogowania wybranego użytkownika podczas uruchamiania systemu. Znam co najmniej dwa sposoby za pomocą jakich można to zadanie zrealizować. Pierwszy to użycie polecenia "control userpasswords2", drugi zmiany w rejestrze Windows. Konto z którego dokonywane są zmiany powinno należeć do grupy administratorzy, podaną komendę można uruchomić z konta o mniejszych uprawnieniach, zostaniemy jednak poproszeni o wprowadzenie hasła administratora komputera.

"control userpasswords2"

Wciskamy przycisk Start->Uruchom, w okienku wpisujemy komendę: control userpasswords2

Konta użytkowników

Rys.1. Konta użytkowników

Otwiera się okno "Konta użytkowników", przykładowe z systemu Windows Vista pokazano na rys.1. Okno zawiera nazwy wszystkich użytkowników w systemie. Wybieramy użytkownika dla którego ma być zrealizowane autologowanie. Odznaczamy kwadracik przy nazwie "Aby używać tego komputera, użytkownik musi wprowadzić nazwę użytkownika i hasło". Wciskamy przycisk OK. W kolejnym okienku wpisujemy hasło jakie posiada wybrane do autologowania konto. System nie sprawdza poprawności wprowadzonego hasła (można zatwierdzić błedne hasło). Utracimy jednak możliwość autologowania (zostanie wyświetlony komuniakt o błędnym haśle z prośbą o wprowadzenie poprawnego). Zatwierdzamy zmiany przyciskiem OK i można uruchomić ponownie komputer, system powinien zalogować się automatycznie na wybrane konto. Aby usunąć autologowanie ponownie wpisujemy komendę control userpasswords2 i zaznaczamy odznaczony wcześniej kwadracik.

Edycja rejestru Windows (Windows XP)

Uruchamiamy systemowy Notatnik, wpisując poniższy tekst:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DefaultUserName"="NAZWA UŻYTKOWNIKA"
"autoadminlogon"="1"
"DefaultPassword"="HASŁO UŻYTKOWNIKA"

W skopiowanym tekście zmieniamy wartości:

NAZWA_UŻYTKOWNIKA zmieniamy na nazwę użytkownika któremu chcemy przypisać autologowanie,

HASŁO_UŻYTKOWNIKA zmieniamy na hasło użytkownika któremu chcemy przypisać autologowanie.

Po tych zmianach zapisujemy plik jako zmiany.reg oraz uruchamiamy potwierdzając chęć wprowadzenia zmian do rejestru. Gdy system wyświetli komunikat o poprawnej zmianie rejestru możemy ponownie uruchomić komputer.

Poprawiony: poniedziałek, 31 sierpnia 2009 00:17
 
Licznik sekundowy
Programowanie - Bascom
Wpisany przez Administrator   
poniedziałek, 03 listopada 2008 00:40

Prosty licznik sekundowy.

Do pobrania : prog_12.zip ( prog_12.bas, prog_12.hex )

Typ : pełna, darmowa
Rozmiar pliku : 0.01 MB
Autor : www.neTsl.net
Systemy : Mikrokontroler AT90S2313

   1 
   2 
   3 

   4 
   5 

   6 

   7 

   8 

   9 
  10 
  11 
  12 
  13 
  14 
  15 

  16 
  17 
  18 

  19 
  20 
  21 
  22 
  23 
  24 

  25 

  26 
  27 
  28 
  29 
  30 
  31 
  32 
  33 

  34 
  35 
  36 
  37 
  38 
  39 
  40 
  41 
  42 
  43 
  44 
  45 
  46 
  47 
  48 
  49 
  50 
  51 
  52 
  53 
  54 
  55 
  56 
  57 
  58 
  59 
  60 
  61 
  62 
  63 
  64 
  65 
  66 
  67 
  68 
  69 
  70 
  71 
  72 
  73 
  74 
  75 
  76 
  77 
  78 
  79 
  80 
  81 
  82 
  83 
  84 
  85 
  86 
  87 
  88 
  89 

  90 

  91 

  92 
  93 
  94 
  95 
  96 

  97 
  98 
  99 
 100 
 101 
 102 

 103 
 104 
 105 
 106 
 107 
 108 
 109 
 110 
 111 
 112 
 113 
 114 
 115 
 116 
 117 
 118 
 119 
 120 
 121 
 122 
 123 
 124 
 125 
 126 
 127 
 128 
 129 
 130 
 131 
 132 
 133 
 134 
 135 
 136 
 137 
 138 
 139 
 140 
 141 
 142 
 143 
 144 
 145 
 146 
 147 
'Program napisany na mikrokontroler ATMEGA AT90S2313
'Prosty licznik sekundowy od zera ( 0000 ) do ( 9999 ) z skokiem co 1
'Po doliczeniu do konca zaczyna od poczatku jednak ilosc przejsc od poczatku do 
  konca zapamietuje w osobnej
'zmiennej do podgladniecia po przycisnieciu przycisku P0
'Przetestowany na zestawie demo ( plytce testowej ) do kursu Bascom AVR - 
  AVT3500
'W zestawie PORTB podlaczony do czterech wyswietlaczy 7-segmentowych pracujacych
  w trybie multipleksowym
'PORTD.0 oraz PORTD.1 jako przyciski, PORTD.2 do PORTD.6 podlaczone do 
  tranzystorow sterujacych wlaczanie/wylaczanie
'wspolna anoda poszczegolnych wyswietlaczy 7-segmentowych ( czyli w 
  rzeczywistosci wlacza/wylacza pojedyncza cyfre - modul )
'Schemat elektryczny zestawu na stronie www.netsl.net ( szukaj : AVT3500 )
'Autor : neTsl.net  02.11.2008


'USTAL KONFIGURACJE PORTOW
'=========================
'wszystkie porty b jako wyjscie - to te od wyswietlaczy 7-segmentowych port b to
  8 wyjsc/wejsc
'7 segmentow cyfry ( modulu ) plus kropka
Config Portb = Output
'porty d dwa najmlodsze czyli przyciski (pd.0) i (pd.1) jako wejscie ( 0 ), 
  reszta ( czyli m.in. tranzystory sterujace ledami )
'jako wyjscie ( 1 ), port d to 7 wyjsc/wejsc
Config Portd = &B1111100

'USTAL STAN SPOCZYNKOWY PORTOW
'=============================
'wpisujac ( 0 ) zalaczamy tranzystor ktory nam jest potrzebny, dwa najmlodsze 
  bity pd.0 i pd.1 czyli przyciski, tam dajemy jedynki czyli
'podciagamy do plusa zasilania przez to beda reagowac na wcisniecie czyli 
  dopiecie do masy
Portd = &B00000111
'na wszystkich wyjsciach portu b ustalamy ( 1 ) czyli wylaczamy ledy
Portb = &B11111111


'ZACZYNAMY
'=========
Dim Kw As Byte , A As Word , B As Byte , C As Byte , D As Byte , Migaj As Bit , 
  P1 As Byte , P2 As Byte
Dim A2 As Byte , B2 As Byte , C2 As Byte , D2 As Byte
Config Timer0 = Timer , Prescale = 64 : Enable Interrupts : Enable Timer0

On Timer0 T1

Kw = 0 : A = 0 : B = 0 : C = 0 : D = 0 : Migaj = 0 : P1 = 0 : P2 = 0
A2 = 0 : B2 = 0 : C2 = 0 : D2 = 0

Do : Loop : End               'glowna petla

Tabela:                       'potrzebna do wyswietlenia cyfr 0...9
Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144



Zwieksz:
 Incr A
 If A = 10 Then
   A = 0
   Incr B
   If B = 10 Then
      B = 0
      Incr C
      If C = 10 Then
         C = 0
         Incr D
         If D = 10 Then
            D = 0
            Incr A2
            If A2 = 10 Then
               A2 = 0
               Incr B2
               If B2 = 10 Then
                  B2 = 0
                  Incr C2
                  If C2 = 10 Then
                     C2 = 0
                     Incr D2
                     If D2 = 10 Then D2 = 0
                  End If
               End If
            End If
         End If
      End If
   End If
 End If
Return



T1:
'przerwanie od timera co 4ms
'czestotliwosc kwarcu przy mikrokontrolerze 4MHz
'4MHz = 4000000 Hz czyli 4000000 razy na sekunde
'czyli 1sekunda/4000000 = 0.00000025s - tyle wynosi przebieg z kwarcu
'prescaler wlaczony na 64 ( Prescale = 64 ), czyli 0.00000025s * 64 = 0.000016s 
  czyli 16us ( mikrosekund )
'Timer0 to licznik od 0 do 255 czyli po zliczeniu 255 takich 16us sygnalow 
  wysyla do procesora przerwanie
'czyli w sumie to daje sygnal przerwania co 0.00408s, my chcemy dokladnie co 4ms
  wiec od 255 - 6 = 249 ale liczymy lacznie z
'0 wiec w sumie 250 * 16us = 0.004ms ( milisekundy )
Timer0 = 6

Incr P2
If P2 = 250 Then              '250 * 0.004s to dokladnie 1s i co tyle bedzie 
  zwiekszany licznik
   P2 = 0
   Gosub Zwieksz
End If

Incr P1                       'zwieksz P1
If P1 = 40 Then               '40 * 0.004s to dokladnie 0.16s i co tyle bedzie 
  zaswiecana kropka
   P1 = 0
   Toggle Migaj               'zmien na przeciwny stan zmiennej Migaj
End If

Incr Kw : If Kw = 4 Then Kw = 0       'wybierz kolejny wyswietlacz

'OBSLUGA WYSWIETLACZY CO 4ms
'===========================
Portd = &B1111111             'wygas wyswietlacze

If Pind.0 = 1 Then
   Select Case Kw
   Case 0:
      Portb = Lookup(a , Tabela)       'wpisz wartosci do portu b
      Portd.3 = 0             'zaswiec ( wlacz ) cyfre pierwsza
      Portb.7 = Migaj         'obsluga punktu migajacego
   Case 1:
      Portb = Lookup(b , Tabela)
      Portd.4 = 0
   Case 2:
      Portb = Lookup(c , Tabela)
      Portd.5 = 0
   Case 3:
      Portb = Lookup(d , Tabela)
      Portd.6 = 0
   End Select
Else
   Select Case Kw
   Case 0:
      Portb = Lookup(a2 , Tabela)       'wpisz wartosci do portu b
      Portd.3 = 0             'zaswiec ( wlacz ) cyfre pierwsza
      Portb.7 = Migaj         'obsluga punktu migajacego
   Case 1:
      Portb = Lookup(b2 , Tabela)
      Portd.4 = 0
      Portb.7 = 0
   Case 2:
      Portb = Lookup(c2 , Tabela)
      Portd.5 = 0
   Case 3:
      Portb = Lookup(d2 , Tabela)
      Portd.6 = 0
   End Select
End If
Return

Poprawiony: poniedziałek, 03 listopada 2008 01:09
 
Analizator leksykalny
Programowanie - Zadania C++
Wpisany przez Administrator   
niedziela, 01 lutego 2009 12:15

Analizator leksykalny w wersji podstawowej. Klasy znaków : identyfikatory, liczby rzeczywiste, liczby całkowite, słowa kluczowe, operatory addytywne i multiplikatywne, nawiasy, operator przypisania. Program po uruchomieniu odczytuje tekst do analizy z pliku "test.txt", wstawia do listy i dokonuje analizy.

Do pobrania również spakowana wersja z przykładowym plikiem "test.txt" i programem do uruchomienia analizator.exe

Do pobrania : analizator.zip

Wersja : 2.12
Typ : pełna, GPL
Rozmiar pliku : 0.20 MB
Autor : www.neTsl.net
Poprawiony: piątek, 01 stycznia 2010 23:11
 
Symulacja awarii w systemie rozproszonym
Programowanie - Zadania C++
Wpisany przez Administrator   
sobota, 07 czerwca 2008 17:23

Ogólnie program działa w sposób następujący :

Mamy serwer i nieograniczoną liczbę klientów. Serwer wysyła do klientów dane ( czas i datę w odstępach co 5 sekund przez protokół TCP/IP ). Klient lub klienci odbierają te dane. W momencie awarii serwera – klient który pierwszy zauważy brak komunikacji z serwerem ( brak przychodzących danych ), szuka serwera i jeśli nie znajdzie sam próbuje zostać serwerem.

Konfiguracja przed skompilowaniem pliku ko.cpp :

Ustawiamy maskę adresów IP w zmiennej char ip[] = "192.168.1.";

Ustawiamy adres startowy czwartego oktetu w adresie IP – zmienna BEGIN.

Ustawiamy adres końcowy czwartego oktetu w adresie IP – zmienna END.

Uruchamiamy plik ko.out. ( można nieograniczoną ilość razy – program uruchomiony jako pierwszy zostaje pierwszym serwerem, reszta klientami – jeśli serwer zabijemy ( kill PID ) - któryś z klientów będzie chciał nim zostać. )

1.) Po uruchomieniu program początkowo szuka serwera ( skanuje po kolei adresy IP z maski, zaczynając od adresu BEGIN z czwartego oktetu i kończąc na END ). Skanowanie zaimplementowane jest w pętli for i sprawdza czy wykonanie instrukcji :

connect(sockfd1, (struct sockaddr *)&their_addr, sizeof(struct sockaddr));

zwraca błąd czy nie – jeśli zwraca błąd skanowany jest kolejny adres aż do końca.

2a.) Jeśli po przeskanowaniu wszystkich adresów IP nie znajdzie serwera ( connect za każdym razem będzie zwracał błąd ) - program próbuje przejść w stan SERWERA :

sockfd1 = socket(AF_INET, SOCK_STREAM, 0)

bind(sockfd1, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))

listen(sockfd1, BACKLOG)

, nasłuchując za potencjalnym klientem. Po uzyskaniu połączenia z klientem tworzy proces-dziecko który wysyła do klienta w odstępach 5 sekundowych aktualny czas i datę :

Poprawiony: sobota, 29 sierpnia 2009 23:25
 
<< pierwsza < poprzednia 1 2 3 4 5 6 7 8 9 następna > ostatnia >>

Strona 1 z 9
Przełącz się na Firefox – wygodniejszy, szybszy i bezpieczniejszy sposób na przeglądanie.

Firefox

RocketTheme Joomla Templates
Joomla Polska
©2007-2009 www.neTsl.net  31.08.2009  LP:23988 :: 38.107.191.116  38.107.191.116