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

Невозможно выполнить su другому пользователю, кроме root в CentOS

Я могу подключиться к моему серверу (CentOS 5.9) по SSH, используя учетную запись администратора с привилегиями sudo:

$ ssh admin@myserver
Last login: Wed Feb 27 19:23:11 2013 from [IP ADDRESS]
[admin@myserver ~]$

Затем я могу su получить root:

[admin@myserver ~]$ sudo su root
[sudo] password for admin: 
[root@myserver admin]# 

Но я не могу передать su другому пользователю, и команда su не сообщает мне, почему:

[admin@myserver ~]$ sudo su anotheruser
[admin@myserver ~]$ whoami
admin

Любая идея, почему я могу получить root-права, но не для других пользователей?

Как я могу заставить su сказать мне, почему он не выполняет то, что я хочу?

На случай, если это будет полезно кому-то еще: я столкнулся с теми же симптомами, но ответ не имел ничего общего с sudo конфигурация.

Вместо этого имело значение, какой пользователь Я пытался su к. Целевым пользователем был псевдопользователь службы (jenkins), у которого в качестве оболочки был / bin / false. Исправление заключалось в том, чтобы изменить оболочку на действительную (используя chsh).

Проверьте /var/log/security и /var/log/auth.log.

Почему вы используете sudo использовать su? Вам не нужно этого делать, если вы не измените свои стандартные ACL.

Если вы используете sudo, то проблема может быть связана с файлом sudoer. Убедитесь, что он настроен правильно.

Какие разрешения предоставляются в /etc/sudoers к admin?

Также, как rootты всегда мог su - anotheruser. Возможно, это дополнительный шаг, но ничего не зная о вашем файле sudoers, это сработает.