Мой поставщик прислал мне сервер с установленным Centos5. Они настроили машину для прямого входа в систему с учетной записью root.
С зарегистрированной учетной записью root я могу запустить такую команду:
перезапуск службы httpd
Мне не нравится, что учетная запись root может входить напрямую. Поэтому я добавил «PermitRootLogin no» в файл sshd_config. Затем я создал другого пользователя и поместил его в список sudoer.
Возникает проблема. Когда я вхожу в систему с этим новым пользователем, я больше не могу запускать «служебную команду». Появится запрос: команда не найдена. хотя я "sudo su", я не могу запустить эту команду, может ли кто-нибудь сказать мне, что делать? Спасибо.
Ваша переменная $ PATH не содержит требуемых путей, а при использовании sudo su
ваш $ PATH остается нетронутым.
Однако я бы посоветовал не использовать sudo su -
, лучше использовать:
sudo /sbin/service httpd restart
Выполняйте только требуемую команду от имени пользователя root и не оставляйте корневые оболочки открытыми.
Вы почти там. В следующий раз просто сделайте:
sudo su -
Запуск с «sudo su» означает, что вы используете настройки среды своего обычного пользователя, а не привилегированного пользователя, что означает, что служебная команда не была на вашем пути.
Либо так, либо делай:
/etc/init.d/httpd restart
Если вы хотите полностью обойти служебную команду.
Вы можете использовать полный путь к команде при входе в систему. Пытаться /sbin/service httpd restart
.