Я не Могу войти в систему как корень с командой su, но я могу с SSH

Возвращение от машинного кода до исходного языка называют декомпиляцией. Дизассемблирование (идущий от машинного кода до ассемблера) может быть, покончили objdump -d; objdump часть стандарта binutils комплект средств разработки. В то время как декомпилятор может быть полезным инструментом в процессе, декомпилируя код с намерением изменения его, и перекомпиляция его редко является продуктивным способом изменить поведение программы. Вы проведете много времени, возвращая применимый исходный код, и что исходный код не будет ни в какой удобной в сопровождении форме.

Первый шаг в понимании, как программа работает, является средствами отладки. Используйте инструменты такой как strace и ltrace видеть, что системные вызовы и библиотека называют программой, делает. Используйте отладчик, такой как Gdb для продвижения через инструкции программы.

Если Вы очень удачливы, поведение, которое Вы ищете, может быть достигнуто с конфигурационным файлом или переменной среды. Следующий шаг сцепляется в программу и заменяет несколько функций Вашей собственной версией, при помощи LD_PRELOAD связать библиотеку, определяющую Вашу собственную версию этих функций.

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

17
26.02.2014, 12:14
3 ответа
[118525] В своем комментарии вы сказали, что в [118805]/bin/su[118806] имеется следующий режим/владелец:

Здесь есть две проблемы.

  1. необходимо, чтобы бит set-uid был включен, чтобы он всегда работал с правами root, иначе, когда его запускает обычный (не корневой) пользователь, у него не будет доступа к информации о пароле в [119158]/etc/shadow[119159], а также не будет возможности настроить userid для желаемого нового пользователя.

он должен иметь выключенные биты записи [119160] группы [119161] и [119162] другие [119163], чтобы другие пользователи не могли его изменить.

Чтобы это исправить, войдите в систему как [118811] root[118812] - вы сказали, что можете это сделать с помощью [118813]ssh[118814] - и наберите

или, в качестве альтернативы,

(В документе [118815] по стандартам для chmod[118816] более подробно описано, какие аргументы он использует)). Это восстановит биты режима в том виде, в каком они были при первой установке операционной системы. Когда вы перечисляете этот файл, он должен выглядеть следующим образом:

Как отметил @G-Man, файлы, находящиеся в режиме 777, могут быть перезаписаны недоверенными пользователями, и если это так, вы можете захотеть переустановить их с дистрибутивного носителя или из резервной копии.[118538].

23
27.01.2020, 19:46
[112529]1. группа wheel?[12235]Скорее всего, это потому, что ваше использование не входит в группу [113109]wheel[113110]. На дистрибутивах Red Hat Вы можете явно запретить пользователям, не входящим в эту группу, выполнять команду [113111]su[113112]. [12236] Вот как выглядит конфигурация PAM [113113]su[113114] по умолчанию:[12237] Эта строка может ограничивать доступ к команде [113115]su[113116] для пользователей в группе [113117]wheel[113118]:[12238] Со звучания этой строки она включена, и вашему пользователю не разрешается выполнять команду [113119]su[113120].[12239]SSH работает, так как он проходит через другой механизм PAM. SSH также имеет свои собственные средства для ограничения доступа к логинам root. Корневые логины обычно разрешены по умолчанию, по крайней мере, на большинстве дистрибутивов Red Hat:[12240]Несмотря на то, что вышесказанное прокомментировано, это настройка по умолчанию, и именно так OpenSSH показывает, что это настройка по умолчанию в конфигурациях. [12241]Работая с этим?[12242]Если ваша система настроена таким образом, вы можете добавить ваше имя пользователя в группу [113121]wheel[113122].[12243]После выхода из системы и обратно в:[12244]ПРИМЕЧАНИЕ:[113124] Мой пользовательский идентификатор - "saml" выше.[12245]2. Права доступа прямо на su?[12246]Проверьте, что исполняемый файл принадлежит root.[12247]Также убедитесь, что в исполняемых файлах включены биты [113125]s[113126]. Это делает их setuid, так что когда они выполняются, они запускаются как свои собственные, root.[12248]3. Что говорят журналы?[12249] Когда вы пытаетесь выполнить команду [113127]su -[113128], вы должны увидеть записи в [113129]/var/log/secure[113130] о попытке. [12250] Проконсультируйтесь с этим журналом, чтобы узнать, получили ли вы дополнительную информацию.[12251]4. Вы уверены, что проблема не в пароле?[12252]Когда я пытаюсь войти, используя [113131]su -[113132], я получаю следующее, когда даю неверный пароль:[12253]Я пытаюсь создать другую учетную запись и посмотреть, может ли эта вторичная учетная запись успешно работать [113133]su -[113134].[112568].
10
27.01.2020, 19:46

Если вы получаете такое сообщение об ошибке

su: PAM adding faulty module: /lib64/security/pam_tally.so
su: PAM unable to dlopen(/lib64/security/pam_tally.so): /lib64/security/pam_tally.so: cannot open shared object file: No such file or directory

Выполните следующий шаг:

ln -s /lib64/security/pam_tally2.so /lib64/security/pam_tally.so

Затем попробуйте su. Он должен работать.

0
27.01.2020, 19:46

Теги

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