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

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

На Un * x: когда-нибудь было хорошей идеей иметь один идентификатор пользователя, в который входит много разных людей, когда они что-то делают?

Часто я устанавливаю программное обеспечение или что-то еще в системе Linux или BSD. Я разрабатываю программное обеспечение уже 24 года, поэтому я знаю, как заставить машину делать то, что я хочу, но у меня никогда не было ответственности за поддержку многопользовательской установки, когда кто-то действительно заботился о безопасности. Так что мое мнение кажется непроверенным.

Теперь я работаю в компании, где есть сервер, на который многие люди входят с одним идентификатором пользователя и делают разные вещи. Устанавливаю на него какое-то программное обеспечение. На самом деле это не общедоступный сервер и доступен только через VPN, но, тем не менее, он используется многими людьми для запуска тестов пользовательского программного обеспечения и тому подобного. Это промежуточный сервер.

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

Но опять же, с большим количеством идентификаторов пользователей, возможно, больше шансов, что кто-то будет скомпрометирован, что позволит злоумышленникам получить доступ.

?

Как вы сказали, для целей аудита это крайне неидеально. Имея несколько идентификаторов пользователей, вы позволяете себе видеть ВОЗ делается какие на чем время. Это не значит, что это надежно. На самом деле ничто не мешает им либо сообщить друг другу свои учетные данные, либо другие пользователи украдут учетные данные.

Если вы создаете программное обеспечение на заказ, я вижу, что ваш самый большой риск исходит от того, что кто-то задается вопросом, что rm -rf делает в корневом каталоге, среди других потенциально ужасных вещей (но вы тестировали резервные копии ....право?)

Используйте отдельные UID. Наличие нескольких пользователей с одним и тем же UID делает невозможным определить, кто есть кто. Любой обратный поиск от UID до имени журнала становится ненадежным.

Стандартным решением ваших задач является установка и использование sudo. sudo позволяет вам предоставлять возможность запускать программы от имени другого пользователя любым пользователям или группам пользователей по вашему желанию. В sudoers file обеспечивает значительную гибкость в выборе того, кому и что разрешено. Действия, выполняемые с использованием sudo обычно регистрируются.

Некоторые дистрибутивы блокируют root и используют sudo чтобы позволить пользователям выполнять действия, которые должны выполняться как root.

Можно и часто разрешать пользователям выполнять su, или используйте -i возможность стать другим пользователем. Это несколько сокращает контрольный журнал, но, связанный с учетом процессов, вы можете получить очень хороший контрольный журнал.

Помните, что любой, у кого есть root-доступ, обычно может обойти ваш контрольный журнал. Не давайте людям root-доступ, если вы им не доверяете.

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

Я думаю, что лучший способ для вас - создать 2 или 3 группы и по одному идентификатору пользователя в каждой, чтобы вы могли хотя бы управлять группами (что требует меньше времени и усилий, чем отдельный идентификатор пользователя для каждого пользователя) и дать вам некоторую возможность разрешений и аудита.