Человек не машина и запомнить всего не может. Поэтому все нужно записывать.
Если у вас есть полные права в plesk 9.x, но вы забыли или не знаете пароль вам необходимо получить root доступ — эта заметка для вас (сначала думаем, потом делаем, если что-то сломается — я вас предупредил)
Кратко сама идея:
Через панель Plesk добавить в cron для пользователя root задание, которое даст право на изменение файла sudoers. В sudoers прописать нужному пользователю разрешения на выполнение через sudo.
А теперь по шагам:
1. Вам необходим ssh доступ к серверу под любым пользователем (в настройках пользователя не должно быть chtooted). Если такого пользователя нет, то его необходимо создать. В настройках пользователя для поля Shell-доступ к серверу под учетной записью пользователя FTP выбираем /bin/bash (НЕ chrooted)
2. Заходим под нашим пользователем на сервер по SSH (если вы работаете из windows — используйте для этого putty)
3. В каталоге /tmp создаем файл runme1.sh и runme2.sh (или другие имена на ваш вкус).
Содержимое /tmp/runme1.sh:
#!/bin/bash
chmod 777 /etc/sudoers;
echo 'OK';
Содержимое /tmp/runme2.sh:
#!/bin/bash
chmod 440 /etc/sudoers;
echo 'OK';
4. В панели Plesk 9.X заходим в Настройки — Запланированные задачи. Находим там пользователя root, кликаем на него. Затем жмем «создать задачу». В поле «Минута» ставим "*/1" (запускать задание 1 раз в минуту) в остальных полях ставим "*".
В поле «Команда» прописываем путь к нашему первому файлу (/tmp/runme1.sh).
Ок — сохраняем.
5. Через минуту скрипт отработает и задание можно остановить. Поправим в нем путь с /tmp/runme1.sh на /tmp/runme2.sh. Но пока не запускаем задание.
6. По ssh (см п2) открываем файл /etc/sudoers, ищем строку «root ALL=(ALL) ALL»
и под ней пишем «имя_нашего_ssh_пользователя ALL=(ALL) ALL».
7. Возвращаемся в панель plesk 9.x. Запускаем наше задание. Ждем минуту. Выключаем задание.
Теперь ваш пользователь может выполнять команды посредством sudo. Например, sudo passwd root и т.д.
Аналогичным образом можно было бы внести изменения в файл /etc/shadow (прописать туда «хэш» известного пароля), но описанный метод мне кажется проще.
Кстати описанный здесь метод (как составная часть атаки) может быть использован для заражения вашего сервера. Поэтому лучше принять меры. Подробнее об этом можно почитать тут.
Если у вас есть полные права в plesk 9.x, но
Кратко сама идея:
Через панель Plesk добавить в cron для пользователя root задание, которое даст право на изменение файла sudoers. В sudoers прописать нужному пользователю разрешения на выполнение через sudo.
А теперь по шагам:
1. Вам необходим ssh доступ к серверу под любым пользователем (в настройках пользователя не должно быть chtooted). Если такого пользователя нет, то его необходимо создать. В настройках пользователя для поля Shell-доступ к серверу под учетной записью пользователя FTP выбираем /bin/bash (НЕ chrooted)
2. Заходим под нашим пользователем на сервер по SSH (если вы работаете из windows — используйте для этого putty)
3. В каталоге /tmp создаем файл runme1.sh и runme2.sh (или другие имена на ваш вкус).
Содержимое /tmp/runme1.sh:
#!/bin/bash
chmod 777 /etc/sudoers;
echo 'OK';
Содержимое /tmp/runme2.sh:
#!/bin/bash
chmod 440 /etc/sudoers;
echo 'OK';
4. В панели Plesk 9.X заходим в Настройки — Запланированные задачи. Находим там пользователя root, кликаем на него. Затем жмем «создать задачу». В поле «Минута» ставим "*/1" (запускать задание 1 раз в минуту) в остальных полях ставим "*".
В поле «Команда» прописываем путь к нашему первому файлу (/tmp/runme1.sh).
Ок — сохраняем.
5. Через минуту скрипт отработает и задание можно остановить. Поправим в нем путь с /tmp/runme1.sh на /tmp/runme2.sh. Но пока не запускаем задание.
6. По ssh (см п2) открываем файл /etc/sudoers, ищем строку «root ALL=(ALL) ALL»
и под ней пишем «имя_нашего_ssh_пользователя ALL=(ALL) ALL».
7. Возвращаемся в панель plesk 9.x. Запускаем наше задание. Ждем минуту. Выключаем задание.
Теперь ваш пользователь может выполнять команды посредством sudo. Например, sudo passwd root и т.д.
Аналогичным образом можно было бы внести изменения в файл /etc/shadow (прописать туда «хэш» известного пароля), но описанный метод мне кажется проще.
Кстати описанный здесь метод (как составная часть атаки) может быть использован для заражения вашего сервера. Поэтому лучше принять меры. Подробнее об этом можно почитать тут.