что то убилось(( а как починить?
В один момент система перестала грузится. Точнее не проходят инит-скрипты, ругаются на пермишен денайд к таким утилитам как mount, agetty, uname и т.д.
Файл-система в порядке, сами утилиты все на месте. Что то случилось с пермишенами, но что именно - непонятно.
Перед тем как все это грохнулось, я безбожно тыкал мышкой в гномьей юзер-администрейшн утилите, пытаясь на виндовый манер добавить пермишенов своему аккаунту (каюсь, сам виноват). Одновременно с этим проходил важный разговор с неким лицом, который отнял всю мою внимательность и благоразумность.
Для более детального анализа прикладываю кусок /log/messages относящийся к этому моменту, после которого все кирдыкнулось (кстати лог больше не ведется, то ли крон не стартует то ли еще что):
http://www.hocka.ru/anton/log.txt
и "скриншот" экрана, чтобы было понятно как это все на загрузке выглядит:
http://www.hocka.ru/anton/screen_1.JPG
Соответственно вопрос - что это такое может быть, и что с этим можно сделать? Сразу оговорюсь, что, пытаясь починить своими силами, грузился с лив-сиди, чрутил систему, сбрасывал group and passwd файлы, сбрасывал даже shadow and gshadow файлы на забэкапленные, в надежде сбросить пермишены всех юзеров и груп на дефолтные.. не помогло. После этого идеи кончились.
- Для комментирования войдите или зарегистрируйтесь
dv
Точно? Проверял?
Просто как-то у мну перестал один роутер на Дженте на SSH отвечать. Снял я его, подцепил монитор, клаву, а у него на запуск ssh, scp тоже как у тебя пермишинов не хватает. Хотел глянуть пермишины на эти файлы - фигушки. Не хватает пермишинов глянуть пермишины. Вылечилось проверкой файловой системы и выполнением рекомендованных после проверки действий.
точно, проверял
точно, проверял фчеком - нет ошибок.
грузился в сингл моде, там все эти утилиты работают. (правда рутовый раздел почему то р-о, но это уже другая песня)
грузился с лив-сиди, чрутил свой раздел, запускал утилиты - все работает.
нет, файл-система точно в порядке.
Судя по логам
Судя по логам виной этому "безбожное тыкалье мышкой в гномьей юзер-администрейшн утилите"...
Убился либо pam либо файлы юзеров и паролей (/etc/passwd, /etc/shadow)
Попробуй с начало переставить pam причем без защиты конфигов (--noconfmem), ну а если не поможет - нужно копаться в пассворд файлов.
PS: только для начала сделай бекап каталога /etc
фишка в том, что
фишка в том, что кроме дефолтного набора юзеров и груп из 3го стейджа, у меня есть только один мой аккаунт.
почему я и решил грохнуть passwd and group (shadow и gshadow тоже - я так понимаю это хэш файлы для passwd и group??) файлы, и заменил их из рабочего бэкапапа.
после чего я добавил свой аккаунт, установил пароль, рутовый пароль и т.д.
но это не помогло. ничего не изменило.
можно поподробнее про pam, что значит "переставить pam причем без защиты конфигов"?
можно какую нибудь наводку на маны, чтобы было что курить?
emerge pam --oneshot
emerge pam --oneshot --noconfmem =)
переустановил,
переустановил, но это ничего не дало(
есть еще какие-нибудь идеи?
где вообще в gentoo хранится информация о юзерах и паролях? за это отвечают только passwd, shadow, group и gshadow в /etc ??
ещё можно
ещё можно /etc/login.defs посмотреть.
Посмотрел скриншот...
а может сняты права на выполнение?
посмотрите вывод
cd /корневой_раздел_системы
ls -ld ./ # должно быть drwxr-xr-x
ls -l ./
ls -l ./bin
ls -l ./sbin
ls -l ./usr/bin
:)
вот login.defs
вот login.defs (почикал все лишнее для читабельности) - на мой взгляд с ним все в порядке. другое дело, что я не тот человек, чьему взгляду я доверял бы в этом вопросе.
FAIL_DELAY 3
LOG_UNKFAIL_ENAB no
LOG_OK_LOGINS no
SYSLOG_SU_ENAB yes
SYSLOG_SG_ENAB yes
CONSOLE /etc/securetty
#CONSOLE console:tty01:tty02:tty03:tty04
SU_NAME su
MAIL_DIR /var/spool/mail
#MAIL_FILE .mail
HUSHLOGIN_FILE .hushlogin
#HUSHLOGIN_FILE /etc/hushlogins
ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin
ENV_PATH PATH=/bin:/usr/bin
TTYGROUP tty
TTYPERM 0600
ERASECHAR 0177
KILLCHAR 025
UMASK 022
#ULIMIT 2097152 (NOT SUPPORTED WITH PAM)
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
#PASS_MIN_LEN 5 (NOT SUPPORTED WITH PAM)
PASS_WARN_AGE 7
UID_MIN 1000
UID_MAX 60000
GID_MIN 100
GID_MAX 60000
LOGIN_RETRIES 3
LOGIN_TIMEOUT 60
CHFN_RESTRICT rwh
DEFAULT_HOME yes
USERGROUPS_ENAB yes
пермишены посмотрел, все в порядке, опять же на мой взгляд.
хозяин всего - рут, у него везде -rwx
не проходите мимо, принимаются еще идеи, любые...
Если есть бекап
Если есть бекап /etc попробуй его распаковать, если не поможет значит не в конфигах дело, будет дальше думать...
полного бэкапа
полного бэкапа нет, я бэкапил рядом некоторые конфиги путем переименования, в том числе и passwd group. возвращение их из бэкапа ничего не дало. ну я уже говорил..
других конфигов по теме вроде не бэкапил (всякие make.cfg и т.д.)
может что то именно в самих инит скриптах убилось? но там черт ногу сломит, починить их вряд ли получится...
я уже подумываю о брутальном способе... типа распаковать в рут стейж3, а потом что-нибудь вроде emerge world.. (
Это не ошибки в
Это не ошибки в скриптах...
Можно поступить чуть менее брутально: в chroot выполнить FEATURES="-collision-protect" emerge world --emptytree --noconfmem - это пересоберет всё установленное без защиты конфигах. Это лучше чем распаковывать установленную на системы stage, т.к. сохранит целостность базы поратажей и системы. Такаже можно добавить buildpkg в FEATURES, чтобы если что не пересобирать всё заново.
PS: хотя попробуйте с начало не world, а system указать - будут пересобирать только системные пакеты, если их переустановка ничего не даст - проблема в файловой системе, ну или во невнимательности...
я вас понял, но
я вас понял, но поймите и меня тоже - очень не хочется действовать подобным образом ведь ошибкая явно точечная, и устранить ее хочется точечно. но для этого ее надо сначала найти.
способы переустановить пол системы оставлю на крайний случай.
поэтому я попытаюсь еще раз выстроить логическую цепочку рассуждений, а вы, если я вам еще не надоел, поправьте меня - вдруг появятся идеи...
итак, почему инит скрипты не могу получить пермишены к некоторым утилитам из /bin и /sbin?
сразу вопрос - под каким юзером выполняется инит? под рутом?
либо это ошибка чтения (проверил - не подходит), либо нет пермишенов на запуск/чтение (проверил - не подходит), либо это какая то свистопляска с общими настройками пермишенов для юзеров в системе (учитывая мои последние действия - самый реальный вариант).
основываясь на последнем варианте я разбэкапил файлы passwd и group, прибил shadow и gshadow (по совету одного линуксоида, который сказал что это хэш файлы и после комманд типа passwd они переобновятся), создал свой аккаунт, задал пароль, но shadow и gshadow так и не появились. следовательно тут два варианта - либо я (по совету линуксоида)напортачил по полной, либо же все мои манипуляции с этими конфигами ничего не дали, а настоящие хэш файлы лежат где то в другом месте, и далеко не факт что мое разбэкапивание passwd и group что то поменяло в системе аккаунтов используемой линуксом.
соответственно ответье на вопрос,если вы поняли все вышеописанное, - замена passwd и group на работающие (фактически дефолтные из 3го стейжа) с последующими коммандами useradd и passwd точно приводит к пересборки всех хэш (или как там они еще называются, бинариники с паролями...) файлов из этих конфигов, или же я просто "добавил" юзера не меняя всех остальных (которых я успешно запорол из гном-гуи)? это, как мне кажется, очень принципиальный вопрос - потому что если я действительно убил, скажем у юзера бин, пермишены на папку бин и сбин, то их однозначно надо вернуть, и чтобы не возиться с каждым юзером и группой хочется вернуть все их одним махом.
вот я и не могу понять - то ли у меня получилось это сделать, но тогда значит проблема в другом, то ли ничего не получилось - и тогда проблема именно в этом. единственная возможность понять это - ответить на этот самый принципиальный вопрос...
вы извините что столько писанины, просто задача у меня именно разобраться в проблеме и механизмах ее породивших, а так же механизмов ее устранения, а частичная или полная пересборка системы конечно вернет мне линукс, но оставит меня в неведении по поводу "а что это было?"...
зы кстати, если грузится в сингл моде (ведь это же сингл мод?? вот строчка из grub.cfg)
kernel /boot/kernel-2.6.22-gentoo-r8 root=/dev/sda3 init=/bin/bb
рутовая файловая система монтируется как рид-онли. это нормально? потому что может быть это "симптом"?
Каков
Каков результат загрузки в обычном режиме? Вход в систему возможен?
Значит так:
Про замену passwd и т.д - можешь ли ты после этого в chroot выполнить su и войти под рутом и другим пользователем? Если можешь - с этими файлами все в порядке.
Т.к. в линуксе авторизация производиться через pam и его настройки определяют права - но если ты его переставил (как я сказал, без защиты конфигов) - то его влияние исключается.
Так что вероятней всего проблема с диском...
Вообще систем должна нормально работать даже есть root раздел в ридонли...
Выдай содержимое /etc/fstab и проверь чтоб у рутового раздела не стояла опция noexec.
вообще я могу
вообще я могу после chroot выполнить su и зайти рутом и дургим пользователем. странность в том что он не спрашивает при этом пароль - просто заходит и все.
что это может быть?
В сhoot вы
В сhoot вы заходите уже под рутом, поэтому когда делаете su - входите под кем угодно без пароля (это такая фига линуха :)).
Поэтому зайдите в chroot сделайте su в другого пользователя и из него su в рута - пароль должен запроситься. Если нет смените пароль (passwd) и попрбуйте еще раз.
Так а что с загрузкой? До какой степени она доходит?
в первом
в первом мессадже висит ссылка на "скриншот" - там видно до чего доходит загрузка. если лень искать - вот ссылка
http://www.hocka.ru/anton/screen_1.JPG
с тех пор ничего не изменилось
по поводу su из под пользователя - попробую обязательно в понедельник, тогда же сообщу результат
спасибо что не бросаете. удачных выходных)
помоему у тебя
помоему у тебя фс монтируется с опцией noexec, её например default включет... покажи fstab
нет, я смотрел
нет, я смотрел фстаб - все в порядке там.
показать смогу только в понедельник.
но это точно не то.
/dev/sda1 /boot ext2 auto
/dev/sda1 /boot ext2 auto 0 0
/dev/sda3 / ext3 noatime,user 0 0
/dev/sda2 none swap sw 0 0
/dev/sdb1 /mnt/winda ntfs auto,nls=utf8,umask=0,user 0 0
/dev/cdrom /mnt/cdrom auto ro 0 0
вот фстаб.
врядли от этого
врядли от этого зависит глюк - но имхо правильнее
/dev/sda3 / ext3 noatime 1 0
тогда уж
тогда уж правильнее так - /dev/sda3 / ext3 defaults,noatime 0 1
Вообще маловато информации чтоб разобраться в проблеме: в логе нет ошибок на запуске скриптов, а скрин только последствия показывает...
Нужно больше логов - включите в /etc/conf.d/rc логирование запуска демонов и надо эти логи смотреть.