Удаленное изучение оболочки Linux (терминал) с помощью PHP Shell
PHP Shell или Shell PHP — это программа или сценарий, написанный на PHP (препроцессор гипертекста PHP), который предоставляет >Терминал Linux (Shell — гораздо более широкое понятие) в браузере. PHP Shell позволяет выполнять большинство команд оболочки в браузере, но не все из-за своих ограничений.
Обновление. Недавно я нашел очень многообещающий инструмент под названием «Wetty (Web + tty)», который обеспечивает полный доступ к терминалу Linux. по протоколу HTTP или HTTPS и позволяет вам выполнять все команды и программы Linux, как если бы вы сидели перед реальным или виртуальным терминалом.
Для получения дополнительной информации об установке и использовании Wetty посетите: Как установить Wetty для доступа к терминалу Linux через веб-браузер.
PHP Shell очень полезен при выполнении команд Shell на удаленном веб-сервере, аналогично Telnet и SSH. Это может быть полезно при перемещении, распаковке и обработке больших или объемных файлов на веб-сервере. Администрирование и обслуживание веб-сервера с использованием PHP Shell намного проще, если пользователь имеет практические навыки работы с программами Shell.
Когда уже существовали Telnet и SSH, зачем вам нужен phpshell? Это вопрос, который может прийти вам на ум. Ответ таков: во многих случаях брандмауэр настолько ограничителен, что ничего, кроме HTTP(S), не проходит, в этом случае phpshell позволяет вам получить доступ к оболочке на удаленном сервере.
Однако вы не можете выполнить программу с GUI или интерактивный скрипт/программу с помощью PHP Shell. Это может быть ограничением, но это ограничение является благом, поскольку отключение графического интерфейса означает более высокий уровень безопасности.
Скачать PHP-оболочку
Последнюю версию можно скачать отсюда:
- http://sourceforge.net/projects/phpshell/?source=dlp
Как установить PHP-оболочку
Как указано выше, PHP Shell написан на PHP, поэтому вам не нужно его устанавливать, просто переместите заархивированный файл на свой рабочий apache/. httpd и, конечно же, у вас должны быть установлены Apache и PHP.
Установите Apache и PHP
Установите в системах на базе Debian с помощью команды apt-get.
apt-get install apache2
apt-get install php5 libapache2-mod-auth-mysql php5-mysql
service apache2 start
Установите в системах на базе Red Hat с помощью команды yum.
yum install httpd
yum install php php-mysql
service httpd start
По умолчанию рабочий каталог apache/http:
в дистрибутиве на базе Debian /var/www
в дистрибутиве на базе Red Hat /var/www/html
Примечание. Ее можно изменить на любую другую папку. Это рекомендуется в качестве меры безопасности.
Переместите загруженный архивный файл PHP Shell в рабочий каталог Apache. Здесь я использую систему Debian, поэтому мой рабочий каталог Apache.
mv phpshell-2.4.tar.gz /var/www/
Разархивируйте php-оболочку
tar -zxvf phpshell-2.4.tar.gz
Удалите сжатый файл.
rm -rf phpshell-2.4.tar.gz
В целях безопасности переименуйте папку оболочки php во что-нибудь трудно угаданное. Например, я перехожу в папку phpshell (теперь tecmint-nix) и переименовываю phpshell.php в index.php . , чтобы вы были перенаправлены непосредственно на индексную страницу, а не на содержимое папки.
mv phpshell-2.4 tecmint-nix
cd tecmint-nix/
mv phpshell.php index.php
Отлично, пришло время открыть веб-браузер и перейти по адресу «http://127.0.0.1/tecmint-nix».
По умолчанию ни имя пользователя, ни пароль не работают, поэтому вам необходимо добавить имя пользователя и пароль вручную.
Чтобы создать имя пользователя и пароль, вызовите сценарий pwhash.php, который уже находится в папке phpshell, например «http://127.0.0.1/tecmint-nix/pwhash.php».
Введите имя пользователя и пароль на приведенной выше странице PHP и нажмите «Обновить».
Как указано в разделе «Результат», вам необходимо добавить строку sha, скопировав и вставив ее в config.php в [user] раздел.
Откройте файл config.php в своем любимом редакторе.
nano config.php
Добавьте строку.
tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"
Как и в разделе [пользователь], очевидно, что ваш sha1 будет уникальным на основе вашего имени пользователя и пароля. .
Сохраните файл config.php с текущими изменениями и выйдите из него.
Теперь пришло время войти. Посетите http://127.0.0.1/tecmint-nix. Войдите, используя свои «Имя пользователя» и «Пароль».
Да, вы успешно вошли в свой phpshell. Теперь вы можете выполнять большую часть программ оболочки так же гладко, как если бы вы запускали эти команды и сценарии в своей собственной системе.
Некоторые узкие места PHP Shell
- Дополнительный ввод не поддерживается, т. е. после запуска программы интерактивный сценарий использовать невозможно.
- Все веб-серверы настроены на тайм-аут в определенный период времени, скажем, 30 секунд. Это ограничение касается веб-сервера/Apache, а не phpshell.
- Каждая команда в phpshell должна состоять строго из одной строки. Phpshell не понимает команду продолжения или многострочную команду, например, в циклах.
Помните, что очень важно иметь PHP Shell защищенным паролем, иначе каждый сможет проникнуть в ваши файлы и, возможно, также сможет удалить их! Пожалуйста, потратьте время на защиту вашей установки PHP Shell.
Цель этой статьи — познакомить вас с более широким аспектом и реализацией оболочки в более наглядной форме.
На данный момент это все, от меня. Скоро я снова буду здесь с еще одной интересной темой, которую вам понравится читать. А до тех пор следите за обновлениями и подключайтесь к tecmint. Наслаждайтесь!