PowerStore: Grundlegendes zu Shell-Einschränkungen aufgrund von rbash und anderen Sicherheitsimplementierungen

Summary: Um die allgemeine Sicherheit zu verbessern, wurde beschlossen, die PowerStore-Shell durch Aktivieren von rbash (restricted bash shell) und anderen Sicherheitsimplementierungen zu sperren. Ein weiteres Beispiel ist, dass der Stammordner des Servicenutzers /home/service/user und nicht „/home/service“ ist, wie möglicherweise erwartet. Dies ist einer der wenigen Orte, an denen der Servicenutzer Schreibberechtigungen hat. ...

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

Mögliche Fehler, die aufgrund dieser Maßnahmen festgestellt wurden:

  • rbash: cd: restricted (beim Versuch, durch die Verzeichnisse zu navigieren)
  • rbash: xxxx: restricted: cannot redirect output (beim Versuch, mit „>“ Ausgaben in eine Datei umzuleiten)
  • rbash: xxxx: command not found (beim Versuch, Befehle auszuführen, die nicht in der Liste der zulässigen Befehle enthalten sind)
  • rbash: ./example_script: restricted: cannot specify `/' in command names (beim Versuch, Skripte auszuführen)
  • SFTP-Protokoll kann nicht initialisiert werden. Wird auf dem Host ein SFTP-Server ausgeführt? (beim Versuch, Dateiübertragungstools wie WinSCP einzurichten)
  • Der Befehl cd „xxxx“ ist mit Rückgabecode 1 und Fehlermeldung fehlgeschlagen. -rbash: Zeile 47: cd: eingeschränkt (beim Versuch, Verzeichnisse mit WinSCP zu ändern)

Cause

Die Implementierung von rbash bedeutet, dass das Shell-Verhalten anders ist, da einige Aktionen und Funktionen deaktiviert werden, darunter:

  • Ändern von Verzeichnissen mit dem integrierten „cd“.
  • Festlegen oder Zurücksetzen der Werte der Variablen SHELL, PATH, ENV und BASH_ENV.
  • Angeben von Befehlsnamen mit Schrägstrichen.
  • Angabe eines Dateinamens mit einem Schrägstrich als Argument für den integrierten Befehl „.“.
  • Angabe eines Dateinamens mit einem Schrägstrich als Argument für die Option „-p“ für den integrierten Hash-Befehl.
  • Importieren von Funktionsdefinitionen aus der Shell-Umgebung beim Start.
  • Analysieren des Werts von SHELLOPTS aus der Shell-Umgebung beim Start.
  • Umleiten der Ausgabe mit den Umleitungsoperatoren >, > |, <>, > &, &> und >>.
  • Verwenden der integrierten Exec, um die Shell durch einen anderen Befehl zu ersetzen.
  • Hinzufügen oder Löschen von integrierten Befehlen mit den Optionen „-f“ und „-d“ zum integrierten Aktivieren.
  • Verwenden des Befehls „enable builtin“, um deaktivierte Shell-Build-ins zu aktivieren.
  • Angabe der Option „-p“ für den integrierten Befehl.
  • Deaktivieren des eingeschränkten Modus mit „set + r“ oder „set + o restricted“.

Weitere Informationen finden Sie hier:
https://www.gnu.org/software/bash/manual/html_node/The-Restricted-Shell.html 

Resolution

Es gibt einige Alternativen, um die Navigation und Interaktion mit dem System trotz der oben beschriebenen Einschränkungen zu erleichtern.

Dateiübertragungen 

Verwenden Sie beim Einrichten von Dateiübertragungstools wie WinSCP SCP anstelle des SFTP- oder FTP-Protokolls.   
SLN321130_en_US__1icon Denken Sie daran:
NutzerInnen können keine Verzeichnisse wechseln („cd“ ist nicht verfügbar), daher muss alles, was vom Node oder von der Appliance heruntergeladen werden soll, zuerst nach /home/service/user kopiert werden.
Die einzige Ausnahme hiervon sind die normalen Support-Materialien. Links werden automatisch im Stammverzeichnis für jeden verfügbaren Satz von Support-Materialien platziert, um den Download zu erleichtern.

Wenn Sie Dateien direkt aus dem Verzeichnis herunterladen möchten, in dem sie sich befinden, müssen Sie zuerst den vollständigen Pfad in der PowerStore-Shell suchen. Anschließend können Sie Tools wie PSCP (über Windows-CLI) oder SCP (in Linux) verwenden.
Windows-PSCP-Beispiel:

Syntax:
Verwendung: pscp [options] [user@]host:source target
pscp [options] source [source...] [Nutzer@] Host:Ziel
Hinweis: Bei einigen neuen Versionen von Windows 10 müssen Sie möglicherweise den Port (-P 22) angeben.

Download-Beispiel:
pscp -scp -P 22 service@<Appliance- oder Node-IP>:/path/to/file/to/download 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%

Upload-Beispiel:
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%

 

Navigation

Sie können nicht mit „cd“ navigieren, aber Sie können Befehle wie „ls“ oder „cat/less“ verwenden, um Verzeichnisinhalte aufzulisten oder Dateien zu lesen. Der einzige Unterschied besteht darin, dass Sie immer vollständige Pfade verwenden müssen.
Das gleiche Prinzip gilt auch für alles andere (grep usw.).

Beispiel für das Auflisten der Unterverzeichnisse im Verzeichnis der Supportmaterialien:
[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.