네트워크 내의 장치에 SSH를 통해 연결하기 위한 콘솔 기반 메뉴를 만들려고 하는데 사용자가 메뉴에서 나갈 수 없도록 하고 싶습니다. 이런 상황에서 대화가 통할까요? 그렇지 않은 경우 다른 옵션이 있습니까?
답변1
메뉴를 위반하는 것을 방지하려면 메뉴를 shell 로 설정하세요 chsh
.
답변2
$SHELL
로그인 셸을 설정하는 것은 올바른 방향으로 나아가는 단계이지만 문제가 있습니다. 많은 스크립트에서 사용되는 설정을 통해 스크립트 실행을 방해한다는 것입니다. 이건 dialog
이래서는 안되는 일이야일하다.
대신 계정을 생성하면 해당 쉘이초기화스크립트는 메뉴 스크립트를 실행하고 스크립트가 키보드 인터럽트를 포착하고 스크립트가 완료되면 로그아웃하도록 하여 요청된 작업을 수행합니다.
예를 들어, 이것을 끝에 넣으면 .profile
계정에 메시지 상자가 표시됩니다.
trap "" INT QUIT
dialog --msgbox "Hello World!" 0 0
exit
명령이 완료되면 dialog
계정이 로그아웃됩니다. 을 실행하는 대신 dialog
사용자가 파일 시스템에 액세스하도록 허용하지 않고 적절한 메뉴 스크립트를 호출할 수 있습니다.