제한된 쉘

제한된 쉘은 호환성이 정규 Bourne 쉘보다 더 많이 제어된 실행 환경과 로그인 이름을 설정하는 데 사용됩니다.

' Rsh ' 또는 ' bsh -r 명령은 제한된 셸을 엽니다. 다음과 같은 조치가 허용되지 않는 것을 제외하고, 이 명령의 기능은 bsh 명령의 기능과 동일합니다.

  • (cd 명령으로) 디렉토리 변경
  • PATH 또는 SHELL 변수의 값 설정
  • 슬래시(/)가 포함된 경로 또는 명령 이름 지정
  • 출력 방향 재지정

제한 쉘은 실행될 명령이 쉘 프로시저라고 판단하면, Bourne 쉘을 사용하여 명령을 실행합니다. 이런 방법으로, 명령의 제한된 메뉴를 실행하는 동안 Bourne 쉘의 전체 권한에 액세스하는 쉘 프로시저를 사용자에게 제공할 수 있습니다. 이 상황에서는 사용자가 동일한 디렉토리에서 쓰기 및 실행 권한을 가지고 있지 않다고 가정합니다.

Bourne 쉘이 시작될 때 File [Parameter] 매개변수가 지정되면, 쉘은 지정된 임의의 매개변수를 포함하여, File 매개변수에 의해 식별된 스크립트 파일을 실행합니다. 지정된 스크립트 파일이 읽기 권한을 가지고 있어야 합니다. 스크립트 파일에 대한 setuidsetgid 설정은 무시됩니다. 그런 다음, 쉘은 명령을 읽습니다. -c 또는 -s 플래그가 사용될 경우, 스크립트 파일을 지정할 수 없습니다.

Rsh 명령으로 시작되는 경우 쉘은 .profile/etc/environment 파일을 해석한 후 제한을 적용합니다. 그러므로, 시작 조치를 실행하고 사용자를 적합한 디렉토리(아마 로그인 디렉토리는 아닐 것입니다)에서 종료함으로써, .profile 파일의 기록자는 사용자 조치 제어를 완료합니다. 관리자는 ' /usr/rbin 디렉터리에 ' Rsh ' 명령이 사용할 수 있는 명령 디렉터리를 만들려면 PATH 변수를 변경하여 해당 디렉터리를 포함하도록 할 수 있습니다. bsh -r 명령으로 시작되는 경우 쉘은 .profile 파일을 해석할 때 제한사항을 적용합니다.

' Rsh'이라는 이름으로 호출되면 제한된 셸은 사용자의 ' .profile ' 파일($HOME/.profile)을 읽습니다. 이 작업을 수행하는 동안 일반 본 셸처럼 작동하지만 인터럽트가 발생하면 명령 레벨로 돌아가는 대신 즉시 종료된다는 점이 다릅니다.

Korn 쉘은 명령 ksh -r로 제한된 쉘로서 시작될 수 있습니다.

kshrksh의 inode는 동일하고, ksh93rksh93의 inode는 동일합니다.