Как это возможно, что я не могу войти в систему как пользователь root su root
или su
(я получаю ошибку неверного пароля), но я могу войти в систему ssh root@localhost
или ssh root@my_local_IP
с тем же паролем?
Я использую CentOS 6.4.
Обновление 1 :
cat /etc/pam.d/su
дает:
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session optional pam_xauth.so
Обновление 2 :
$ sudo grep su /var/log/secure | grep -v sudo
дает:
Feb 23 13:12:17 fallah su: pam_unix(su:auth): authentication failure;
logname=fallah uid=501 euid=501 tty=pts/0 ruser=fallah rhost= user=root
повторил около 20 раз.
centos
login
authentication
su
Alireza Fallah
источник
источник
/etc/securetty
(cp /etc/securetty{,.old}; : > /etc/securetty
). Если это все еще не работает, предоставьте содержание/etc/pam.d/su
.ssh 192.168.1.218
тобой заходишь как сам? Для входа в систему как root черезssh
обычно нужноssh root@192.168.1.218
илиssh root@localhost
.echo $$
), откройте (например, черезssh
) корневую оболочку (необходимо для отслеживания двоичных файлов SUID) и запуститеstrace
эту оболочку:strace -o su.strace -p 12345 -f
и найдите странные ошибки перед сообщением об ошибке. Или скопируйте последние 30 строк перед сообщением об ошибке в свой вопрос, если вы не знакомы с такого рода выводом.Process 11736 attached - interrupt to quit
chmod 4755 /bin/su
чтобы исправить это.Ответы:
В своем комментарии вы сказали, что
/bin/su
имеет следующий режим / владельца:Здесь есть две проблемы.
ему нужно включить бит set-uid, чтобы он всегда работал с правами root, иначе, когда его запускает обычный (не root) пользователь, он не будет иметь доступа ни к информации о пароле,
/etc/shadow
ни к возможности установить ID пользователя для нового пользователя.он должен иметь отключенные биты записи
group
иother
записи, чтобы другие пользователи не могли его изменить.Чтобы это исправить, войдите как
root
- вы сказали, что можете сделать это сssh
- и введитеили, альтернативно,
(В документе стандартов для chmod более подробно рассказывается о том, какие аргументы он принимает.) Это восстановит биты режима такими же, какими они были при первоначальной установке операционной системы. Когда вы перечисляете этот файл, он должен выглядеть так:
Как заметил @ G-Man, файлы в режиме 777 могут быть перезаписаны ненадежными пользователями, и в этом случае вы можете переустановить их с носителя или резервных копий.
источник
chmod 755 /bin/su
чего нужны дополнительные 4 ?4
В первом положении представляет собой UID-множественное разрешения. Я отредактировал свой ответ, чтобы добавить альтернативный способ использования chmod, используя символические имена для битов прав доступа. Надеюсь, это будет более понятно.chmod -R 777 /bin
по ошибке, и именно поэтому я был проклят: Drpm
для восстановления прав доступа к файлам, но я не пробовал.1. колесная группа?
Вероятно, это потому, что ваш useid отсутствует в
wheel
группе. В дистрибутивах Red Hat вы можете явно запретить пользователям запускатьsu
команду пользователям, не входящим в эту группу .Вот как
su
выглядит конфигурация PAM по умолчанию:Эта строка может ограничить доступ к
su
команде для пользователей вwheel
группе:Судя по всему, это включено, и ваш ID пользователя не может управлять
su
командой.SSH работает, так как проходит через другой механизм PAM. SSH также имеет свои собственные средства для ограничения доступа к корневым учетным записям. Вход в систему root обычно разрешен по умолчанию, по крайней мере в большинстве дистрибутивов Red Hat:
Несмотря на то, что вышеприведенное закомментировано, это значение по умолчанию, и именно так OpenSSH показывает, что это значение по умолчанию в конфигах.
Работаете с этим?Если ваша система настроена так, вы можете добавить свое имя пользователя в
wheel
группу.После выхода из системы и обратно:
ПРИМЕЧАНИЕ. Мой идентификатор пользователя - "saml" выше.
2. Разрешения права на су?
Убедитесь, что исполняемый файл принадлежит root.
Также убедитесь, что исполняемые файлы имеют свои
s
биты включены. Это делает их setuid, так что когда они выполняются, они запускаются как свои собственные, root.3. Что говорят логи?
Когда вы попытаетесь выполнить
su -
команду, вы должны увидеть записи/var/log/secure
о попытке.Обратитесь к этому журналу, чтобы увидеть, если вы получите дополнительную информацию.
4. Вы уверены, что пароль не проблема?
Когда я пытаюсь войти в систему, используя
su -
неправильный пароль, я получаю следующее:Я бы попытался создать другую учетную запись и посмотреть, может ли эта дополнительная учетная запись работать
su -
успешно.источник
usermod -a -G wheel my_username
и результатgroups
-fallah wheel
. Итак, результатcat /etc/pam.d/su
теперь в моем вопросе, И, опять же, я не могу войти в систему как пользователь root с помощью команды su !!!/var/log/secure
:Feb 24 10:19:45 fallah su: pam_unix(su:auth): authentication failure; logname=fallah uid=501 euid=501 tty=pts/2 ruser=fallah rhost= user=root
/var/log/secure
su: incorrect password
- и пароль правильный, потому что я могу войти с тем же паролем в SSHsu alireza
, и снова та же проблемаЕсли вы получаете сообщение об ошибке, подобное этому
Сделайте этот шаг:
Тогда попробуйте su. Он должен работать.
источник