PowerStore: rbash ve diğer güvenlik uygulamaları nedeniyle ortaya çıkan kabuk sınırlamalarını anlama

Summary: Genel güvenliği güçlendirmek için rbash (kısıtlanmış bash kabuğu) ve diğer güvenlik uygulamaları etkinleştirilerek PowerStore kabuğunun kilitlenmesine karar verilmiştir. Başka bir örnek ise servis kullanıcısı ana klasörünün muhtemelen beklendiği gibi /home/service değil, /home/service/user şeklinde olmasıdır. Bu klasör, servis kullanıcılarının yazma izinlerine sahip olduğu birkaç konumdan biridir. ...

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

Bu önlemlerin bir sonucu olarak ortaya çıkan olası hatalar:

  • rbash: cd: restricted (dizinler arasında gezinmeye çalışırken)
  • rbash: xxxx: restricted: cannot redirect output (çıktıları ">" ile bir dosyaya yönlendirmeye çalışırken)
  • rbash: xxxx: command not found (onaylanmış izin verilenler listesinde olmayan komutları çalıştırmaya çalışırken)
  • rbash: ./example_script: restricted: cannot specify `/' in command names (komut dosyalarını çalıştırmaya çalışırken)
  • SFTP protokolü başlatılamıyor. Ana bilgisayar bir SFTP sunucusu mu çalıştırıyor? (WinSCP gibi dosya aktarım araçlarını kurmaya çalışırken)
  • "cd 'xxxx'" komutu, dönüş kodu 1 ve hata mesajı vererek başarısız oldu. -rbash: line 47: cd: restricted (WinSCP ile dizin değiştirmeye çalışırken)

Cause

rbash'in uygulanmasıyla birlikte, aşağıdakiler dahil olmak üzere bazı eylem ve özellikler devre dışı bırakılarak kabuk davranışında değişiklikler yapılmıştır:

  • cd builtin ile dizinlerin değiştirilmesi
  • SHELL, PATH, ENV veya BASH_ENV değişkenlerinin değerlerinin ayarlanması veya ayarının kaldırılması
  • Eğik çizgi içeren komut adlarının belirtilmesi
  • Eğik çizgi içeren bir dosya adının, builtin komutu için bağımsız değişken olarak belirtilmesi
  • Eğik çizgi içeren bir dosya adının, hash builtin komutunun -p seçeneği için bağımsız değişken olarak belirtilmesi
  • İşlev tanımlarının başlatma sırasında kabuk ortamından içe aktarılması
  • SHELLOPTS değerinin başlatma sırasında kabuk ortamından ayrıştırılması
  • ">", ">|", "<>", ">&", "&>" ve ">>" yeniden yönlendirme işleçleri kullanılarak çıktının yeniden yönlendirilmesi
  • Kabuğun başka bir komutla değiştirilmesi için exec builtin'in kullanılması
  • enable builtin komutunun -f ve -d seçenekleriyle builtin komutlarının eklenmesi veya silinmesi
  • Devre dışı bırakılmış kabuk builtin'lerinin etkinleştirilmesi için enable builtin komutunun kullanılması
  • builtin komutu için -p seçeneğinin belirtilmesi
  • Kısıtlanmış modun "set +r" veya "set +o restricted" ile kapatılması

Ayrıntılı bilgi için buraya bakın:
https://www.gnu.org/software/bash/manual/html_node/The-Restricted-Shell.html 

Resolution

Yukarıda açıklanan sınırlamalara rağmen, sistemde gezinmeyi ve sistemle etkileşim kurmayı kolaylaştırmak için burada birkaç alternatif sunulmuştur.

Dosya Aktarımları 

WinSCP gibi dosya aktarım araçlarını ayarlarken SFTP veya FTP protokolü yerine SCP'yi kullanın.   
SLN321130_en_US__1icon Unutmayın:
Kullanıcılar dizinleri değiştirememektedir (cd komutuna izin verilmez). Bu nedenle, düğümden veya cihazdan indirilecek her öğenin ilk olarak /home/service/user dizinine kopyalanması gerekir.
Bunun tek istisnası normal destek materyalleridir. Bağlantılar, indirmeleri kolaylaştırmak üzere mevcut her bir destek materyali seti için otomatik olarak ana dizine yerleştirilir.

Dosyaları doğrudan bulunduğu dizinden indirmek istiyorsanız öncelikle PowerStore kabuğundan dosyanın tam yolunu bulmanız gerekir. Bunun için pscp (windows CLI'dan) veya scp (Linux'tan) gibi araçları kullanabilirsiniz.
Windows pscp örneği:

Söz Dizimi:
Kullanım: pscp [options] [user@]host:source target
pscp [options] source [source...] [user@]host:target
Not: Windows 10'un bazı yeni sürümlerinde bağlantı noktasını (-P 22) belirtmeniz gerekir.

İndirme örneği:
pscp -scp -P 22 service@<cihaz veya düğüm IP'si>:/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%

Yükleme örneği:
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%

 

Gezinme

Gezinmek için "cd" komutunu kullanamazsınız ancak dizin içeriklerini listelemek veya dosyaları okumak için "ls" veya "cat/less" gibi komutları kullanabilirsiniz. Tek fark, her zaman tam yolları kullanmanızın gerekmesidir.
Aynı kural diğer tüm komutlar için de geçerlidir (grep vb.).

Destek Materyalleri dizinindeki alt dizinleri listeleme örneği:
[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.