Назад | Перейти на главную страницу

Почему я не могу выполнить команду от имени другого пользователя в CentOs?

Раньше на удаленном сервере было возможно выполнить команду от имени другого пользователя, используя sudo -u команда, но в последнее время мне не удавалось этого сделать. Когда я это сделаю, я получаю следующую ошибку:

sudo -u lool ./autogen.sh 
/var/tmp/scltjLjKc: line 8: -u: command not found

поэтому мне приходится прибегать к sudo-ing для root, а затем su к пользователю, прежде чем я смогу выполнить команду. Что могло быть причиной этого?

Поскольку ответа на этот вопрос так и не было, комментарий Зоредаш верен. Установка одного из devtoolset-* коллекции программного обеспечения несут ответственность за эту проблему. Я не могу представить, кто думал об угоне sudo было разумным и ответственным поступком.

Самый быстрый способ решить эту проблему, не вмешиваясь в свой путь и, возможно, нарушая только что установленные инструменты разработки, - это сделать следующее:

# alter the file, so that it won't get overwritten by updates
echo '### garbage ####' >> /opt/rh/devtoolset-2/root/usr/bin/sudo
# make it non-executable so your system won't try to run it
chmod -x /opt/rh/devtoolset-2/root/usr/bin/sudo

Конечно, заменить devtoolset-2 с любой версией, которую вы используете.