제한된 쉘
제한된 쉘은 호환성이 정규 Bourne 쉘보다 더 많이 제어된 실행 환경과 로그인 이름을 설정하는 데 사용됩니다.
' Rsh ' 또는 ' bsh -r 명령은 제한된 셸을 엽니다. 다음과 같은 조치가 허용되지 않는 것을 제외하고, 이 명령의 기능은 bsh 명령의 기능과 동일합니다.
- (cd 명령으로) 디렉토리 변경
- PATH 또는 SHELL 변수의 값 설정
- 슬래시(
/)가 포함된 경로 또는 명령 이름 지정 - 출력 방향 재지정
제한 쉘은 실행될 명령이 쉘 프로시저라고 판단하면, Bourne 쉘을 사용하여 명령을 실행합니다. 이런 방법으로, 명령의 제한된 메뉴를 실행하는 동안 Bourne 쉘의 전체 권한에 액세스하는 쉘 프로시저를 사용자에게 제공할 수 있습니다. 이 상황에서는 사용자가 동일한 디렉토리에서 쓰기 및 실행 권한을 가지고 있지 않다고 가정합니다.
Bourne 쉘이 시작될 때 File [Parameter] 매개변수가 지정되면, 쉘은 지정된 임의의 매개변수를 포함하여, File 매개변수에 의해 식별된 스크립트 파일을 실행합니다. 지정된 스크립트 파일이 읽기 권한을 가지고 있어야 합니다. 스크립트 파일에 대한 setuid 및 setgid 설정은 무시됩니다. 그런 다음, 쉘은 명령을 읽습니다. -c 또는 -s 플래그가 사용될 경우, 스크립트 파일을 지정할 수 없습니다.
Rsh 명령으로 시작되는 경우 쉘은 .profile과 /etc/environment 파일을 해석한 후 제한을 적용합니다. 그러므로, 시작 조치를 실행하고 사용자를 적합한 디렉토리(아마 로그인 디렉토리는 아닐 것입니다)에서 종료함으로써, .profile 파일의 기록자는 사용자 조치 제어를 완료합니다. 관리자는 ' /usr/rbin 디렉터리에 ' Rsh ' 명령이 사용할 수 있는 명령 디렉터리를 만들려면 PATH 변수를 변경하여 해당 디렉터리를 포함하도록 할 수 있습니다. bsh -r 명령으로 시작되는 경우 쉘은 .profile 파일을 해석할 때 제한사항을 적용합니다.
' Rsh'이라는 이름으로 호출되면 제한된 셸은 사용자의 ' .profile ' 파일($HOME/.profile)을 읽습니다. 이 작업을 수행하는 동안 일반 본 셸처럼 작동하지만 인터럽트가 발생하면 명령 레벨로 돌아가는 대신 즉시 종료된다는 점이 다릅니다.
Korn 쉘은 명령 ksh -r로 제한된 쉘로서 시작될 수 있습니다.
ksh 및 rksh의 inode는 동일하고, ksh93 및 rksh93의 inode는 동일합니다.