Более традиционная версия грязной шутки echox отправленный:
СЕНСОРНЫЕ GREP РАЗАРХИВИРОВАЛИ, МОНТИРУЮТ FSCK FSCK FSCK UMOUNT
Единственным путем я могу думать о выполнении такой вещи, должен был бы создать учетную запись в /etc/passwd
(и /etc/shadow
) с uid 0 (для полного доступа) или который принадлежит группе (группам), которые обеспечивают надлежащий доступ.
Затем установите пароль, говоря первому человеку первые пять символов и второго человека другие пять символов. Так как пароли больше не имеют предел восьми символов (как былые времена), можно сделать это для стольких людей, сколько Вам нравится (например, 20 символьных жал с четырьмя символами, даваемыми каждому из пяти человек).
Конечно, однажды в учетной записи, они могли просто изменить пароль к чему-то, что любой из них мог использовать (в случае uid = 0). Таким образом, если Вы действительно доверяете проблемы как это, затем у Вас есть большие проблемы на Вашей руке, чем это.
Требование двойного одобрения для определенных действий является частью некоторой политики безопасности; например:
Вы отметите, что это не об аутентификации (например, ввод пароля, чтобы показать, что Вы - то, кем Вы симулируете быть), но об авторизации, т.е. решающий, разрешены ли определенные действия.
Для дополнительного чтения я рекомендую Разработку безопасности Ross Anderson. Купите последний выпуск, если Вы можете, но иначе первый выпуск доступен онлайн. Самой соответствующей главой является “Управление доступом”; существуют примеры в главах по банковской и ядерной команде.
Unix предлагает простую модель обеспечения безопасности только с двумя уровнями: пользователь и суперпользователь. Это - оба сила (простой, означает, что меньше места для ошибок в разработке и реализации самой системы и политики безопасности) и слабость (сложной политики безопасности нельзя выразить исходно). Если Вы волнуетесь по поводу пользователя жулика, получающего корень, не давайте ему корневые полномочия. Существуют, очень немногие проверяют то, что делает корень; единственное ограничение состояло бы в том, что действие получения корня может быть зарегистрировано удаленно, как может определенные внешние действия (сетевой трафик). Пользователь жулика мог симулировать хотеть получить корень, чтобы сделать определенную вещь и на самом деле сделать другого при сокрытии его действий от другого пользователя. Таким образом, Вы не получили бы много безопасности, требуя, чтобы корневой доступ исследовался другим пользователем. С другой стороны Вы потеряли бы безопасность путем сокращения доступности корневого доступа (я заключаю, что Вы хотите предоставить меньше корневого доступа доверяемых пользователей для служения в качестве резервных копий, если что-то идет не так, как надо; двойное одобрение увеличило бы нагрузку много).
Двойное одобрение полезно для определенных действий: Alice говорит, “авторизуйте меня, действительно делают X”, Bob говорит, что “Я разрешаю Alice делать X”, и система работает X (X, может быть, например, передача 1 000 000 000$ от одного банковского счета до другого, или уничтожения Москвы или отклонения редактирования). Если Alice говорит, “разрешите меня делать что-либо, что я хочу”, и Bob соглашается, весь Bob делает, повторяет то, что Вы (политик) уже сказали, а именно, что Alice может быть разрешена сделать что-либо. Вы могли бы также сделать Alice sudoer.
Я не знаю ни о какой существующей системе на Unix, чтобы сделать, чтобы многочисленные пользователи утвердили определенные команды в подобной sudo платформе.
Просто незначительный комментарий к математическим проблемам здесь. Одна проблема с разделением пароля состоит в том, что наличие половины пароля помогает взломать остальных. Однако существуют способы указать два сведения, которые объединяются для предоставления ключа в таком способе, которым любая одна информация отдельно не дает справки вообще.
Довольно простой пример этого состоит в том, чтобы сказать: "Ключ является суммой этих двух чисел, по модулю 10". Затем каждый человек получает число между 0 и 9, но то число отдельно не дает им информации. Если Alice имеет 3, то ключ мог все еще быть абсолютно чем-либо между 0 и 9, таким образом, она все еще имеет преимущество во взламывании кода. Это только, когда Bob появляется и имеет 9, что вместе они могут получить доступ к системе с ключевыми 2.
Конечно, в практической ситуации Вы хотели бы способ гарантировать, что Alice и Bob могли ввести их ключи без другого наблюдения их.
Для этой ситуации я согласился бы с другими. Ограниченный доступ через sudo
(прочитайте руководство) вместе с хорошим входом. Затем, если они действительно попытаются сделать что-то плохо, то у Вас будут журналы (который они не получили доступ к тому, потому что Вы только дали им ограниченный доступ!).
У Вас мог быть процесс, который работает в фоновом режиме как корень, который проверяет на определенные условия, что оба пользователя должны выполнить, и затем копируют в/etc/sudoers и удаляют его снова после нескольких минут. Обоим пользователям придется коснуться файла с с сегодняшней датой как имя файла в их корневом каталоге, например. Фоновый процесс мог удалить этот файл или игнорировать его после того, как он использовался однажды.
Я также думаю, что PAM имеет поддержку экзотических типов аутентификации (как цифровые отпечатки и карты), таким образом, PAM могло бы стоить изучить.
Я не знаю ни о какой подобной программе.
Я думаю в целом, это испорчено и не дает Вам больше безопасности, чем разрешение доверительного доступа отдельного пользователя к ограниченным командам.
Лично, я не дал бы никому, кого я не знал лично sudo доступа, даже к подмножеству команд, потому что слишком легко пропустить что-то и предоставить им доступ, который Вы не ожидаете.
Доверяйте им или не доверяйте им, создавание слоев не совсем доверчивых их не помогает.
Это, вероятно, легко реализовать, создав суперпользователя, почему у него длинный пароль, первая половина от первого авторизованного пользователя, вторая от другого (что-то вроде paul_john, где paul и john - обычные пользователи).
Недостатком является то, что вам потребуется такая учетная запись для каждой пары пользователей, но это не потребует каких-либо изменений в программном обеспечении. Эти учетные записи могут быть перечислены в / etc / sudoers, авторизуя их для необходимых действий.
Убедитесь, что у вас есть политика: учетная запись должна быть немедленно отключена, если один из авторизованных пользователей покинет терминал.
Esto puede ser lo que estás buscando:
https://github.com/square/sudo_pair
sudo_pair is a plugin for sudo that requires another human to approve and monitor privileged sudo sessions.
sudo
- как программа просят некоторые пароли и обеспечивают оболочку непосредственно. Или программа пространства пользователя могла собрать различные секреты для раскрытия маркера, который позволяет корневой вход в систему (маркер, не распечатанный пользователям, например, ключу SSH для входа в систему как корень на localhost). Существуют алгоритмы, которые работают с любой группой пользователей из группы, видят, что WP:Secret совместно использует; – Daniel Böhmer 24.06.2011, 17:50