Вопрос: Как я могу позволить одному пользователю подключиться к другому без разрешения доступа root?


Я хочу, чтобы некоторые пользователи могли подключиться к другой учетной записи пользователя, не зная пароль этого аккаунта, но не разрешать доступ к какой-либо другой учетной записи пользователя (то есть root).
Например, я хотел бы разрешить Tom DBA su для пользователя oracle, но не для пользователя tomcat или root.

Я предполагаю, что это может быть сделано с файлом / etc / sudoers - возможно ли это? Если да, то как?


47
2018-06-02 15:13


Источник




Ответы:


Да, это возможно.

В / и т.д. / sudoers элемент, следующий за равными, - это пользователь, которому команда будет разрешена выполнять как.

tom  ALL=(oracle) /bin/chown tom *

Пользователь (том) может печатать sudo -u oracle / bin / chown tom / home / oracle / oraclefile


39
2018-06-02 15:18



Это позволит Tom запускать команды в качестве оракула, но не фактически стать пользователем оракула - gharper
Как насчет sudo -u oracle su -? Это даст ему оболочку, открытую как пользователь оракула. Это то, что вы хотите? - Brent
+1 за этот последний комментарий, Брент. Это был бы мой ответ. - Annika Backstrom
Будет работать следующее: sudo -u oracle -s или sudo -u oracle -i (-s для оболочки, -i для входа в систему - это оболочка для входа). К сожалению, я не знаю, что вы будете использовать в / etc / sudoers, чтобы ограничить пользователя, но, учитывая, что вы разрешаете им доступ к оболочке, вы, вероятно, просто хотите сделать tom ALL = (oracle) ВСЕ, как упоминалось выше. Если они могут запускать оболочку, вы, вероятно, не заботитесь об ограничении команд, которые они могут запускать. - Mark
В идеале, не хотите ли вы, чтобы Том выполнял команды как пользователь оракула, а не стал пользователем оракула? Различие незначительно, но оно обеспечивает отличный журнал аудита без необходимости использовать оболочку аудита. - Scott Pack


Добавьте к вашему / etc / sudoers что-то вроде

tom ALL=(oracle) ALL

Затем пользователь tom должен иметь возможность использовать sudo для запуска вещей как пользовательский оракул с опцией -u, не позволяя tom

То есть получив оболочку как пользовательский оракул (ну, учитывая, что ваш sudo является достаточно новым, чтобы иметь опцию -i).

sudo -u oracle -i

34
2018-06-02 15:26



Мне пришлось использовать синтаксис tom ALL=(oracle)NOPASSWD:ALL сделать sudo, чтобы не спрашивать пароль - snowindy


Чтобы ТОЛЬКО предоставить возможности в вопросе, добавьте следующее в / etc / sudoers:

tom            ALL=(oracle)    /bin/bash

Тогда Том может:

sudo -u oracle bash -i

7
2017-12-11 22:44