/ Bin / rbash nedir?


14

Ortak kabuk programlarını öğreniyordum .

Koştuğumda cat /etc/shellsşunu gösterir:

# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash

/bin/rbashBurada ne var? Senaryo yazımında kullanılır mı?


6
Hangi kısmı man rbashbelli değil?
Stig Hemmer

1
@StigHemmer. Ben yapmadım. man rbashayrıca bana detaylı bilgi veriyor. Teşekkürler.
papatya

3
Man sayfasını okumak her zaman bir aracı anlama girişiminiz olmalıdır. Doğru sürümü okuduğunuzdan emin olmak için makinenin göründüğü yerde de okumalısınız.

Yanıtlar:


16

Gönderen wikipedia

Kısıtlanmış kabuk, etkileşimli kullanıcı oturumu veya içinde çalışan bir kabuk komut dosyası için kullanılabilen bazı özellikleri kısıtlayan bir Unix kabuğudur. Ek bir güvenlik katmanı sağlamayı amaçlamaktadır, ancak tamamen güvenilmeyen yazılımların yürütülmesine izin vermek için yetersizdir. Orijinal Bourne kabuğunda [1] ve daha sonra muadili bashında [2] ve Korn kabuğunda bir kısıtlı mod işlemi bulunur. [3] Bazı durumlarda kısıtlı bir kabuk, bir bütün olarak sisteme erişimi sınırlamak için bir kroke hapishanesi ile birlikte kullanılır.

Sınırlı mermiler için geçerli olan sınırlamalar için Soren A'nın cevabına bakınız .

bashKısıtlı modda çalıştırabilirsiniz

bash -r
bash --restricted

Sistemimde:

$ file /bin/rbash
/bin/rbash: symbolic link to bash

Ben çalıştırırsanız Yani /bin/rbash, ben çalıştırıyorumbash

FAKAT

Doğrudan bash'ı işaret eden rbash adında bir bağlantı oluşturmak yeterlidir. Bu bash'ı doğrudan -rveya --restricted seçenekler olmadan çağırsa da , bash rbash aracılığıyla çağrıldığını ve kısıtlanmış bir kabuk olarak geldiğini fark eder.

Kolayca test edebileceğiniz gibi:

zanna@monster:~$ rbash
zanna@monster:~$ cd playground
rbash: cd: restricted

1
Birçok kısıtlama var gibi görünüyor. O zaman nasıl yardımcı olur? Komut dosyasında kullanıyor mu?
papatya

3
Belirli bir dizinde yakalamak istediğiniz bir kullanıcı için varsayılan kabuk olarak ayarlanabilir, örneğin @passa
Zanna

2
@passa bu komut dosyası değildir ve kısıtlı kabuklar komut dosyası oluşturmak için tek başına yararsızdır. Bir komut dosyasında hangi eylemlerin yapıldığını bildiğiniz veya belirleyebildiğiniz için, komut dosyası oluşturmak için kısıtlı bir kabuk kullanmanın bir anlamı yoktur.
muru

@muru Tamam. Yani bu, zanna'nın yorumunda söylediği amaç için kullanılabilir.
papatya

1
Bu, diğer kullanıcıların tehlikeli görevleri gerçekleştirmesini engelleyebileceğinden sistem yöneticisi için faydalıdır. Son kullanıcı için biraz daha az kullanışlıdır.

17

rbash bash'ın kısıtlı (sınırlı kapasiteler) versiyonudur. Bu makaleye bakın: https://en.wikipedia.org/wiki/Restricted_shell

Makaleden:

Sınırlı bir kabukta aşağıdaki işlemlere izin verilmez:

changing directory
specifying absolute pathnames or names containing a slash
setting the PATH or SHELL variable
redirection of output

bash, aşağıdakiler de dahil olmak üzere başka kısıtlamalar ekler:

limitations on function definitions
limitations on the use of slash-ed filenames in bash builtins

Kısıtlanmış Korn kabuğundaki kısıtlamalar, kısıtlı Bourne kabuğundaki kısıtlamalar ile aynıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.