Являются ли пользовательские файлы закрытыми, когда в Ubuntu существуют два пользователя sudo?

Я делюсь своим персональным компьютером с Ubuntu с одним из моих коллег.

Я создал другого пользователя с другим паролем (он знает, конечно) и добавил его в sudoer список.

Учитывая, что есть два sudo пользователи в одной системе Ubuntu:

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

  • Могу ли я изменить файлы моего коллеги через sudo команда, даже sudo su, или наоборот?

6 ответов

Решение

Если ваш коллега находится в списке sudoers, он является пользователем root, если вы этого хотите (и он может выдать себя за вас), и тогда он сможет увидеть все.

Это худшая настройка, которую вы можете использовать, если вы хотите конфиденциальности пользователя. Вы должны окончательно прочитать, как работает управление пользователями в Linux. Вот несколько статей, с которых вы можете начать:

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

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

Простая альтернатива - хранить ваши личные данные в зашифрованном файле (это может быть файл архива tar, который вы шифруете, например, с помощью gpg). Вы должны помнить, чтобы переписать и удалить текстовые файлы после просмотра их.

Еще одна альтернатива для всех, кто имеет общий доступ к компьютеру и sudo (root), - это использовать зашифрованный домашний и зашифрованный обмен.

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


В общем, безопасность очень сложна, и однопользовательская система с зашифрованным диском (LVM с шифрованием) будет самым простым способом обеспечения безопасности.

  • Не храните конфиденциальные данные на общем компьютере
  • Не храните личные данные на компьютере, принадлежащем вашему работодателю.

Как только вы сможете получить root разрешения (например, используя sudo,su,так далее).
У вас есть полный доступ к каждому файлу в системе.

Так что оба пользователя, которые имеют sudo разрешение, а может стало root с помощью sudo bash будет иметь полный доступ к каждому файлу в системе

Согласно этому Q&A в SE-Security: Вы можете изменить SELinux (который не является Ubuntu) для того, чтобы ограничить root доступ:

Если ваш вопрос "могу ли я легко и безопасно сделать это сейчас?" ответ - нет. Если ваш ответ "я готов узнать о SELinux, покончить с моим дистрибутивом и смириться с большим количеством вещей, которые не работают", ответ будет таким: можно ограничить root намного больше, чем ваша средняя установка. Тем не менее, это никоим образом не делает вас неуязвимым для эксплойтов - это не делает невозможным для пользователя обойти этот дополнительный контроль доступа ни программно, ни физически.

Чтобы сделать то, что уже было сказано в других ответах, совершенно ясно: этот другой пользователь не только "root столько, сколько вы" (ответ Videonauth), он также может стать вами (переключиться на вашу учетную запись пользователя).

Это потому, что с привилегиями суперпользователя можно переключиться на любую учетную запись.

Вы наверное знаете

sudo su

что является одним из вариантов открытия оболочки root, если root не имеет установленного пароля (поэтому вы не можете просто войти в систему как root напрямую).

su является сокращением от "переключить пользователя". На какого пользователя он переключается? Ни один не указан, верно? Но из справочной страницы мы можем узнать, что:

Вызывается без имени пользователя, по умолчанию su становится суперпользователем.

Так что это эффективно

sudo su root

если вы не переименовали root к чему-то еще.

Если вы просто бежите su <someuser>, вам будет предложено ввести пароль. Так что если вы бежите su root, вам предлагается ввести пароль root (который по умолчанию не существует в Ubuntu, поэтому вы не можете войти в систему (обратите внимание, что пароль не установлен, что означает, что нет средств для входа через пароль, отличный от пароля) будучи пустой строкой)). Но если вы бежите sudo su root, вам предлагается ввести собственный пароль. И вас только об этом попросят sudo, однажды sudo Получив ваш пароль, он запускает полученную команду в качестве параметров с привилегиями суперпользователя. Так как при наличии привилегий суперпользователя можно переключиться на любую учетную запись, запрос пароля не требуется.

Итак, выполнив

sudo su <yourusername>

другой sudoer может войти как вы.

Можно ограничить программы, которые можно запускать с помощью повышения привилегий sudo, отредактировав файл sudoers (/etc/sudoers).

См. Принятый ответ на этот вопрос в Super User для получения дополнительной информации, а также здесь, в Unix и Linux. Смотрите ответ по slm для предложения по ограничению привилегий в /etc/sudoers,

Также проверьте sudoers man страница, набрав man sudoers и не забудьте проверить это. Помните, что при неограниченном доступе sudo пользователь может полностью выдать себя за любого другого пользователя. например, если пользователь foo должны были запустить команду

sudo exec su - bar

тогда они смогут действовать как пользователь barсо всеми привилегиями этого пользователя.

Предыдущие ответы не применяются полностью, если вы отметили encrypt home folder во время установки Ubuntu. Это гарантирует зашифрованные домашние папки для каждого пользователя, даже если root не может читать данные без правильного пароля пользователя / владельца этой домашней папки. Ваша коллега должна будет изменить свой пароль, чтобы прочитать файлы, которые будут замечены.

И, конечно, люди правы, что совместное использование компьютеров с ценными или конфиденциальными данными, а также root-доступ с коллегами не является хорошей идеей.

В зависимости от значения этих данных, я бы посоветовал запросить у вас собственную машину.

Другие вопросы по тегам