PowerStore: Noções básicas sobre as limitações do shell devido a rbash e outras implementações de segurança
Summary: 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. ...
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
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)
Cause
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
Resolution
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.
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.
Nota: em algumas novas versões do Windows 10, talvez seja necessário especificar a porta (-P 22).
Exemplo de download:
Exemplo de carregamento:
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 |
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:
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]$ |
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 9000TArticle 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.