PowerStore: разбор ограничений оболочки из-за rbash и других реализаций безопасности

Summary: Чтобы повысить общую безопасность, было принято решение заблокировать оболочку PowerStore, включив rbash (ограниченную оболочку bash) и другие реализации безопасности. Другой пример: главной папкой пользователя сервиса является /home/service/user, а не /home/service, как можно было бы ожидать. Это одно из нескольких мест, в которых пользователь сервиса имеет права на запись. ...

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

Возможные ошибки, наблюдаемые в результате этих мер:

  • rbash: cd: restricted (при попытке навигации по каталогам)
  • rbash: xxxx: restricted: cannot redirect output (при попытке перенаправления выходных данных в файл с помощью >)
  • rbash: xxxx: command not found (при попытке выполнения команд, не находящихся в списке разрешенных)
  • rbash: ./example_script: restricted: cannot specify `/' in command names (при попытке запуска сценариев)
  • Cannot initialize SFTP protocol. Is the host running an SFTP server? (при попытке настройки инструментов передачи файлов, таких как WinSCP)
  • Сбой команды «cd "xxxx"» с кодом возврата 1 и сообщением об ошибке. -rbash: line 47: cd: restricted (при попытке изменения каталогов с помощью WinSCP)

Cause

Реализация rbash означает, что поведение оболочки изменяется путем отключения некоторых действий и функций, в том числе:

  • Изменение каталогов с помощью cd builtin.
  • Установка или снятие значений переменных SHELL, PATH, ENV или BASH_ENV.
  • Указание имен команд, содержащих косые черты.
  • Указание имени файла, содержащего косую черту, в качестве аргумента для команды . builtin.
  • Указание имени файла, содержащего косую черту, в качестве аргумента для параметра -p для команды hash builtin.
  • Импорт определений функций из среды оболочки при запуске.
  • Анализ значения SHELLOPTS из среды оболочки при запуске.
  • Перенаправление вывода с помощью операторов >’, >|, <>, >&, &> и >>.
  • Использование exec builtin для замены оболочки другой командой.
  • Добавление или удаление команд builtin с параметрами -f и -d для включения builtin.
  • Использование enable builtin для включения отключенных встроенных функций оболочки.
  • Указание параметра -p для команды builtin.
  • Отключение ограниченного режима с помощью «set +r» или «set +o restricted».

Более подробную информацию можно найти здесь:
https://www.gnu.org/software/bash/manual/html_node/The-Restricted-Shell.html 

Resolution

Здесь представлено несколько вариантов, которые упрощают навигацию и взаимодействие с системой, несмотря на описанные выше ограничения.

Передача файлов 

Используйте протокол SCP вместо SFTP или FTP при настройке инструментов передачи файлов, таких как WinSCP.   
SLN321130_en_US__1icon Помните:
Пользователи не могут изменять каталоги (cd не разрешен), поэтому все, что необходимо скачать с узла или устройства, необходимо сначала скопировать в папку /home/service/user.
Единственным исключением из этого являются обычные вспомогательные материалы. Ссылки автоматически помещаются в домашний каталог для каждого доступного набора вспомогательных материалов для упрощения скачивания.

Если требуется скачать файлы непосредственно из каталога, в котором они находятся, сначала необходимо найти полный путь в оболочке PowerStore, затем можно использовать такие инструменты, как pscp (из интерфейса командной строки Windows) или scp (из Linux).
Пример pscp Windows:

Синтаксис:
Usage: pscp [options] [user@]host:source target
pscp [options] source [source...] [user@]host:target
Примечание. В некоторых новых версиях Windows 10 может потребоваться указать порт (-P 22).

Пример скачивания:
pscp -scp -P 22 service@<appliance or 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%

Пример загрузки:
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%

 

Навигация

Для навигации нельзя использовать cd, но можно использовать такие команды, как ls или cat/less, для отображения содержимого каталога или чтения файлов. Единственное различие заключается в том, что всегда необходимо использовать полные пути.
Тот же принцип применяется ко всем остальным (grep и т. д.).

Пример списка подкаталогов в каталоге вспомогательных материалов:
[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.