setfacl czyli ACLe w akcji. Dostęp do logów.

Setfacl to jedno z narzędzi do zarządzania ACL’ami pod Linuxem. Notatka praktyczna pokazująca jak można je zastosować w realnym świecie.

Czasami istnieje konieczność przyznania komuś dostępu do logów. Dostępu stałego, uwzględniającego logrotate i ewentualne fanaberie niektórych aplikacji (zmień ownera po stworzeniu pliku – patrz Apache).

Najskuteczniejszą moim zdaniem metodą jest skorzystanie z ACL’a nałożonego na katalog.
Przykładowo. Chcemy dodać członkom grupy www dostęp read do logów nginxa:

setfacl -d -m g:www:r nginx/    # to załatwia sprawę dla przyszłych plików (można też pojechać rekurencyjnie -R)

wydanie komendy spodowowało:

[root@linux log]# getfacl nginx/
# file: nginx/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:www:r--
default:mask::r-x
default:other::r-x

setfacl -m g:www:r nginx/* # a tak dorzucamy +r do wszystkich obecnych.

Jeżeli uprawnienia miałyby być nadane nie na grupę tylko konkretnego usera to:

setfacl -d -m u:login:r nginx/

Usunięcie acla:

setfacl -x g:www nginx/
setfacl -x u:login nginx/

Migracja bazy z MySQL/MariaDB na Oracle

Pozornie proste zadanie okazało się być wyjątkowo upierdliwe.

  1. Instrukcja ze strony Oracle (z wykorzystaniem SQL Developera) wywołała u mnie myśli samobójcze
  2. Wykorzystanie mysqldump’a z opcją ” –compatible=oracle” wygenerowało plik, którego ani nie udało mi się zaczytać do Oracle 11g ani z powrotem do MariaDB

Musiałem ratować się inaczej…

Z pomocą w takich sytuacjach przychodzi RazorSQL. Narzędzie (niestety płatne), ale na szczęście z 30-to dniową wersją ewaluacyjną. RazorSQL potrafi przenieść dane bezpośrednio między różnymi systemami zarządzania bazą danych.
Testowałem tę opcję z MariaDB w wersji 5.5 i Oracle w wersji 11g XE.

Ważna uwaga. Przy przenoszeniu 'ciut większej’ bazy, RazorSQL będzie zgłaszał błąd przekroczenia Heap Size Java.
Należy wtedy zedytować plik uruchamiający: razorsql.sh, a dokładniej parametr -Xmx. W przykładzie poniżej ograniczamy ilość dostępnej dla RazoraSQL pamięci do 6GB. Standardowo to tylko kilkaset MB.
razorsql.sh po poprawce:

#!/bin/sh
CWD=$(dirname "$0")
CMD="$CWD/razorsql.jar"
$CWD/jre/bin/java -Xms64M -Xmx6G -client -jar ${CMD}
RC=$?
if [ ${RC} != 0 ]; then
echo "Error returned code found. Retrying . . ."
$CWD/jre/bin/java -Xms64M -Xmx640M -client -jar ${CMD}
RC2=$?
if [ ${RC2} != 0 ]; then
echo "Trying local JRE . . ."
java -Xms64M -Xmx640M -client -jar ${CMD}
fi
fi

[bash]Rekursywna zmiana rozszerzeń plików.

Załóżmy, że mamy dużo plików o jakimś tam rozszerzeniu rozsianych w dużej ilości katalogów.
I chcemy tym wszystkim plikom zmienić rozszerzenie na jakieś inne.
np
test/bb/plik2.jpeg
test/cc/plik4.jpeg
test/cc/plik3.jpeg
test/cc/plik5.jpeg
test/aa/plik.jpeg
test/aa/dd/plik7.jpeg

chcemy te pliki. jpeg zmienić na .jpg

Rozwiązanie:
find test -name *.jpeg | awk -F '.' '{OFS=FS;var=$0;$(NF)="";print var" "$0"jpg"}' | xargs -n 2 mv

RHEL 7: zmiana hasła roota

Metoda działa na Red Hat Enterprise Linux 7 oraz Centos 7.

  • W trakcie startu systemu po wyświetleniu menu gruba zatrzymujemy go (strzałka w górę np.). Wybieramy z listy kernel, który chcemy użyć (zapewne będzie to pierwsza linia od góry).
  • Wciskamy 'e’
  • Znajdujemy linię, która zaczyna się od 'linux16′
  • Za słowem 'quiet’ lub przed 'LANG’ dodajemy wpis 'rd.break’
  • Wciskamy CTRL-X
  • Powinien wystartować goły system, z promptem #
  • # mount -o remount,rw /sysroot
  • # chroot /sysroot
  • # passwd – wpisujemy nowe hasło
  • # touch /.autorelabel – wymuszamy odtworzenie kontekstów SELinuxa przy starcie
  • exit, exit

Koniec.

DA: Inkwizycja + TeamViewer = Problem z wyświetlaniem w trybie Full Screen

Dragon Age: Inquisition nie lubi się z TeamViewerem 🙂
W sieci jako rozwiązanie podawane jest całkowite wyłączenie TeamViewera na czas grania w DA:I. Nie ma takiej potrzeby.

Wystarczy w TeamViewerze wyklikać:

  1. Dodatki
  2. Opcje
  3. Zaawansowane
  4. Pokaż opcje zaawansowane
  5. Przycisk SzybkiePołączenie -> Konfiguruj
  6. DragonAgeInquisition.exe

I po problemie. Przyczyną niepoprawnego działania DA:I w trybie Full Screen, nie jest TeamVeawer jako taki, a jedynie przycisk, który standardowo dokleja się do górnej belki okna i pozwala szybko udostępnić komuś obraz. Nie ma przycisku – Nie ma problemu.

MBR w Windows + OCZ Revodrive

Jestem szczęśliwym posiadaczem OCZ Revodrive. Świetna sprawa… dopóki coś się nie schrzani 😉

Strasznie sobie namieszałem z MBR. Trzeba było go odzyskać…

  1. Odpal W7 z płytki instalacyjnej.
  2. Znajdź opcję napraw system.
  3. Załaduj drivery, których kopia jest tu: OCZ_x64 (wrzucamy na pendraka, rozpakowujemy)
  4. Zacznie być widoczny dysk, ale nadal nie będzie widać systemu. Wyszukanie systemu przy użyciu narzędzia bootrec działa, ale naprawa mbr już nie.
  5. Tak więc następne narzędzie, które trzeba mieć na pendrive – mbrfix
  6. mbrfix z opcją 'fixmbr’ i działa.