Запуск команд от имени другого пользователя без пароля - sudo не работает?

Не будет конфликтов файлов при установке KDE Plasmaи ГНОМ; однако, если вы хотите сэкономить место:

Используйте эту команду для удаления Gnome Desktop:

yum remove @gnome-desktop 
0
13.09.2016, 18:50
2 ответа

Из справочной страницы sudo :

-i, --login
             Run the shell specified by the target user's password data-
             base entry as a login shell. 

Ваш userB имеет / bin / false в качестве оболочки, поэтому эта команда запущен.

% /bin/false ; echo $? 
1

Чтобы исправить это, вам нужно изменить оболочку пользователя B на / bin / bash (или / bin / sh или как вам больше нравится) или не используйте флаг -i для sudo. Вам нужна оболочка входа?

1
28.01.2020, 02:27

Параметр -i в sudo пытается создать оболочку входа в систему, которая, в свою очередь, запускает оболочку, выбранную пользователем. Вы установили это на / bin / false в вашем / etc / passwd :

$ grep userB /etc/passwd
userB:x:Z08:WW9::/home/userB:/bin/false

Попробуйте запустить:

sudo -u userB ls

Если это работает, значит, все работает так, как вы его настроили. к. Если вам нужна интерактивная оболочка, используйте вместо нее -s , которая не будет вызывать оболочку входа пользователя.

Если вам нужна полная оболочка для входа в систему, вы должны изменить оболочку пользователя на

sudo chsh -s /bin/bash userB
2
28.01.2020, 02:27

Теги

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