Почему я сразу получаю “Разрешение Отклоненная” ошибка на входе в систему, даже с корнем?

Конечно, можно было утверждать, что создание родительского каталога должно быть значением по умолчанию, и некоторая опция проверки могла использоваться для предотвращения создания каталога, если родитель не существует.

Но причиной, почему это наоборот, является просто история. Базовая версия mkdir не создала родительские каталоги. Поэтому дистрибутивы X11 пришли с командой, названной mkdirhier, который смог выполнить эту задачу: проверьте, существуют ли родительские каталоги и создают их, если необходимо.

Позже эта функциональность была добавлена к команде mkdir на многих версиях UNIX (я не знаю, находится ли это в стандарте POSIX в наше время). Для поддержания совместимости, эта функция была сделана доступной путем включения флага опции: -p.

Почему это плохо, чтобы включить его по умолчанию? Сценарии могут полагаться на сбой mkdir, если родительский каталог не существует. Тем более, что пользователь базируется, могло быть опасно создать деревья каталогов по умолчанию.

Пример:

 if mkdir /backup/$(uname -n)/$(date +%Y%m%d)
  then
    perform_backup ...

В этом примере был бы создан каталог, и резервное копирование, выполненное даже, является файловой системой /backup не смонтирован и родитель /backup/$(uname -n) не существует, если значение по умолчанию было бы наоборот.

Эмпирическое правило: Это - хорошая практика для не изменения поведения по умолчанию любого инструмента. При желании предоставьте возможности позволять изменять поведение по умолчанию.

3
11.11.2011, 17:20
2 ответа

Это - определенно ошибка PAM, как упомянуто в комментариях. У меня также была та же проблема, я просто загрузил последний источник PAM со ссылки ниже и скомпилировал, как проинструктировано на веб-странице. http://www.linuxfromscratch.org/blfs/view/svn/postlfs/linux-pam.html

1
27.01.2020, 21:29

Какое распределение Вы используете? На Fedora/Centos/Redhat selinux осуществляется по умолчанию. Возможно, Ваши pam файлы не маркированы правильно. В консоли личинки отредактируйте строку начальной загрузки и добавьте "selinux=0", чтобы проверить, имеет ли это значение.

1
27.01.2020, 21:29

Теги

Похожие вопросы