Instalacja sterowników – wypakowanie właściwego sterownika z pliku EXE

Często zdarza się, że sterownik urządzenia w systemie instaluje się wraz z innymi dodatkami które nie są potrzebne. Dzieje się tak ponieważ jest dostarczany przez producenta w postaci pliku EXE, gdzie nie nie ma możliwości wskazania konkretnego pliku *.inf.
Bardzo dobrym programem, pozwalającym wypakować „czysty” sterownik ze skompresowanego pliku *.EXE lub innego skompresowanego archiwum jest Universal Extractor (https://www.legroom.net/software/uniextract)

Uprawnienia do usług systemu Windows

Czasem zachodzi potrzeba aby dodać zwykłemu użytkownikowi pełny dostęp do usługi (np. możliwość restartu). Świetnym narzędziem, które umożliwia modyfikację uprawnień usług jest narzędzie Microsoftu – SubInACL.
Oto przykładowa składnia polecenia, które nadaje użytkownikowi „gość” pełną kontrolę nad buforem wydruku oraz drukarką HP LJ 1020.

SUBINACL /verbose=1 /service spooler /GRANT=gość=f
SUBINACL /verbose=1 /printer "HP LJ 1020" /GRANT=gość=f

Oto inne opcje:
F : Pełna kontrola (Full Control)
R : Prawo odczytu (Read) (użytkownik widzi tą usługę, ale nie może jej modyfikować)
W : Prawo do modyfikowania (Write)
X : Prawo do uruchomienia (eXecute)
Q : Odczytanie szczegółowych informacji (Query Service Configuration)
S : Odczytanie statusu (Query Service Status)
E : Wylistowanie usług zależnych (Enumerate Dependent Services)
C : Zmiana w konfiguracji usługi (Service Change Configuration)
T : Uruchamianie usługi (Start)
O : Zatrzymywanie usługi (Stop)
P : Pauza/wznowienie

Źródło:
http://www.robvanderwoude.com/subinacl.php
https://michlstechblog.info/blog/windows-set-permissions-on-a-service/
https://social.technet.microsoft.com/Forums/windows/en-US/1038ba2f-5366-4d33-9a52-479dc1280729/how-do-i-edit-the-registry-to-permanently-disable-windows-updates?forum=win10itprosetup
https://blogs.msmvps.com/erikr/2007/09/26/set-permissions-on-a-specific-service-windows/
https://www.coretechnologies.com/blog/windows-services/essential-tools-windows-services-sc-exe/

Handbrake – automatyczna kompresja plików video

Poniższy skrypt PowerShell umożliwia automatyczną kompresję materiałów video w folderze i podfolderach.

gci . *.mp4 -R | 
foreach-object {
 $saveBase = "v:\handbrake"
 $curDir = (Get-Item -Path ".\" -Verbose).FullName
 $inName = $_.BaseName + $_.Extension
 $inFile = $_.DirectoryName + "\" + $inName
 $outFile = $saveBase + $inFile.replace($curDir, "")
 $outDir = $outFile.replace($inName, "")
 New-Item -path "$outDir" -type directory -force
 echo "Working on $inFile"
 echo "Saving to $outFile"
 &"C:\Program Files\HandBrake\HandBrakeCLI.exe" -i "$inFile" -o "$outFile" --preset "Very Fast 1080p30"
}

Źródła i inne tematycznie związane artykuły:
http://www.codegist.net/search/handbrake%20recursive%20encode/1
https://dzone.com/articles/poor-mans-batch-encoding-with-handbrake
https://www.hanselman.com/blog/BatchConvertingADirectoryTreeOfVideosRecursivelyWithHandbrakeForStreamingToAnXbox360.aspx
https://jorge.fbarr.net/2012/05/19/batch-convert-videos-using-handbrake-and-a-script/

Instalacja Ubiquiti Unifi NVR Video na systemie Ubuntu Server 16.04 – wstępna konfiguracja systemu i zdalnego dostępu

Spis treści:

  1. Instalacja i konfiguracja serwera SSH
  2. Instalacja programu cockpit – programu służącego do monitorowania pracy serwera
  3. Instalacja środowiska graficznego xfce oraz serwera VNC
  4. Instalacja Ubiquiti Unifi VNR
  5. Otwarcie portów dla Unifi NVR, SSH oraz VNC
  6. Instalacja Google Chrome
  7. Instalacja dodatkowego oprogramowania ułatwiającego administrację serwerem oraz jego  konfiguracja

 

  1. Instalacja i konfiguracja serwera SSH
    sudo apt install openssh-server
    sudo nano /etc/ssh/sshd_config

    Zmiana konfiguracji – sekcji #Authentication:

    #PermitRootLogin prohibit password 
    na 
    PermitRootLogin no

    Restart usługi:

    sudo systemctl restart ssh
    sudo systemctl status
  2. Instalacja programu cockpit – programu służącego do monitorowania pracy serwera:
    sudo add-apt-repository ppa:cockpit-project/cockpit
    sudo apt update
    sudo apt install cockpit
    sudo systemctl enable cockpit

    Interfejs Cockpit będzie dostępny pod adresem: https://IPserwera:9090

  3. Instalacja środowiska graficznego xfce oraz serwera VNC, stworzenie pliku konfiguracyjnego:
    sudo apt-get install xfce4 xfce4-*
    sudo apt-get install vnc4server
    sudo nano /etc/systemd/system/vncserver@:5.service

    Należy wpisać następującą instrukcję, zmieniając nazwę użytkownika:

    [Unit]
    Description=Start TightVNC server at startup
    After=syslog.target network.target
    
    [Service]
    Type=forking
    User=nazwa_uzytkownika
    PAMName=login
    PIDFile=/home/nazwa_uzytkownika/.vnc/%H%i.pid
    #ExecStartPre=/usr/bin/vncserver -kill %i > /dev/null 2>&1
    ExecStart=/usr/bin/vncserver -depth 24 -geometry 1024x768 %i
    ExecStop=/usr/bin/vncserver -kill %i
    
    [Install]
    WantedBy=multi-user.target

    Restart demona i uruchomienie serwera VNC raz jeszcze (będziemy poproszeni o podanie hasła):

    sudo systemctl daemon-reload
    vncserver

    Stworzenie pliku konfiguracyjnego serwera VNC:

    nano /home/nazwa_uzytkownika/.vnc/xstartup

    Należy do pliku wpisać następującą zawartość:

    #!/bin/sh
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    startxfce4 &

    Uruchomienie usługi VNC i dodanie jej do autostartu:

    sudo systemctl start vncserver@:5.service
    sudo systemctl enable vncserver@:5.service
  4. Instalacja Ubiquiti Unifi VNR:
    sudo apt-get update
    sudo apt-get upgrade
    wget https://dl.ubnt.com//firmwares/ufv/v3.9.5/unifi-video.Ubuntu16.04_amd64.v3.9.5.deb
    sudo dpkg -i unifi-video.Ubuntu16.04_amd64.v3.9.5.deb
    sudo apt-get update --fix-missing

    Restart usługi:

    sudo /etc/init.d/unifi-video restart
  5. Otwarcie portów dla Unifi NVR, SSH, VNC oraz Cockpit
    sudo ufw allow 7443/tcp
    sudo ufw allow 7442/tcp
    sudo ufw allow 7004/tcp
    sudo ufw allow 6666/tcp
    sudo ufw allow 7080/tcp
    sudo ufw allow 7445/tcp
    sudo ufw allow 7446/tcp
    sudo ufw allow 7447/tcp
    sudo ufw allow 5905/tcp
    sudo ufw allow 22/tcp
    sudo ufw allow 9090/tcp
  6. Instalacja Google Chrome:
    wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
    echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
    sudo apt-get update
    sudo apt-get -y install google-chrome-stable

     

  7. Instalacja dodatkowego oprogramowania ułatwiającego administrację serwerem oraz jego  konfiguracja.
    Dostosowanie środowiska (terminalu) – wygenerowanie ustawień na stronie http://bashrcgenerator.com/ i wklejenie ich do ~/.bashrc:

    nano ~/.bashrc
    $tput sgr0)\]\[\033[38;5;15m\] \[$(tput sgr0)\]"

    Instalacja oprogramowania TMUX, umożliwiającego zapamiętanie sesji i powrót do niej po ponownym zalogowaniu do maszyny (np, przez Putty). Innym programem tego typu jest  SCREEN

    sudo apt install tmux
    tmux
    tmux attache - powrót do sesji
    ss (socket statistics) -ss -ant

    Ubiquiti do podglądu kamer poleca przeglądarkę Google Chrome. Jednak z testów wynika, że przeglądanie kamer w Firefox również nie stwarza problemów, a działa może nawet lepiej od Chrome, ponieważ nie ma problemu z zachowaniem certyfikatu.
    W jednej jak i drugiej przeglądarce występuje problem – komunikat: „Unable to load Live Stream”. Problem ten jest związany z certyfikatem serwera na porcie 7446 (nie z 7443 – domyślnym porcie, który służy do podglądu kamer). Aby rozwiązać problem należ zaakceptować i zapamiętać certyfikat serwera na porcie 7446.

    Źródła:
    https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-vnc-on-ubuntu-16-04.html
    https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/install-google-chrome-on-ubuntu-16-04.html

VirtualBox – zapisanie stanu maszyny

Poniżej przedstawiony jest skrypt zamykający maszyny wirtualne a następnie zamykający hosta (system Windows).

"C:\VirtualBox\VBoxManage.exe" controlvm "Ubuntu Server" savestate
"C:\VirtualBox\VBoxManage.exe" controlvm "Ubuntu Minimal" savestate
shutdown /s /t 10

 

MikroTik – blokowanie stron WWW

Do tej pory aby zablokować stronę WWW należało posługiwać się regułami L7 (wyrażeniami regularnymi Regexp), lub Web Proxy. Niestety, używając tych funkcji RouterOS, blokowanie wielu stron WWW mogło spowodować nadmierne obciążenie CPU.
Poczynając od wersji RouterOS 6.36,  istnieje możliwość używania nazw DNS w address-list. Daje to ogromne możliwości firewalla – budowanie dynamicznych list IP. Blokowanie stron używając Dynamic Lists nie powoduje już dużego obciążenia CPU.

Poniżej przedstawiony jest przykład blokowania strony chomikuj.pl wszystkim komputerom w sieci oprócz komputera o adresie IP: 192.168.5.107:

miktorik - blokowanie stron, ustawienia firewalla

Na powyższym zrzucie ekranu widać, że MikroTik rozwiązał nazwę DNS chomikuj.pl i umieścił dynamiczne wpisy IP w Address Lists.  W tym przypadku strona chomikuj.pl dostępna jest pod dwoma adresami IP.