cmusei.rwreceiver
rwreceiver
Rola do konfigurowania i zarządzania usługą rwreceiver. rwreceiver to demon, który akceptuje pliki przesyłane z jednego lub więcej procesów rwsender. Otrzymane pliki są przechowywane w katalogu docelowym. Więcej informacji znajdziesz w dokumentacji rwreceiver.
Wymagania
Jeśli używasz TLS do połączeń, certyfikaty muszą być wygenerowane i przesłane zarówno do nadawcy, jak i odbiorcy.
Zmienne Roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml):
silk_packing_tools_loc: "/usr/local/sbin"
Lokalizacja folderu narzędzi pakujących silk.
silk_tls_support: False
Czy używać TLS do połączeń.
rwreceiver_myname: "rwreceiver"
Nazwa procesu rwreceiver. Możliwe jest uruchomienie wielu instancji rwreceiver na tym samym serwerze, nadając im różne nazwy.
rwreceiver_conf_template: "rwreceiver.conf.j2"
rwreceiver_conf_file_loc: "/usr/local/etc"
rwreceiver_conf_file_path: "{{ rwreceiver_conf_file_loc }}/{{ rwreceiver_myname }}.conf"
rwreceiver_init_template: "rwreceiver.j2"
rwreceiver_init_file_path: "/etc/init.d/{{ rwreceiver_myname }}"
Źródła szablonów do wykorzystania i ich miejsca docelowe.
Zmienna | Wyjaśnienie |
---|---|
rwreceiver_statedirectory: "/usr/local/var/lib/rwreceiver" | Katalog, w którym rwreceiver przechowuje swoje dane |
rwreceiver_create_directories: "no" | Jeśli ustawione na "yes", zdefiniowane katalogi będą automatycznie tworzone, jeśli jeszcze nie istnieją |
rwreceiver_bin_dir: "{{ silk_packing_tools_loc }}" | Pełna ścieżka do katalogu zawierającego program "rwreceiver" |
rwreceiver_destination_dir: "{{ rwreceiver_statedirectory }}/destination" | Pełna ścieżka do katalogu, w którym będą umieszczane odebrane pliki |
rwreceiver_mode: "client" | Tryb, w którym będzie działać odbiornik. Ważne wartości to "server" i "client". |
rwreceiver_id: "receiver-1" | Nazwa tej instancji odbiornika |
rwreceiver_port: "" | PORT lub para HOST:PORT, na której serwer nasłuchuje przychodzących połączeń. To jest wymagane tylko w trybie serwera. Jeśli HOST nie jest podany, serwer nasłuchuje na każdym adresie. HOST może być nazwą lub adresem IP. Jeśli HOST jest adresem IPv6, należy go umieścić w nawiasach kwadratowych, a całą wartość w pojedynczych cudzysłowach, aby zapobiec interpretacji przez powłokę. |
rwreceiver_post_command: "" | Komenda do uruchomienia na każdym pliku po jego odebraniu. W komendzie, "%s" zostanie zastąpione pełną ścieżką do odebranego pliku, a "%I" zostanie zastąpione identyfikatorem rwsender, który wysłał plik. Przykład: POST_COMMAND='echo odebrano plik %s od rwsender %I' |
rwreceiver_freespace_min: "0" | Ilość przestrzeni (w bajtach), którą rwreceiver spróbuje utrzymać wolną w systemie plików zawierającym $DESTINATION_DIR. Ta zmienna może być ustawiona jako zwykła liczba całkowita lub jako liczba rzeczywista zakończona sufiksem K, M, G lub T. |
rwreceiver_space_max_percent: "100" | Maksymalny procent przestrzeni w systemie plików zawierającym $DESTINATION_DIR, którą rwreceiver będzie skłonny wykorzystać. |
rwreceiver_sender_servers: "" | Jeśli odbiornik jest w trybie klienta, to muszą być określone SERWERY NADAWCZE. Wiersze powinny mieć następujący format: <identyfikator> <host>:<port> . Te zmienne są wartościami wielowierszowymi, w których każdy wiersz ma wartość dla jednego rwsender. |
rwreceiver_sender_clients: "" | Jeśli odbiornik jest w trybie serwera, to muszą być określone KLIENCI NADAWCZY. Wiersze powinny mieć następujący format: <identyfikator> . Te zmienne są wartościami wielowierszowymi, w których każdy wiersz ma wartość dla jednego rwsender. |
rwreceiver_duplicate_dirs: "" | Odbiornik może kopiować przychodzące pliki do wielu katalogów docelowych. Zauważ, że jeśli kopiowanie do jednego z poniższych katalogów się nie powiedzie, zostanie zapisany błąd, ale plik będzie traktowany jako skutecznie przesłany. Ta zmienna zawiera wartość wielowierszową, w której każdy wiersz wymienia katalog duplikatu. Format wiersza to: <katalog-duplikatu> . Należy pamiętać, że każdy wiersz musi być pełną ścieżką katalogu |
rwreceiver_duplicate_copies: "link" | Podczas kopiowania plików do duplikatu katalogu docelowego, domyślnie rwreceiver tworzy pliki jako twarde linki (jeśli to możliwe) do siebie i do plików w katalogu docelowym. Jeśli jednak jakiś proces zmieni na miejscu kopię w jednym miejscu, wpłynie to na wszystkie pliki. Aby wymusić na rwreceiver utworzenie pełnej kopii, zmień DUPLICATE_COPIES z "link" na "copy". |
rwreceiver_log_type: "syslog" | Typ rejestrowania do użycia. Ważne wartości to "legacy" i "syslog". |
rwreceiver_log_level: "info" | Najniższy poziom rejestrowania, który rzeczywiście zostanie zapisany. Ważne wartości to: emerg, alert, crit, err, warning, notice, info, debug |
rwreceiver_log_dir: "{{ rwreceiver_statedirectory }}/log" | Pełna ścieżka do katalogu, gdzie będą zapisane pliki logów, gdy LOG_TYPE to "legacy". |
rwreceiver_pid_dir: "{{ rwreceiver_log_dir }}" | Pełna ścieżka do katalogu, gdzie będzie zapisany plik PID |
rwreceiver_user: "root" | Użytkownik, pod którym działa ten program; uprawnienia root są wymagane tylko wtedy, gdy rwreceiver nasłuchuje na przywilejowanym porcie. |
rwreceiver_extra_options: "" | Dodatkowe opcje do przekazania do rwreceiver |
Gdy używasz opcjonalnego wsparcia GnuTLS ustawiając silk_tls_support: True
, należy określić pełną ścieżkę do pliku CA (TLS_CA), a także LUB pełną ścieżkę do pliku program-specyficznego PKCS#12 (TLS_PKCS12) LUB pełne ścieżki do program-specyficznego certyfikatu (TLS_CERT) i klucza (TLS_KEY). Jeśli plik PKCS#12 jest chroniony hasłem, musisz ustawić zmienną środowiskową RWRECEIVER_TLS_PASSWORD na hasło przed uruchomieniem rwreceiver. Jeśli RWRECEIVER_TLS_PASSWORD nie jest ustawione, traktowane jest jako puste hasło; ustaw ją na pusty ciąg znaków, aby zezwolić na puste hasło.
Zmienna TLS | Wyjaśnienie |
---|---|
rwreceiver_tls_ca: "" | Pełna ścieżka do pliku root CA, kodowanego w PEM |
rwreceiver_tls_pkcs: "" | Pełna ścieżka do programu specyficznego pliku PKCS#12, kodowanego w DER |
rwreceiver_tls_key: "" | Pełna ścieżka do programu specyficznego pliku klucza, kodowanego w PEM |
rwreceiver_tls_cert: "" | Pełna ścieżka do programu specyficznego pliku certyfikatu, kodowanego w PEM |
rwreceiver_tls_crl: "" | Pełna ścieżka do listy unieważnień certyfikatów, kodowanej w PEM. Opcjonalne. |
rwreceiver_tls_priority: "" | Preferowany porządek (priorytet) dla szyfrów, metod wymiany kluczy, kodów uwierzytelniania komunikatów i metod kompresji. Opcjonalne. Domyślnie jest "NORMAL". Dostępne argumenty zależą od Twojej wersji GnuTLS. |
rwreceiver_tls_security: "" | Poziom bezpieczeństwa używany do generowania parametrów Diffie-Hellman. Jeden z: low, medium, high, lub ultra. Opcjonalne. Domyślnie jest "medium". |
rwreceiver_tls_debug_level: "" | Poziom debugowania używany wewnętrznie przez bibliotekę GnuTLS, liczba między 0 (brak debugowania) a 99 włącznie. Opcjonalne. |
Zależności
- cmusei.silk
Przykład Playbooka
- hosts: server
become: true
vars:
data_root_dir: "/data"
# ustawienia rwreceiver
silk_tls_support: True
rwreceiver_statedirectory: "{{ data_root_dir }}/rwreceiver"
rwreceiver_destination_dir: "{{ rwreceiver_statedirectory }}/incoming"
rwreceiver_create_directories: "yes"
rwreceiver_mode: "server"
rwreceiver_port: "3737"
rwreceiver_sender_clients: |
sender1
sender2
# ustawienia tls dla rwreceiver
tls_ca: "testcert.pem"
tls_key: "client-key.pem"
tls_cert: "client-cert.pem"
rwreceiver_tls_ca: "/etc/pki/tls/{{ tls_ca }}"
rwreceiver_tls_key: "/etc/pki/tls/private/{{ tls_key }}"
rwreceiver_tls_cert: "/etc/pki/tls/{{ tls_cert }}"
rwreceiver_pid_dir: "/var/run"
pre_tasks:
- name: Kopiuj certyfikaty ssl
copy:
src: "{{ item.f }}"
dest: "{{ item.d }}"
mode: "{{ item.m }}"
owner: "root"
group: "root"
with_items:
- f: "{{ tls_ca }}"
d: "{{ rwreceiver_tls_ca }}"
m: '0644'
- f: "{{ tls_key }}"
d: "{{ rwreceiver_tls_key }}"
m: '0600'
- f: "{{ tls_cert}}"
d: "{{ rwreceiver_tls_cert }}"
m: '0644'
roles:
- role: cmusei.rwreceiver
tags: [ 'rwreceiver' ]
Licencja
Copyright 2020 Carnegie Mellon University. BRAK GWARANCJI. MATERIAŁY TEGOCARNEGIE MELLON UNIVERSITY I SOFTWARE ENGINEERING INSTITUTE SĄ DOSTARCZANE NA ZASADZIE "JAKEI SĄ". UNIWERSYTET CARNEGIE GELLON NIE UDZIELA ŻADNYCH GWARANCJI JAKIEGOKOLWIEK RODZAJU, WYRAŹNYCH LUB IMPLIKOWANYCH, DOTYCZĄCYCH JAKIEGOKOLWIEK ZAGADNIENIA, W TYM, ALE NIE OGRANICZAJĄC SIĘ DO GWARANCJI PRZYDATNOŚCI DO CZEGOKOLWIEK CZY HANDLOWA, WYŁĄCZNOŚCI, CZY WYNIKÓW UZYSKANYCH Z UŻYCIA MATERIAŁU. UNIWERSYTET CARNEGIE MELLON NIE UDZIELA ŻADNEJ GWARANCJI JAKIEGOKOLWIEK RODZAJU W ZWIĄZKU Z WOLNOŚCIĄ OD NARUSZENIA PATENTU, ZNAKU TOWAROWEGO LUB PRAW AUTORSKICH. Wydano na licencji w stylu MIT (SEI), proszę zapoznać się z license.txt lub skontaktować się z permission@sei.cmu.edu w celu uzyskania pełnych warunków. [DOSTARCZENIE OŚWIADCZENIE A] Materiał ten został zatwierdzony do publikacji i nieograniczonej dystrybucji. Proszę zapoznać się z zastrzeżeniem praw autorskich w celu uzyskania informacji na temat użycia i dystrybucji niektórzy przez rząd USA. CERT® jest zarejestrowany w Biurze Patentów i Znaków Towarowych USA przez Carnegie Mellon University. To oprogramowanie zawiera i/lub korzysta z następującego oprogramowania stron trzecich, którego tekst licencyjny znajduj się oddzielnie:
- ansible (https://github.com/ansible/ansible/tree/devel/licenses) Copyright 2019 Red Hat, Inc.
- molecule (https://github.com/ansible-community/molecule/blob/master/LICENSE) Copyright 2018 Red Hat, Inc.
- testinfra (https://github.com/philpep/testinfra/blob/master/LICENSE) Copyright 2020 Philippe Pepiot.
DM20-0505
Informacje o autorze
Ta rola została stworzona w 2019 roku przez Matta Heckathorna.
ansible-galaxy install cmusei.rwreceiver