Не может войти в сервер RHEL6, поскольку любой пользователь кроме корня - Говорит, что корневой каталог не может быть найден, и разрешение оболочки отклонено

Как вопрос выше состояний, у меня есть сервер RHEL 6, который разработан для доступа SSH с корнем, не могущим входить в систему через SSH дизайном. Когда я в сервере локально, я могу войти в систему как корень, но только как корень. Если я пытаюсь войти в систему в качестве пользователя, экран быстро высвечивает чтение сообщения:

Last Login: Mon Aug 24 08:24:52 on tty1
no directory: /home/user1!
logging in with home="/"
login: no shell: Permission denied

Я не получаю оболочку, потому что нет никакой оболочки в /.

Теперь, что действительно сбивает с толку меня, хотя то, что корневой каталог действительно существует, и содержит допустимую оболочку и является permissioned правом от того, что я могу сказать (755). Это характерно для всех пользователей, которые существовали и были созданы на этом экземпляре сервера. Это, кажется, имеет значение не, если я определяю путь к корневому каталогу, когда я делаю пользователя или позволяю значению по умолчанию принять управление и присвоить его автоматически.

Я ничто не нашел странным в Безопасном журнале или журнале сообщений, только что пользователь успешно вошел в систему (который они имеют, но ничего не могут сделать без оболочки),

Я надеюсь не должен переустановить в этой точке, но нет почти никаких данных по серверу, который был бы потерян, если это - единственная опция.

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

Править:

Я использовал useradd user1 управляйте для исходного добавления пользователя, когда это привело к проблемам выше, я использовал

mkdir /home/user1 && useradd user1 -d /home/user1 && chown -R user:user1 /home/user

Когда я работаю cat /etc/passwd | grep user1 команда я добираюсь:

user1:x:513:517::/home/user1:bin/bash

и когда я работаю ls -l /home управляйте, чтобы запись для того пользователя была:

drwxr-xr-x. 4 user1 user1 4096 Aug 19 17:03 user1
0
задан 24 August 2015 в 17:20
4 ответа

Мне удалось решить проблему, выполнив команду

for p in $(rpm -qa); do rpm --setperms $p; done

и перезапустив сервер. После перезапуска я не только смог войти в систему как любой созданный пользователь, но и снова смог использовать графический интерфейс. Это указывает на поврежденные права доступа к файлам где-то в системе. Как они испортились, я не знаю, но теперь все работает.

1
ответ дан 4 December 2019 в 16:50

useradd должен создать домашний каталог, если передана правильная опция, и вам не нужно (или не нужно) создавать их вручную. Я предлагаю вам выполнить следующее (в указанном порядке), чтобы удалить и воссоздать вашего пользователя должным образом.

userdel -f -r user1
useradd -m user1

ПРИМЕЧАНИЕ: вам не нужно передавать параметр -d , поскольку по умолчанию будет / home / user1 в данном случае.

0
ответ дан 4 December 2019 в 16:50

Единственная проблема, которую я вижу в ваших настройках, - это ваш файл passwd. Попробуйте изменить user1: x: 513: 517 :: / home / user1: bin / bash к user1: x: 513: 517 :: / home / user1: / bin / bash .

0
ответ дан 4 December 2019 в 16:50

У меня была такая же проблема на машине с CentOS 6. Это была проблема с файлами в / home с неправильной маркировкой контекстов безопасности SELinux. Один из комментаторов выше, Майкл Хэмптон, сказал, что проверка / var / log / audit / audit log была правильной. Я последовал его совету и заметил, что здесь возникла проблема с SELinux. Решение, которое исправило это для меня, было:

sudo restorecon -Rv /home

Это рекурсивно восстановит метки контекста безопасности по умолчанию для всех файлов в домашнем каталоге. После этого доступ по ssh по публичному ключу был восстановлен.

0
ответ дан 4 December 2019 в 16:50

Теги

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