/ Thùng / rbash là gì?


14

Tôi đã học về các chương trình vỏ thông thường .

Khi tôi chạy cat /etc/shells, nó hiển thị:

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

Cái gì /bin/rbashđây Nó được sử dụng trong kịch bản?


6
Phần nào man rbashkhông rõ ràng?
Stig Hemmer

1
@StigHemmer. Tôi đã không làm điều đó. man rbashcũng cho tôi thông tin chi tiết. Cảm ơn.
hoa cúc

3
Đọc trang người đàn ông phải luôn là nỗ lực đầu tiên của bạn để hiểu một công cụ. Bạn cũng nên đọc nó trên máy nơi nó xuất hiện để đảm bảo bạn đang đọc về phiên bản chính xác.

Câu trả lời:


16

Từ wikipedia

Shell bị hạn chế là shell Unix giới hạn một số khả năng có sẵn cho phiên người dùng tương tác hoặc tập lệnh shell, chạy trong nó. Nó được dự định cung cấp một lớp bảo mật bổ sung, nhưng không đủ để cho phép thực thi phần mềm hoàn toàn không tin cậy. Một hoạt động chế độ hạn chế được tìm thấy trong vỏ Bourne ban đầu [1] và bash đối tác sau này của nó, [2] và trong vỏ Korn. [3] Trong một số trường hợp, lớp vỏ bị hạn chế được sử dụng cùng với nhà tù chroot, trong một nỗ lực tiếp theo nhằm hạn chế quyền truy cập vào toàn bộ hệ thống.

Xem câu trả lời của Soren A về các giới hạn áp dụng cho đạn pháo bị hạn chế.

Bạn có thể chạy bashtrong chế độ hạn chế

bash -r
bash --restricted

Trên hệ thống của tôi:

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

Vì vậy, nếu tôi chạy /bin/rbash, tôi đang chạybash

NHƯNG

Nó đủ để tạo ra một liên kết có tên rbash trỏ trực tiếp đến bash. Mặc dù điều này gọi bash trực tiếp, không có -rhoặc --restricted tùy chọn, bash nhận ra rằng nó được gọi thông qua rbash và nó xuất hiện dưới dạng shell bị hạn chế.

Như bạn có thể dễ dàng kiểm tra:

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

1
Có vẻ nhiều hạn chế. Vậy thì nó hữu ích như thế nào? Nó có sử dụng trong kịch bản không?
hoa cúc

3
Nó có thể được đặt làm vỏ mặc định cho người dùng mà bạn muốn bẫy trong một thư mục cụ thể, ví dụ: @passa
Zanna

2
@passa đó không phải là kịch bản và các shell bị hạn chế là vô dụng đối với kịch bản. Vì bạn biết hoặc có thể xác định, những hành động nào được thực hiện trong một tập lệnh, không có lý do gì để sử dụng trình bao bị giới hạn cho tập lệnh.
muru

@muru Được rồi. Vì vậy, điều này có thể được sử dụng cho mục đích mà zanna nói trong bình luận của cô.
hoa cúc

1
Điều này hữu ích cho quản trị viên hệ thống vì nó có thể ngăn người dùng khác thực hiện các tác vụ nguy hiểm. Nó có phần ít hữu ích hơn cho người dùng cuối.

17

rbash là một phiên bản hạn chế (giảm capabillity) của bash. Xem bài viết này: https://en.wikipedia.org/wiki/Restricted_shell

Từ bài viết:

Các hoạt động sau đây không được phép trong một vỏ bị hạn chế:

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

bash thêm các hạn chế, bao gồm:

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

Các hạn chế trong vỏ Korn bị hạn chế rất giống với các hạn chế trong vỏ Bourne bị hạn chế.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.