PowerStore: Noções básicas sobre as limitações do shell devido a rbash e outras implementações de segurança

摘要: Para fortalecer a segurança como um todo, foi tomada uma decisão de habilitar o rbash (bash shell restrito) e outras implementações de segurança para bloquear o shell do PowerStore. Outro exemplo é que a pasta home do usuário de serviço é /home/service/user, e não /home/Service, como possivelmente esperado. Este é um dos poucos lugares em que o usuário do serviço tem permissões de gravação. ...

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

Possíveis erros observados como resultado destas medidas:

  • rbash: cd: restricted (ao tentar navegar pelos diretórios)
  • rbash: xxxx: restricted: cannot redirect output (ao tentar redirecionar saídas para um arquivo com ">")
  • rbash: xxxx: command not found (ao tentar executar comandos que não estão na lista de permissão aprovada)
  • rbash: ./example_script: restricted: cannot specify `/' in command names (ao tentar executar scripts)
  • Não é possível inicializar o protocolo SFTP. O host está executando um servidor SFTP? (Ao tentar instalar ferramentas de transferência de arquivos, como WinSCP)
  • O comando "cd "xxxx"" falhou com o código de retorno 1 e a mensagem de erro. - rbash: line 47: cd: restricted (ao tentar alterar diretórios com WinSCP)

原因

Implementação de rbash significa que o comportamento do shell é alterado ao desativar algumas ações e recursos, incluindo:

  • Alteração de diretórios com o cd builtin.
  • Configurar ou desconfigurar os valores das variáveis SHELL, PATH, ENV ou BASH_ENV.
  • Especificação de nomes de comando que contêm barras.
  • Especificação de um nome de arquivo contendo uma barra como um argumento para o comando . builtin.
  • Especificação de um nome de arquivo contendo uma barra como um argumento para a opção -p do comando hash builtin.
  • Importação de definições de função do ambiente do shell na inicialização.
  • Análise do valor de SHELLOPTS do ambiente do shell na inicialização.
  • Redirecionamento da saída usando os operadores de redirecionamento ">", ">|", "<>", ">&", "&>" e ">>".
  • Uso do exec builtin para substituir o shell por outro comando.
  • Adição ou exclusão de comandos internos com as opções -f e -d para ativar o builtin.
  • Uso do comando enable builtin para ativar os builtins de shell desativados.
  • Especificação da opção -p para o comando builtin.
  • Desligamento do modo restrito com "set +r" ou "set +o restricted".

Veja mais detalhes aqui:
https://www.gnu.org/software/bash/manual/html_node/The-Restricted-Shell.html 

解决方案

Algumas alternativas são apresentadas aqui para facilitar a navegação e a interação com o sistema, apesar das limitações descritas acima.

Transferências de arquivos 

Use SCP em vez do protocolo SFTP ou FTP ao configurar ferramentas de transferência de arquivos, como WinSCP.   
SLN321130_en_US__1icon Lembrete:
Os usuários não podem alterar os diretórios (o cd não é permitido), portanto, tudo o que for baixado do nó ou do equipamento precisa ser copiado primeiro para /home/service/user.
A única exceção a isso seriam os materiais de suporte regulares. Os links são colocados automaticamente no diretório base para cada conjunto disponível de materiais de suporte a fim de facilitar os downloads.

Se quiser fazer download de arquivos diretamente do diretório em que eles estão, você precisará primeiro encontrar o caminho completo do shell do PowerStore para, então, poder usar ferramentas, como pscp (na CLI do Windows) ou scp (no Linux).
Exemplo de pscp do Windows:

Sintaxe:
Uso: pscp [opções] [usuário@]host:source target
pscp [opções] source [source...] [usuário@]host:target
Nota: em algumas novas versões do Windows 10, talvez seja necessário especificar a porta (-P 22).

Exemplo de download:
pscp -scp -P 22 service@<IP do equipamento ou nó>:/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
senha de service@xx.xx.xx.xx:
powerstore_xxxxxxxxx | 10944 kB | x.x kB/s | ETA: 00:00:00 | 100%

Exemplo de carregamento:
pscp -scp -P 22 C:\Logs\somefile.txt service@xx.xx.xx.xx:/home/service/user
senha de service@xx.xx.xx.xx:
somefile.txt           | 211 kB | 212,0 kB/s | ETA: 00:00:00 | 100%

 

Navegação

Você não pode usar "cd" para navegar, mas pode usar comandos como "ls" ou "cat/less" para listar o conteúdo do diretório ou ler arquivos. A única diferença é que você precisa sempre usar caminhos completos.
O mesmo princípio se aplica a todo o resto (grep e assim por diante).

Exemplo de listagem dos subdiretórios no diretório Materiais de suporte:
[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]$ 

受影响的产品

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
文章属性
文章编号: 000126621
文章类型: Solution
上次修改时间: 27 4月 2021
版本:  8
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。