/ bin / rbash는 무엇입니까?


14

나는 일반적인 쉘 프로그램 에 대해 배우고 있었다 .

내가 실행하면 다음 cat /etc/shells과 같이 표시됩니다.

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

/bin/rbash여기 가 무엇입니까 ? 스크립팅에 사용됩니까?


6
어느 부분 man rbash이 불분명합니까?
Stig Hemmer

1
@StigHemmer. 나는 그것을하지 않았다. man rbash나에게 자세한 정보를 제공합니다. 감사.
데이지

3
맨 페이지를 읽는 것이 항상 도구를 이해하기위한 첫 번째 시도 여야합니다. 또한 올바른 버전에 대해 읽고 있는지 확인하기 위해 나타나는 기계에서 읽어야합니다.

답변:


16

에서 위키 피 디아

제한된 쉘은 대화식 사용자 세션 또는 쉘 스크립트에서 실행 가능한 일부 기능을 제한하는 Unix 쉘입니다. 추가 보안 계층을 제공하기위한 것이지만 완전히 신뢰할 수없는 소프트웨어를 실행할 수는 없습니다. 제한적인 모드 조작은 원래 Bourne 쉘 [1]과 그에 해당하는 bash, [2] 및 Korn 쉘에서 발견됩니다. [3] 경우에 따라 제한된 쉘이 chroot jail과 함께 사용되어 시스템 전체에 대한 액세스를 제한하려는 추가 시도가 있습니다.

제한된 쉘에 적용되는 제한 사항 은 Soren A의 답변 을 참조하십시오 .

당신은 bash제한 모드에서 실행할 수 있습니다

bash -r
bash --restricted

내 시스템에서 :

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

그래서 /bin/rbash내가 달리면 달리고 있습니다bash

그러나

bash를 직접 가리키는 rbash라는 링크를 작성하면 충분합니다. 이것은 -r또는 --restricted 옵션 없이 bash를 직접 호출하지만 bash는 rbash를 통해 호출되었음을 인식하고 제한된 쉘로 나타납니다.

쉽게 테스트 할 수 있습니다.

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

1
많은 제한이있는 것 같습니다. 그렇다면 어떻게 도움이 되나요? 스크립팅에 사용됩니까?
데이지

3
특정 디렉토리에 트랩하려는 사용자의 기본 쉘로 설정할 수 있습니다 (예 : @passa
Zanna

2
스크립팅이 아닌 @passa 및 제한된 쉘은 스크립팅에 단독으로 쓸모가 없습니다. 스크립트에서 수행되는 작업을 알고 있거나 결정할 수 있기 때문에 스크립팅에 제한된 셸을 사용할 필요는 없습니다.
muru

@muru 좋아. 그래서 이것은 zanna가 그녀의 의견에서 말한 목적으로 사용될 수 있습니다.
데이지

1
다른 사용자가 위험한 작업을 수행하지 못하게 할 수 있으므로 시스템 관리자에게 도움이됩니다. 최종 사용자에게는 다소 유용하지 않습니다.

17

rbash는 bash의 제한된 (용량 감소) 버전입니다. 이 기사를 참조하십시오 : https://en.wikipedia.org/wiki/Restricted_shell

기사에서 :

제한된 쉘에서는 다음 작업이 허용되지 않습니다.

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

bash는 다음과 같은 추가 제한 사항을 추가합니다.

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

제한된 Korn 쉘의 제한 사항은 제한된 Bourne 쉘의 제한 사항과 거의 동일합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.