2014-02-13 2 views
1

Fedora를 실행하는 Linux 기반 웹 서버가 있습니다. 나는 그것에 HTML 페이지의 몇을 창조하고 접대했다.해당 웹 서버의 HTML 페이지에 셸 제공

내가 시작하지 않은

이 서버에서 실행되지만 브라우저에서 모든 사용자가 액세스 할 수 있어야 정보를 제공하는 CLI 도구를 가지고이 나는 것을 제공하려면 어떻게 내 요구 사항

  1. 입니다 서버 쉘 (BASH) HTML 페이지를 통해? 가능한 소프트웨어는 무엇입니까?
  2. 자동 로그인 가능 쉘을 제공 할 수 있습니까?

여러 사용자가 서버에 SSH 세션을 열지 않아도됩니다. 또한 HTML 페이지를 사용하여 지침과 터미널 액세스를 제공 할 수 있습니다.

+0

쉘을 열거 나 PHP를 통해 명령을 실행할 수있는 가능성이 있지만 나는 정말로 추천하고 싶지 않다. 그.SSH가 해결책이 아닌 이유는 무엇입니까? – frlan

+0

예 SSH는 직접적인 해결책입니다. 나는 가능하다면 다른 대안을 모색 중입니다. 또한 웹 서버는 사설망에 있습니다. 보안이 PHP 기반 솔루션의 유일한 관심사입니까? –

+0

@bhp : 음 .... 보안은 웹에서 무언가를하지 않는 첫 번째 이유 중 하나 여야합니다.)하지만 실제로 배포 할 솔루션은 무엇이든간에 사용자 계정과 암호로 퍼지해야합니다. 서비스를 차단하고 사용자 권한뿐만 아니라 사용자 권한을 차단합니다. – frlan

답변

3

ShellInABox은 Ajax를 통해 브라우저에 컬러 터미널 인터페이스를 제공하는 것으로 보입니다. (homepage) 별도의 웹 서버로 실행되므로 사용자를 사이트의 다른 포트에 연결해야 할 수 있습니다. 분명히 더 많은 대안 (이 같은 다른 프로젝트)이 있습니다.

다음 조언은 ShellInABox를 사용하는지 또는 ssh 액세스를 계속 제공하는지에 관계없이 적용됩니다.

완전히 알 수없는 경우와 신뢰 모든 사용자는 다음 중 하나 이상이 충돌 또는 시스템에 휴식에 결정되는 whizzkid 크래커, 가정. 그가 시도하려고하는 첫 번째 일은 로그인하고 forkbomb을 실행하는 것입니다.

따라서 사용자는 샌드 박스 사용자에게 최선을 다해야 시스템이나 서로를 해칠 수 없습니다. 허용 된 작업을 수행하는 데 필요한 것만 액세스 권한 (파일/폴더/네트워크 액세스)을 제한하십시오. SELinux와 AppArmor에는이 기능이 있습니다. 더 많은 샌드 박스 기술을 찾을 수 있습니다 herehere. Docker은 조사할만한 새로운 시스템입니다.

이가하는 모든 사용자가 동일한에되지 않습니다 샌드 박스에서 휴식을 관리 할 수 ​​있도록, 당신의 주요 웹 서버에서하는 별도의 또는 가상 시스템에서 별개을 로그인 서버를 호스트하는 것은 매우 현명 할 것 다른 서비스와 마찬가지로 (하지만 그는 여전히 당신의 LAN에있을 것입니다!) User-mode-linux는 덜 안전한 대안이고 chroot는 여전히 나 빠졌지 만 아무것도하지 않는 것이 낫습니다! 사용자가 파일 저장 할 수 있어야합니다 경우

는 그때 자신의 파일은 세션간에 유지해야 특히, 각 사용자에게 별도의 계정을주고 추천 할 것입니다. 물론 자동 로그인의 문제 해결 방법으로 은 모든 사용자에 대해 암호 guest555guest 계정을 제공 할 수 있지만 악의적 인 사용자는 파일을 삭제하거나 셸 시작 스크립트에 불쾌한 것을 넣어 다른 사용자를 괴롭힐 수 있습니다. (크래커들이 정기적으로 그 계정을 호스팅하는 ssh 서버에 대한 그물을 스캔하기 때문에 나는 확실히 guest/guest을 추천하지 않는다.)

+0

'shellinabox'가 실행 중입니다. 브라우저를 통해 서버 터미널에 액세스 할 수 있습니다. 또한 Docker는 내가 구현하고자하는 것 같다. 나는 그것을 탐구 할 것이다. 감사. –

관련 문제