dil

Добавить логин и пароль..

Sep 17, 2016 12:44


Попросили меня вчера добавить очередной логин с паролем в веб-сервер. Казалось бы, что тут может быть сложного, элементарно же.
Залогинился на машинку, посмотрел в апачевском конфиге, где лежит файл с паролями, запустил htpasswd, а… он ругнулся, что “could not determine temp dir”. Попробовал ещё несколько раз, та же фигня. Проверил environment, никаких переменных про TEMP/TMP нету, значит, по умолчанию должна использоваться /tmp, чего ж он её не может определить?!
Зашёл в /tmp, попробовал создать файл, и тут мне сказали, что не получится, потому что filesystem is read-only.

Запустил mount, а он тоже ругнулся, что mtab на неписабельной файловой системе, поэтому смотрите в /proc/mounts . Посмотрел, и с ужасом обнаружил, что корневая файловая система действительно read-only. Видать, что-то сломалось, и её автоматом перемонтировало в RO. Но что конкретно - не понять, логи же тоже неписабельные. Хотя по датам самых поздних логов удалось понять, когда примерно это случилось.

Что тут поделать.. Сначала запустил fsck -n. Он наругался на некорректные данные в файловой системе, но ошибок чтения диска не было, поэтому я его перезапустил с -y. Он вроде как всё починил, повторный запуск уже никаких ошибок не нашёл. Но.. бОльшая часть программ перестала работать. Ни mount, ни cat, ни ls, не запускались. И даже bash, кроме того экземпляра, из которого я это всё делал. Типа, shared libraries отсутствуют, или какие-то конкретные ссылки в них не найдены.. В общем, всё основательно попортилось.

А на машинке той ещё и mysqlная база данных была, master. Прицепил этот диск к другой машинке, где slave, попробовал подмонтировать, ан и там такая же фигня, корневая файловая система read-only. Вотжеблин..

Но на slave пока все программы успешно работали, даже mysql ещё не упал, хотя писать ничего не мог. Видать, всё где-то хорошо закэшировалось.

Нашёл таки способ подмонтировать там файловую систему с дополнительного диска, скопировал туда библиотеки, и некоторые подпорченные программки. Потом зашёл в неё chroot’ом, проверил, что хотя бы bash, mount и scp работают. Затем отсоединил диск, вернул его на прежнюю машину, запустил - о, загрузилась, заработала!

Но тут оказалось, что /var/lib/mysql там совсем пропал. Скопировал со slave, запустил, вроде всё на месте.

И, наконец, добавил логин с паролем в файлик от апача. Ушёл на это почти весь день..

Оригинал этой записи в личном блоге.
(
| Комментировать в Dreamwidth)

ирландия, грабли, рабочее, дублин, vmware

Up