PowerStore: Zrozumienie ograniczeń powłoki wprowadzonych przez rbash i innych implementacji zabezpieczeń

Summary: W celu wzmocnienia ogólnego bezpieczeństwa podjęto decyzję o zablokowaniu powłoki PowerStore poprzez włączenie powłoki rbash (restricted bash shell) i innych implementacji zabezpieczeń. Innym przykładem jest to, że folder główny użytkownika usługi to /home/service/user, a nie /home/service, jak można by się spodziewać. Jest to jedna z niewielu lokalizacji, w których użytkownik usługi ma uprawnienia do zapisu. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Możliwe błędy zaobserwowane po zastosowaniu tych środków:

  • rbash: cd: restricted (podczas próby poruszania się po katalogach)
  • rbash: xxxx: restricted: cannot redirect output (podczas próby przekierowania danych wyjściowych do pliku z użyciem „>”)
  • rbash: xxxx: command not found (podczas próby uruchomienia poleceń spoza listy dozwolonych)
  • rbash: ./example_script: restricted: cannot specify `/' in command names (podczas próby uruchomienia skryptów)
  • Nie można zainicjować protokołu SFTP. Czy host posiada serwer SFTP? (podczas próby skonfigurowania narzędzi do przesyłania plików, takich jak WinSCP)
  • Polecenie cd "xxxx" nie powiodło się z kodem zwrotnym 1 i komunikatem o błędzie. -rbash: line 47: cd: restricted (podczas próby zmiany katalogów przy użyciu WinSCP)

Cause

Wdrożenie rbash oznacza, że zachowanie powłoki jest zmieniane przez wyłączenie niektórych działań i funkcji, takich jak:

  • Zmiana katalogów przy użyciu wbudowanej funkcji cd.
  • Ustawianie lub resetowanie wartości zmiennych SHELL, PATH, ENV lub BASH_ENV.
  • Określanie nazw poleceń zawierających ukośniki.
  • Określanie nazwy pliku zawierającej ukośnik jako argument do wbudowanego polecenia . .
  • Określanie nazwy pliku zawierającej ukośnik jako argument do opcji -p do wbudowanego polecenia hash.
  • Importowanie definicji funkcji ze środowiska powłoki podczas uruchamiania.
  • Analizowanie wartości SHELLOPTS ze środowiska powłoki przy uruchamianiu.
  • Przekierowanie danych wyjściowych za pomocą operatorów przekierowywania „>”, „>|”, „<>”, „>&”, „&>” i „>>”.
  • Użycie wbudowanej funkcji exec do zastąpienia powłoki innym poleceniem.
  • Dodawanie lub usuwanie wbudowanych poleceń przy użyciu opcji -f i -d do wbudowanej funkcji enable.
  • Używanie wbudowanego polecenia enable do włączania wyłączonych wbudowanych funkcji powłoki.
  • Określanie opcji -p do wbudowanego polecenia.
  • Wyłączanie trybu ograniczonego za pomocą poleceń „set +r” lub „set +o restricted”.

Więcej informacji znajdziesz tutaj:
https://www.gnu.org/software/bash/manual/html_node/The-Restricted-Shell.html 

Resolution

Poniżej przedstawiono kilka rozwiązań alternatywnych, które ułatwiają nawigację i interakcję z systemem pomimo ograniczeń opisanych powyżej.

Przesyłanie plików 

Podczas konfigurowania narzędzi do przesyłania plików, takich jak WinSCP, należy używać protokołu SCP zamiast protokołu SFTP lub FTP.   
SLN321130_en_US__1icon Pamiętaj:
Użytkownicy nie mogą zmieniać katalogów (funkcja cd nie jest dozwolona), dlatego wszystkie elementy, które należy pobrać z węzła lub urządzenia, należy najpierw skopiować do katalogu /home/service/user.
Jedynym wyjątkiem od tej czynności są zwykłe materiały wsparcia technicznego. Łącza są automatycznie umieszczane w katalogu głównym dla każdego dostępnego zestawu materiałów wsparcia technicznego w celu ułatwienia pobierania.

Jeśli chcesz pobrać pliki bezpośrednio z katalogu, w którym się znajdują, należy najpierw znaleźć pełną ścieżkę z powłoki PowerStore, a następnie użyć narzędzi takich jak pscp (z wiersza poleceń systemu Windows) lub scp (z systemu Linux).
Przykład pscp w systemie Windows:

Składnia:
Usage: pscp [options] [user@]host:source target
pscp [options] source [source...] [user@]host:target
Uwaga: w niektórych nowych wersjach systemu Windows 10 może być konieczne określenie portu (-P 22).

Przykład pobierania:
pscp -scp -P 22 service@<adres IP urządzenia lub węzła>:/ścieżka/do/pobranego/pliku C:\Local\dowwnload-save\location

pscp -scp service@xx.xx.xx.xx:/cyc_var/cyc_service/data_collection/xxxxxxxx/powerstore_xxxxxxxx_2020-05-06_00-00-00_service-data.tgz C:\LOGS
service@xx.xx.xx.xx's password:
powerstore_xxxxxxxxx | 10944 kB | x.x kB/s | ETA: 00:00:00 | 100%

Przykład wysyłania:
pscp -scp -P 22 C:\Logs\somefile.txt service@xx.xx.xx.xx:/home/service/user
service@xx.xx.xx.xx's password:
somefile.txt           | 211 kB | 212.0 kB/s | ETA: 00:00:00 | 100%

 

Nawigacja

Do nawigacji nie można używać polecenia „cd”, ale do wyświetlenia zawartości katalogu lub odczytu plików można użyć poleceń takich jak „ls” lub „cat/less”. Jedyna różnica polega na tym, że należy zawsze korzystać z pełnych ścieżek.
Ta sama zasada ma zastosowanie do wszystkich innych poleceń (grep itd.).

Przykład listy podkatalogów w katalogu Support Materials:
[SVC:service@xxxxxxx-B user]$ ls -l /cyc_var/cyc_service/data_collection/                                     
total 80
drwxrwsr-x+ 2 cyc cycg 4096 Apr  8 14:48 0941c91a-431d-4bfb-b5b2-062b02c45950
drwxrwsr-x+ 2 cyc cycg 4096 Apr 25 15:27 20439835-3654-4d93-af3b-ebfc0ae222fd
drwxrwsr-x+ 2 cyc cycg 4096 Apr 19 15:27 3d2011a8-0aa2-48d7-9f3f-1f234df2abfb
drwxrwsr-x+ 2 cyc cycg 4096 Apr 19 13:08 473ed1cb-0ebb-4bd6-bbf6-e87e61af8578
drwxrwsr-x+ 2 cyc cycg 4096 Apr 22 14:01 48a522ff-0aaa-4f83-a936-973f6f1097b2
drwxrwsr-x+ 2 cyc cycg 4096 Apr 22 15:26 4ba1375c-c23b-47c6-bc04-1498e3443b39
drwxrwsr-x+ 2 cyc cycg 4096 Apr 27 15:26 6faf6d88-58c6-4891-b001-8e0311e9e00d
drwxrwsr-x+ 2 cyc cycg 4096 Apr 24 14:36 798b13df-70bb-4fd3-9691-608b735207e9
drwxrwsr-x+ 2 cyc cycg 4096 Apr 28 15:27 8187fc5d-d389-4676-a69f-23db20c06602
drwxrwsr-x+ 2 cyc cycg 4096 Apr 26 15:12 83cb57dc-dee3-4dae-8585-e3b670d4b52a
drwxrwsr-x+ 2 cyc cycg 4096 Apr 18 12:50 a038d9ac-6ecc-4c49-8bb3-ae6623b418f6
drwxrwsr-x+ 2 cyc cycg 4096 Apr 21 13:43 b02e88fb-3f80-47a3-8f6d-3547afad7c35
drwxrwsr-x+ 2 cyc cycg 4096 Apr 24 15:26 b4bdd7c3-dbd0-4ac7-93ac-2e3e7ea1ff93
drwxrwsr-x+ 2 cyc cycg 4096 Apr 23 14:18 bf965b7e-e136-42ba-b46c-5fc565b6cf58
drwxrwsr-x+ 2 cyc cycg 4096 Apr 20 13:26 d96caca8-4395-4f15-aea1-60dd7a2490f5
drwxrwsr-x+ 2 cyc cycg 4096 Apr 23 15:26 e101bd57-fd3d-421a-b15a-341456a52f1f
drwxrwsr-x+ 2 cyc cycg 4096 Apr 25 14:54 e57e625d-e393-4919-b0d1-5efd89042897
drwxrwsr-x+ 2 cyc cycg 4096 Apr 20 15:26 ea40f70d-3cbf-4c84-9643-627fdbf9f0bd
drwxrwsr-x+ 2 cyc cycg 4096 Apr 21 15:26 ea9d95dd-1c72-4b2b-929a-ab6ec9cbedc1
drwxrwsr-x+ 2 cyc cycg 4096 Apr 17 12:34 fa02405b-ae24-4d7d-b178-97a99a2b717f
[SVC:service@xxxxxxx-B user]$ 

Affected Products

PowerStore, PowerStore 1000X, PowerStore 1000T, PowerStore Expansion Enclosure, PowerStore 3000X, PowerStore 3000T, PowerStore Rack, PowerStore 5000X, PowerStore 5000T, PowerStore 7000X, PowerStore 7000T, PowerStore 9000X, PowerStore 9000T
Article Properties
Article Number: 000126621
Article Type: Solution
Last Modified: 27 Apr 2021
Version:  8
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.