Przejdź do głównej zawartości

Linux RHCSA cz.22 - System plików - Bezpieczeństwo - ACL, GnuPG

Linux tak jak większość systemów operacyjnych posiada standardową konfigurację uprawnień do plików. Posiada również coś więcej. Coś co pozwala mieć większą kontrolę dotyczącą dostępu do plików - ACL - access control lists. Temat ten jest wstępem do tematu zabezpieczenia systemu plików, katalogów i innych.

KONFIGURACJA ACL

Krok 1 - Instalacja pakietu ACL

# yum install -y acl

Krok 2 - Sprawdzenie poprawności instalacji pakietu

# rpm -qa | grep acl
libacl-2.2.49-4.el6.x86_64
acl-2.2.49-4.el6.x86_64

W tym rozdziale zajmiemy się uruchomieniem i skonfigurowaniem list dostępowych (ACL) przez co rozszerzymy możliwości konfiguracji dostępu do plików i katalogów umożliwiając jednocześnie jeszcze większą kontrole nad tym co dzieje się w systemie.

Krok 3 - Zanim będziemy mogli używać ACL w zależności od potrzeb należy sprawdzić czy system plików ACL został zamontowany.

# mount | grep acl

Ponieważ w wyniku nie otrzymaliśmy niczego wskazuje to na fakt, iż żaden z systemu plików nie stosuje ACL. Należy to poprawić. Zakładamy, że potrzebujemy rozszerzyć możliwość zarządzania uprawnieniami do plików na systemie plików /dev/hdc1 (/opt/backup). Zamontujmy ten system plików wraz z opcją ACL co robimy przez odmontowanie go i zamontowanie ponownie.

Krok 4 - Wykonajmy polecenie montowania z ACL

# mount –t ext4 -o acl,remount /dev/hdc1 /opt/backup/

Krok 5 - Jeżeli system plików nie był wcześniej zamontowany możemy użyć

# mount –t ext4 -o acl /dev/hdc1 /opt/backup

Krok 6 - Sprawdzenie

# mount | grep acl
/dev/hdc1 on /opt/backup type ext4 (rw,acl)

Teraz widać już że opcja ACL jest dostępna.

Krok 7 - Jeżeli zależy nam by opcja ACL była dostępna zawsze, po każdym restarcie systemu musimy odpowiednio zmodyfikować plik /etc/fstab

/dev/hdc1 /opt/backup ext4 defaults,acl 1 2

Krok 8 - Zapis i zamknięcie pliku

Krok 9 - Zatwierdzenie i uruchomienie dokonanych zmian

# mount -o remount /opt/backup/

Krok 10 - Weryfikacja włączenia opcji ACL

# mount | grep -i acl
/dev/hdc1 on /opt/backup type ext3 (rw,acl)

Od tej pory ten system plików będzie współpracował z listami ACL. Zobaczymy w jaki sposób możemy ich używać i konfigurować. 

Krok 1 - Utwórzmy testowy plik na którym przetestujemy działanie ACL w /opt/backup

# cd /opt/backup
# touch file1

Teraz przy pomocy polecenia "getfacl" zobaczymy aktualne ustawienia ACL dla pliku.

Składnia polecenia getfacl : # getfacl [opcje] nazwa_pliku

Opcje polecenia getfacl :
  • -d     Wyświetl domyślne ACL 
  • -R     Źródła dla podkatalogów
Krok 2 - Wyświetl informacje na temat ACL dla nowo utworzonego pliku

# getfacl file1
# file: file1
# owner: root
# group: root
user::rwgetfacl
group::r—
other::r—

Na razie nie ma jeszcze w tym nic specjalnego widzimy tylko domyślne ustawienia ACL. Zastosujemy polecenie "setfacl" by utworzyć dodatkowe uprawnienia dla tego pliku.

Składnia polecenia setfacl : # setfacl [opcje] plik

Opcje polecenia setfacl :
  • -m         Modyfikacja ACL
  • -x          Usunięcie ACL
  • -n          Bez prze konfigurowania obecnej maski 
  • -R         Źródła podkatalogów
Krok 3 - Ustawienie ACL dla użytkownika User01 

# setfacl -m u:user01:rwx /opt/backup/file1

Krok 4 - Ponowne sprawdzenie ustawień ACL 

# getfacl file1
# file: file1
# owner: root
# group: root
user::rwuser:
user01:rwx
group::r—
mask::rwx
other::r—

Teraz widać że dodano możliwość odczytu, zapisu i wykonywania pliku dla użytkownika User01. 

Krok  5 - Usunięcie uprawnień ACL dla użytkownika User01 

# setfacl -x u:user01 /opt/backup/file1

Krok 6 - Weryfikacja 

# getfacl file1 
# file: file1
# owner: root
# group: root
user::rwgroup::
r—
mask::r—
other::r—

Krok 7 - Aby usunąć wszystkie ustawione ACL na danym pliku można skorzystać z przełacznika "-b" zamiast usuwać je jedna po drugiej 

# setfacl -b testfile

Ustawienia list ACL mogą stać się naprawdę skomplikowane jeżeli nie zostaną wcześniej dobrze przemyślane. Należy mieć pewność że dobrze rozumiemy podstawowe uprawnienia dostępu do plików, co jest kluczowym elementem administrowania systemem. 

GnuPG

GnuPG jest rozwiązaniem opartym o licencję Open Source służącym do szyfrowania. Pierwszym zastosowaniem dla PGP było szyfrowanie wiadomości e-mail pozwalającym na weryfikacje kim jest użytkownik. To samo rozwiązanie ma również zastosowanie dla ochrony plików. Można użyć pakietu "seahorse" umożliwiającemu zabezpieczać pliki. 

Krok 1 - Instalacja pakietu 

# yum install –y seahorse

Krok 2 - weryfikacja instalacji 

# rpm -qa | grep seahorse
seahorse-2.28.1-4.el6.x86_64

Zanim zaczniemy używać zabezpieczania plików potrzebujemy wygenerować odpowiedni klucz prywatny jakim będziemy szyfrować dokumenty. Potrzebny będzie również klucz publiczny do odszyfrowywania. 

Krok 3 - Generowanie kluczy 

# gpg —key-gen

Po wygenerowaniu kluczy można już szyfrować pliki. 

Komentarze

Najczęściej czytane w tym miesiącu

50 popularnych pytań dotyczących systemu Linux zadawanych na rozmowach kwalifikacyjnych. (Pytania & Odpowiedzi)

Jak dodać użytkownika w systemie Windows z poziomu konsoli CMD? (net user, net localgroup)

Generowanie testowych plików o określonej wielkości