Я использую Google Compute Engine, на котором работает Debian Wheezy 7.4.
Я недавно замечал странные вещи. Например, я могу сделать sudo bash . Но затем из root я не могу выполнить sudo -u anotherUser bash или su -l anotheruser -c bash .
И, что еще более важно, я не могу запустить новые экземпляры экрана GNU. Если я пытаюсь запустить новый экземпляр, он немедленно выключается, и я получаю сообщение [screen is terminating] . В тех случаях, когда были запущены, я не мог запустить больше окон.
Тогда я обнаружил, что у всех было общего: bash !
Я могу сделать screen zsh или screen sh .
Я могу сделать sudo bash а затем sudo -u anotheruser zsh или su -l anotheruser -s zsh но НЕ su -l anotheruser -c zsh .
Обратите внимание , что я входе в систему с Баш и я могу сделать sudo bash Но я не могу использовать bash для sudo или su от пользователя root и не могу использовать bash для screen оболочки.
Я перезагрузился. Да, это меня так сильно беспокоило, что я фактически перезагрузил свой сервер.
Я понятия не имею, что может вызвать это, и я немного волнуюсь.
Мои файлы конфигурации bash (насколько я знаю, они не изменились по умолчанию):
/etc/bash.bashrc: http://pastebin.com/CsjeJBYd~/.bashrc: http://pastebin.com/YfkAZUv9
Завершение bash работает в основной (логин) оболочке.
Вот информация, запрошенная Гленном Джекманом:
$ md5sum /bin/bash /usr/bin/bash
144968564a6b1159ed82059920cea76f /bin/bash
md5sum: /usr/bin/bash: No such file or directory
$ getent passwd anotheruser
anotheruser:x:1004:1004::/home/anotheruser:/bin/bash
Также я подумал о другом тесте. Это работает:
$ echo $(bash -c 'echo Hello, World!')
В чем дело?
