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

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

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

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

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

  • Можно ли изменить файлы моего коллеги с помощью команды sudo, даже sudo su или наоборот?

31
задан 30 November 2017 в 18:37

6 ответов

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

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

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

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

52
ответ дан 30 November 2017 в 18:37

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

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

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


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

  • Не храните конфиденциальные данные на общем компьютере
  • Не храните личные данные на компьютере, принадлежащем вашему работодателю
19
ответ дан 30 November 2017 в 18:37
  • 1
    don' t пишут сценарий перезагрузки во что-либо, что Вы отправляете где-нибудь как это. Люди скопируют и вставят, не думая и затем случайно перезагрузят свой сервер. – Paul Thompson 26 August 2013 в 19:11
  • 2
    don' t пишут сценарий перезагрузки во что-либо, что Вы отправляете где-нибудь как это. Люди скопируют и вставят, не думая и затем случайно перезагрузят свой сервер. – Paul Thompson 26 August 2013 в 19:11
  • 3
    don' t пишут сценарий перезагрузки во что-либо, что Вы отправляете где-нибудь как это. Люди скопируют и вставят, не думая и затем случайно перезагрузят свой сервер. – Paul Thompson 26 August 2013 в 19:11
  • 4
    don' t пишут сценарий перезагрузки во что-либо, что Вы отправляете где-нибудь как это. Люди скопируют и вставят, не думая и затем случайно перезагрузят свой сервер. – Paul Thompson 26 August 2013 в 19:11
  • 5
    don' t пишут сценарий перезагрузки во что-либо, что Вы отправляете где-нибудь как это. Люди скопируют и вставят, не думая и затем случайно перезагрузят свой сервер. – Paul Thompson 26 August 2013 в 19:11
  • 6
    don' t пишут сценарий перезагрузки во что-либо, что Вы отправляете где-нибудь как это. Люди скопируют и вставят, не думая и затем случайно перезагрузят свой сервер. – Paul Thompson 26 August 2013 в 19:11

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

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

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

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

8
ответ дан 30 November 2017 в 18:37

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

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

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

sudo su

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

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

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

Таким образом, это действительно

sudo su root

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

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

Таким образом, выполнив

sudo su <yourusername>

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

5
ответ дан 30 November 2017 в 18:37

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

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

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

sudo exec su - bar

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

3
ответ дан 30 November 2017 в 18:37

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

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

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

0
ответ дан 30 November 2017 в 18:37

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

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