Site icon IT Draft

[Решено] Авторизация в Linux из терминала – Permission denied. Could not set limit for ‘nofile’

[Решено] Авторизация в Linux из терминала - Permission denied. Could not set limit for 'nofile'

Permission denied. Could not set limit for ‘nofile’

limits.conf – конфигурационный файл для pam_limits.so модуля. Он определяет ulimit лимиты для пользователей и групп. В Linux есть системные вызовы: getrlimit() и setrlimit() для получения и установления лимитов на системные ресурсы. Конфигурация по-умолчанию лежит в /etc/security/limits.conf

При попытке авторизации из консоли виртуализации любым пользователей появляется сообщение: Permission denied, и далее идет срока ввода логина, т.е. следующая попытка авторизации.
При попытке авторизации через ssh-клиент (putty), окно программы закрывается.

Загружаем ОС в однопользовательском режиме. Для этого во время загрузки ОС при выборе ядра жмем “е” и меняем “ro” на “rw init=/sysroot/bin/sh
Для загрузки нажимаем Ctrl+X

Далее выполняем команду

# chroot /sysroot

Сама ошибка отображается в лог-файле /var/log/secure (для Centos)

Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров

Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.


...
PAM pam_open_sessiob(): Permission denied
...
Could not set limit for 'nofile': Operation not permitted

Смотрим установленный лимит на максимально количество открытых файлов

# cat /etc/security/limits.conf

Допустимый диапазон значений для nofile: 1-1048576

У меня он был выше разрешенного

После внесения изменений выполняем команду, чтобы включить перемаркировку SELinux, и изменения применились

# touch /.autorelabel

Перезагружаем систему

# reboot -f
Exit mobile version