Назад | Перейти на главную страницу

Как администрировать файлы на удаленной машине с Ubuntu?

У меня нет большого опыта работы с Linux. Ранее я администрировал машину Debian в локальной сети, войдя в систему как root и используя ftp как root. Теперь я работаю с машиной Ubuntu, и необходимость набирать sudo для всего раздражает, но с ней можно справиться. Однако я не могу управлять файлами, потому что не знаю, как настроить ftp-клиент с возможностью манипулировать файлами вне каталога / home. Как мне к этому поступить?

Подробнее: Система представляет собой локальную систему разработки для веб-разработки. Наиболее частые причины, по которым мне нужен доступ к файлам, - это изменение файлов конфигурации apache и mysql. Я подключаюсь к нему из своей системы Windows XP, используя putty для терминала и filezilla для ftp. В идеале я хотел бы иметь возможность использовать ftp для загрузки файла конфигурации, редактирования его в понятном мне графическом интерфейсе, а затем вернуть его на сервер.

Ты можешь использовать winscp который является бесплатным клиентом SFTP, FTP и SCP для Windows. Вы можете скопировать файлы из системы Linux. Затем вы можете редактировать файлы в Windows по своему усмотрению. Наконец, вы можете скопировать их обратно (перезаписать) в систему Linux.

Если вам нужно перезапустить какую-то службу, вы можете использовать ssh.

Перво-наперво, вам нужно разобраться со своим SSH, из которого вы можете делать любые / все вещи, предлагаемые здесь, в отношении запуска x (воспринимайте это как «удаленный рабочий стол»), управление файлами и т. д.

Я бы рекомендовал настроить SSH без пароля с помощью ключей. Они более безопасны (подождите, пока вы не начнете просматривать все попытки грубой силы в журналах аутентификации от ботов, пытающихся угадать ваш пароль ssh; мой был уменьшен до нуля, когда я отключил аутентификацию по паролю и разрешил только аутентификацию по ключу). На эту тему есть много руководств, возможно, самый простой способ, если ваша рабочая станция - это Windows, использует PuTTYGen от создателей PuTTY для создания открытого и закрытого ключей, которые будут совместимы с WinSCP, PuTTY и т. Д.

Если вы хотите использовать что-то вроде WinSCP, вы можете изменить sudoer config на вашем сервере, чтобы разрешить sudo команда должна быть выполнена всего за /bin/sftp-server без запроса пароля. После этого вы можете изменить WinSCP для выполнения sudo /bin/sftp-server для повышения привилегий процесса sftp-server, который WinSCP использует для управления файлами с помощью протокола передачи файлов SSH (SFTP, не путать с FTPS). Эта процедура покрыта Вот.

У меня смешанные чувства по этому поводу; Я думаю, что лучше предоставить вашему пользователю права доступа к файлам и папкам, которые этот пользователь должен редактировать. то есть, если вы просто управляете некоторыми файлами / var / www, вы можете либо изменить корень сайта на / home / user / www и предоставить соответствующему пользователю Apache (www-data для Ubuntu) правильные разрешения на чтение и выполнение файлов в этот каталог или наоборот, и предоставьте пользователю права на чтение и запись в / var / www. Если вы выберете второй путь, мне будет проще создать группу под названием «webdev» и добавить вашего пользователя (и любых других пользователей, которым может потребоваться редактирование веб-сайта) в этот каталог.

Таким образом, вы можете автоматизировать процесс продвижения с помощью скриптов, используя такие инструменты, как scp и rsync чтобы уменьшить количество ошибок, которые могут возникнуть при загрузке вручную и / или изменении файлов.

Установить Webmin. Затем вы можете использовать свой веб-браузер для входа в систему как root и использовать Webmin Файловый менеджер модуль для управления файлами в любом месте файловой системы. Обратите внимание, что FileManager требует поддержки Java в вашем браузере.

Webmin также имеет модули, которые обеспечивают возможность администрирования конфигураций Apache и MySQL из веб-интерфейса. Текстовые файлы редактировать не нужно.

Наконец, хотя никак не связан с Webmin, phpMyAdmin один из лучших (если не в лучший) Доступны приложения для администрирования MySQL. Как и Webmin, это веб-приложение.

Первое, что вам нужно сделать, это разработать модель того, какими должны быть разрешения (в зависимости от программного обеспечения, использующего файлы, пользователей, которым требуется доступ и т. Д.). Я слежу за несколькими системами Linux - я никогда не использую ftp, я блокирую root-доступ через ssh и редко использую su - OTOH Я стараюсь избегать Ubuntu из-за необычного подхода, который он использует к различным вещам, включая root-доступ.

К сожалению, не зная больше о файлах, которые вы изменяете вне «/ home», трудно дать конкретный совет. Я бы порекомендовал внимательно изучить scp / sftp - но поскольку вы не предоставили никакой информации о клиентской ОС, которую используете для подключения, сложно дать конкретный совет (WinSCP для MSWindows? Рыба: оболочки в KDE?)

Возможно, FTP не является необходимостью. Рассматривали ли вы использование дельфина (или любого другого файлового менеджера в ubuntu) и экспорт его отображения через туннель ssh? Это избавит вас от администрирования FTP, портов, учетных данных пользователя и т. Д.

Для этого вам понадобится локальный X-сервер, предоставляемый по умолчанию в Linux, но в Windows вы должны установить xming, который является бесплатным.

ssh -Y remotemachine -l root (or any other sudoer)

my_prefered_filemanager

«дельфин» похож на проводник файлов для Linux, это графический интерфейс для перемещения файлов.

"туннель ssh" означает, что программа, которую вы запускаете на сервере, будет отображаться на вашем компьютере: то есть она будет отображать графический интерфейс на вашем экране, а не на экране сервера.

«локальный X-сервер» - это сервер, который получает информацию от запущенной вами программы. Xming - это пример X-сервера для Windows. Вы устанавливаете его на свой клиент Windows, и он ждет входящего соединения с вашего сервера.

1) скачайте и установите Xming для windows. Также скачайте и установите шрифты для Xming. Оба бесплатны, погуглите. Не забудьте запустить его после этого, он появится со значками рядом с часами Windows. На этом этапе окно еще не будет видно.

2) откройте шпатлевку, но перед тем, как начать соединение, включите переадресацию X, она находится в параметрах ssh для шпатлевки в левом дереве, внизу. Сохраните конфигурацию и запустите соединение, как обычно. Этот параметр полностью прозрачен, если вы не используете графический интерфейс в сеансе шпатлевки, не будет никакой разницы, включен туннель или нет.

3) попробуйте свой туннель: из оболочки запустите любую программу с графическим интерфейсом, она должна появиться на рабочем столе Windows. например запустить nedit, gedit. Если оно появится, значит, вы готовы. Теперь вам нужно запустить эту программу как root. попробуйте «sudo nedit» (затем перейдите к файлу, который вы хотите отредактировать, в меню файла nedit). Если это не сработает, вам, возможно, придется сначала «sudo -s», а затем запустить «nedit». nedit и gedit - типичные, очень легкие программы-редакторы. Может быть, у вас есть еще одна установленная в ubuntu, которую вы предпочитаете, вы можете использовать любую программу, которую хотите, это не важно.

Я поддерживаю предложение Стивена. Webmin станет идеальным инструментом для использования в вашем сценарии. Вы скоро заинтересуетесь остальными функциями и захотите изучить их :-)