나는 일반적인 쉘 프로그램 에 대해 배우고 있었다 .
내가 실행하면 다음 cat /etc/shells
과 같이 표시됩니다.
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/rbash
여기 가 무엇입니까 ? 스크립팅에 사용됩니까?
man rbash
나에게 자세한 정보를 제공합니다. 감사.
나는 일반적인 쉘 프로그램 에 대해 배우고 있었다 .
내가 실행하면 다음 cat /etc/shells
과 같이 표시됩니다.
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/rbash
여기 가 무엇입니까 ? 스크립팅에 사용됩니까?
man rbash
나에게 자세한 정보를 제공합니다. 감사.
답변:
에서 위키 피 디아
제한된 쉘은 대화식 사용자 세션 또는 쉘 스크립트에서 실행 가능한 일부 기능을 제한하는 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
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 쉘의 제한 사항과 거의 동일합니다.
man rbash
이 불분명합니까?