Интересен ответ от сколько-нибудь опытных администраторов. Как вменяемым способом загружать с другого компа файлы в директории, у которых владелец root?
К примеру:
Есть сервер на ubuntu 10, apache 2. Нужно удобным способом загружать/удалять/заменять файлы в /var/www/host1/ (host2, host3). Да в общем не важно где. Единственное, что пришло в голову подключаться по ssh, менять владельца, по sftp грузть/редактировать файлы, менять владельца опять на root. Но это клиникой попахивает)) Есть нормальные варианты? Как делаете Вы?
Как нормально загружать файлы на сервер?
Ozze, есть такая утилита - scp. И не нужно ничего монтировать =). Одной строкой рекурсивно всю нужную директорию копируете на другой компьютер =).
Нужно удобным способом загружать/удалять/заменять файлы в /var/www/host1/ (host2, host3).
а зачем вы эти директории сделали рутовыми? для защиты? ну повесьте на дверь своего туалета 734 замка. И открывайте, как приспичит...
есть такая утилита - scp. И не нужно ничего монтировать
Насколько я понимаю, проблему рутового владельца оно не решит.
а зачем вы эти директории сделали рутовыми? для защиты? ну повесьте на дверь своего туалета 734 замка. И открывайте, как приспичит...
А что тогда посоветуете? Включать в убунте рутовый логин? Или действительно отдать их другому пользователю, тогда проблема решена. Я пока еще только разбираюсь и не хотелось бы когда приспичит открывать туалет, и обнаруживать, что он вымазан фикалиями без 734 замков...
Создаёте пользователя вася ток чтоб без шелла (это важно)!!! Назначаете права chown vasya:user /var/www/host1/ и сможет заливать через SCP, или как вариант при создании пользователя укажите что домашняя папка /var/www/host1/ но этого не советую. А идеальный вариант поднять фтп.
Kettler, спасибо. Вполне себе решение. И простое)
Насколько знаю, в ftp все команды передаются без шифрования и пароли в том числе. Хотя кому это может быть нужно...
А что тогда посоветуете? Включать в убунте рутовый логин? Или действительно отдать их другому пользователю, тогда проблема решена. Я пока еще только разбираюсь и не хотелось бы когда приспичит открывать туалет, и обнаруживать, что он вымазан фикалиями без 734 замков...
ну фекалии должны извергаться в сортире, заниматься любовью надо в спальне, а работать в кабинете.
из этого и надо исходить. в убунте первый юзер фактически имеет права рута, и нужен лишь для настройки системы. Настройте её, и затем сделайте ещё одного юзера. От него и работайте.
Для апача сделайте третьего юзверя. И при необходимости рулите через него. Пусть апач работает от этого юзера, и ещё сделайте удалённый вход (авторизация по ключу, запрет рута, порт $RAND).
На системе, с которой управляете, настройте конфиги так, что-бы можно было просто набрать
[console]ssh drbatty[/console]
и попасть на свой сервер (примерно так я и попадаю на свой. У вас это не сработает. Что плохо, и неудобно. Конечно у меня работает и scp file.zzz drbatt:directory/, причём без всяких паролей. Зачем они?)
Создаёте пользователя вася ток чтоб без шелла (это важно)!!! Назначаете права chown vasya:user /var/www/host1/ и сможет заливать через SCP, или как вариант при создании пользователя укажите что домашняя папка /var/www/host1/ но этого не советую. А идеальный вариант поднять фтп.
почему без шелла? зачем такое?
Насколько знаю, в ftp все команды передаются без шифрования и пароли в том числе. Хотя кому это может быть нужно...
да, в FTP без шифрования. и именно этот протокол и НУЖНО использовать, если секретность и скрытность не к чему. Я практически всегда поднимаю sshd и proftpd. Большие файлы я передаю по FTP, кроме того, я передаю по FTP файлы, когда секретности не нужно. scp я использую лишь в очень особых случаях.
DrBatty а на фига он нужен обычному юзеру? Ему залить да и хорош (ток думаю придёться прописать sshd и всё).
Kettler, хз.
Помощь системному администратору » Как нормально загружать файлы на сервер?
для администратора, и для загрузки файлов на сервер - нужно. для хомячков - на винфак животное :lol:
на винфак животное :lol:
?
Kettler, вы научитесь читать пост ЦЕЛИКОМ, или будете и далее рвать цитаты?
я сейчас начну рвать отдельные буквы из ваших постов, доказывая любое, наперёд заданное заключение. Что вам доказать?
Понравилось выражение? Тихо пофапайте в уголочке.
Можно и так:
#генерим себе ключ:
ssh-keygen
#легче без пароля.
#потом смотрим на его публичную часть
cat ~/.ssh/id_rsa.pub
#или
ssh-keygen -y
#на удаленном сервере
sudo bash -c 'mkdir /root/.ssh; echo "полученная выше строка">>/root/.ssh/authorized_keys'
#теперь можно и заходить в гости на сервер
ssh root@server
#или копировать файлы через mc
#f9 - Правая(левая) панель - Shell-соединение
#потом запомнить путь ctrl+\
Так проще всего. При желании можно кидать свой открытый ключ кому угодно в ~/.ssh/authorized_keys. И подключаться от его имени.
Можно и так:
можно конечно. но лучше это делать не для рута на удалённом сервере, а для простого юзера. но для простого юзера опять возникнет проблема с правами...
Фактически, вы советуете заходить на сервер с правами рута, но это не самый лучший вариант.
Так проще всего. При желании можно кидать свой открытый ключ кому угодно в ~/.ssh/authorized_keys. И подключаться от его имени.
что-бы кинуть ключ в ~vasya/.ssh для начала нужно подключится с именем этого васи, или с именем root'а.
Почему надо бояться рута?
Надо просто осознавать, что рут может что-то сломать. Но ломать при этом ничего не надо.
ИМХО, потерять пользовательские данные - это в сотни раз опаснее, чем сломать систему. Систему сейчас поставить минутное дело, если еще и репы локальные, то вообще без проблем, а если еще изредка делать sudo bash -c 'cd /; tar -zc --files=etc`date +%Y_%m_%d-%H-%M`.tar.gz /etc' (и ему подобное), то на систему вообще плевать с колокольни.
Делайте каждодневные резервные копии и пусть система хоть сгинет в пучине адовой.
Но вот учитывая, что пользовательские файлы меняются чуть-ли не ежеминутно. Даже ежечасное резервное копирование может не избавить от горя.
Почему надо бояться рута?
Надо просто осознавать, что рут может что-то сломать. Но ломать при этом ничего не надо.
ИМХО, потерять пользовательские данные - это в сотни раз опаснее, чем сломать систему
дык в том-то и дело!!!
имея права рута вы с лёгкостью прибьёте ЛЮБЫЕ данные.
любых пользователей. хоть всех сразу.
Систему сейчас поставить минутное дело,
оно и раньше было минутным делом, для тех, у кого есть бекап. Но вы учтите, тут удалённый вход, а значит, вам придётся ехать к этому серверу. Это хорошо, если сервер рядом. А если сейчас 3 часа ночи, а сервер - в другом городе? Как вы его подымете? И толку с ваших данных, если этот сервер рухнул?
а если еще изредка делать sudo bash -c 'cd /; tar -zc --files=etc`date +%Y_%m_%d-%H-%M`.tar.gz /etc' (и ему подобное)
/etc это конечно хорошо. Но этого мало. Кроме того, вы не подумали о том, что в этом бекапе лежат все ваши секретные ключики?
Но вот учитывая, что пользовательские файлы меняются чуть-ли не ежеминутно. Даже ежечасное резервное копирование может не избавить от горя.
кто мешает юзать DCVS?
а сервер - в другом городе? Как вы его подымете?
Легко, если есть sc или rsc. smile
Легко, если есть sc или rsc.
угу. в соседней ветке человеку комп на балконе не запустить. расскажите ему, как это делать oO
угу. в соседней ветке человеку комп на балконе не запустить. расскажите ему, как это делать blink
дык, думаю у него mb не поддерживает rsc(sc) =) Хотя тому челу проще на пол дня арендовать у соседа монитор, поставить ОС в минимальной конфигурации, что бы ssh был,а дальше допилить. В общем извратиться можно будет. А про rsc почему я сказал, дык, сервера на солярке так поднимал, удаленно, с помощью jumpstart =) но это уже другая история