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

摘要: 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. ...

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

症状

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)

原因

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 

解决方案

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]$ 

受影响的产品

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
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。