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

Кажется, что для Ubuntu 14.04 существует поддержка NVIDIA для Optimus - имя Prime:

http://www.webupd8.org/2013/12/more-work-to-support-nvidia -optimus.html

Существует также некоторое приложение-индикатор, помогающий процессу:

http://www.webupd8.org/2013/12/more-work- to-support-nvidia-optimus.html

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

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

18 ответов

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

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

https://help.ubuntu.com/stable/ubuntu-help/user-accounts.html Как управлять пользователями и группами? https://help.ubuntu.com/community/EncryptedHome

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

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

52
ответ дан 22 May 2018 в 15:46
  • 1
    Хотя убедитесь, что sudo -i не работает :) – Wilf 1 December 2017 в 10:34
  • 2
    В то время как простейшая и наиболее распространенная конфигурация sudoers заключается в том, чтобы временно разрешить список привилегий root, sudoers позволяет осуществлять мелкомасштабный контроль доступа. Например, вы можете указать, что пользователь может выполнять только определенные команды с правами root. Если вы заботитесь только о том, чтобы пользователь мог выполнять команды, которые не позволяют создавать корневую оболочку или иным образом создавать постоянный корневой доступ, выходящий за пределы возможностей команд, которые вы хотите разрешить, вы можете избежать предоставления им root-доступа в целом. – bgvaughan 1 December 2017 в 21:44

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

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

https://help.ubuntu.com/stable/ubuntu-help/user-accounts.html Как управлять пользователями и группами? https://help.ubuntu.com/community/EncryptedHome

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

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

52
ответ дан 18 July 2018 в 02:18

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

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

https://help.ubuntu.com/stable/ubuntu-help/user-accounts.html Как управлять пользователями и группами? https://help.ubuntu.com/community/EncryptedHome

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

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

52
ответ дан 24 July 2018 в 17:31

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

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

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

В целом безопасность очень сложная, и один

Не хранить конфиденциальные личные данные на общем компьютере Не хранить личные данные на компьютере, принадлежащем вашему работодателю.
20
ответ дан 22 May 2018 в 15:46
  • 1
    Контейнер dm-crypt / LUKS не должен беспокоиться о перезаписывании файлов открытого текста (за исключением временных файлов любых приложений и подкачки) или одного зашифрованного каталога ~ / .Private с ecryptfs-mount-private – Xen2050 30 November 2017 в 23:04
  • 2
    Это даже не защищает вас от злодеев: другой пользователь sudo может изменить систему, чтобы обмануть вас, давая им вашу кодовую фразу. Такой вопрос следует читать как «Я подозреваю, что мой коллега был русским шпионом. Должен ли я дать ему права sudo на моем компьютере? & Quot; – sleblanc 1 December 2017 в 00:05
  • 3
    Как насчет виртуальной машины с зашифрованным изображением диска? blogs.oracle.com/scoter/&hellip – leftaroundabout 1 December 2017 в 02:28
  • 4
    Если вам нужна конфиденциальность, вам нужна однопользовательская система , другими словами, нет другого пользователя, определенно нет другого пользователя sudo. Ubuntu LVM с системой шифрования уязвим для злодеев. Тем не менее, я думаю, что это лучше, чем другие простые альтернативы, включая зашифрованный дом. Конечно, если вы хотите, вы можете зашифровать диск и зашифрованный дом и систему с одним пользователем, чтобы усложнить работу злоумышленника, например, согласно этой ссылке, iso.qa.ubuntu.com/ qatracker / вехи / 363 / сборки / 126342 / & hellip; – sudodus 1 December 2017 в 11:06
  • 5
    Все, что требуется новому пользователю root, - это установить руткит ядра как диаморфин. Даже не нужно беспокоиться о том, чтобы обманывать с помощью userland LD_PRELOAD хаков: просто сделайте простой регистратор нажатия клавиш и бросьте его на некоторые скрипты python, чтобы выполнить некоторую нечеткую сегментацию K-средних, основанную на времени / группировке ввода, и некоторый текст разобрать и сделать. Теперь у вас есть ключевая фраза для пользователя и, скорее всего, получите их личные данные. – DevNull 3 December 2017 в 07:51

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

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

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

Если ваш вопрос «я могу легко и безопасно сделать это сейчас?» ответ - нет. Если вы ответите: «Я готов узнать о SELinux, спуститься и загрязнить свой дистрибутив и смириться с множеством вещей, которые не работают», ответ заключается в том, что можно ограничить корень намного больше, чем средняя установка. Тем не менее, это никоим образом не делает вас неуязвимыми для эксплойтов - это не делает невозможным для пользователя обходить этот дополнительный контроль доступа либо в программном обеспечении, либо физически.
9
ответ дан 22 May 2018 в 15:46
  • 1
    Вы можете ограничить root с помощью apparmor и selinux, однако, кто-то с полным доступом к корню или доступом через оболочку восстановления или Live CD, либо с помощью системы (apparmor, либо selinux) может изменить ее. – Panther 30 November 2017 в 19:39
  • 2
    Даже если вы используете SELinux или такой, чтобы ограничить то, что может сделать root, они могут по-прежнему иметь возможность изменять утилиты, которыми управляют пользователи. И если они должны иметь возможность запускать какие-либо обновления, им потребуется доступ для изменения бинарных файлов в системе ... – ilkkachu 3 December 2017 в 01:16

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

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

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

sudo su

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

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

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

Таким образом, это эффективно

sudo su root

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

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

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

sudo su <yourusername>

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

5
ответ дан 22 May 2018 в 15:46
  • 1
    +1; Да, я не упоминал об этом, потому что не вызывал путаницы, поле защиты машины должным образом обширно и наполнено камнями, которые вы можете преодолеть. Еще хорошее дополнение к тому, что уже было дано в качестве ответов. – Videonauth 30 November 2017 в 23:29
  • 2
    Не уверен, но doesnt sudo su всегда по умолчанию UID 0 и GUID 0? Если да, не имеет значения, как вы назвали «root». – Videonauth 30 November 2017 в 23:37
  • 3
    @Videonauth Вы правы со вторым предложением во втором комментарии. Это, однако, именно поэтому я включил предложение, которое вы критикуете. Если вы переименовали root в john, sudo su теперь эквивалентно sudo su john и больше не sudo su root. – UTF-8 1 December 2017 в 01:12

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

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

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

sudo exec su - bar

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

2
ответ дан 22 May 2018 в 15:46
  • 1
    Обратите внимание, что конкретные строки sudoers, показанные в slm и mtak's , на не работают , чтобы дать возможность выполнять некоторые действия, а не другие, так как тривиально легко использовать их для выполнения любой команды . (См. Комментарии к каждому из этих ответов для подробного объяснения причин.) Этот ответ не может быть строго неправильным в том, что иногда позволяет разрешить пользователям использовать sudo для запуска определенных команд как root без эффективного создания их администраторов. Но это очень сложно , чтобы понять это правильно. – Eliah Kagan 30 November 2017 в 19:47
  • 2
    @ EliahKagan Правильно. Необходимо будет тщательно убедиться, что вы не позволяете им достичь механизма, который позволил бы им выполнять любую команду. Конечно, это зависит от уровня доверия, который вы ставите в другом человеке. – Mark Yisri 30 November 2017 в 19:53
  • 3
    @EliahKagan Следовательно, увещевание как прочитать страницу руководства, так и протестировать любую реализацию. Ограничение пользователя привилегией sudo является выполнимым. Однако, как вы отмечаете, это не полностью безопасное решение, и некоторый уровень доверия должен возлагаться на пользователей, которым предоставляются права sudo. Интересно видеть downvotes для ответа, который рекомендует использовать механизм (записи файла sudoers), который специально разработан с целью ограничения объема команды sudo. – charmer 30 November 2017 в 20:16
  • 4
    Я думаю, что речь идет не о рекомендации использовать механизм сборки, поэтому позвольте мне понять, какую конструктивную критику я мог бы дать вам за ваш ответ. 1) Он содержит некоторые опечатки и плохо сформирован и выглядит странно, когда вы его читаете, что само по себе можно легко фиксировать. 2) вы указываете на другие ответы, заданные вне Ask Ubuntu , здесь вы должны взять основные части в виде блок-кавычек и опубликовать их здесь, сделав ваши ссылки частью цитат, чтобы указать на источники, которые вы взяли их. Надеюсь, это поможет улучшить ваш ответ. – Videonauth 30 November 2017 в 23:12
  • 5
    И так как у меня закончились символы в моем предыдущем комментарии: 3) Вы могли бы пойти немного глубже в объяснении, указать на предостережения @EliahKagan. – Videonauth 30 November 2017 в 23:22

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

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

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

-1
ответ дан 22 May 2018 в 15:46
  • 1
    Это может не помешать пользователю root выполнить «su - " или аналогичный маневр, как только "жертва" зарегистрирован и имеет установленный зашифрованный диск .... также может быть сценарий cron или другой триггер, ожидающий этого. Кроме того, пользователь root мог бы легко заменить двоичную обработку ввода пароля, чтобы разблокировать зашифрованный домашний каталог версией, в которой хранится пароль cleartext, и ждать. Любые механизмы безопасности, останавливающие такие атаки, все еще могут быть задействованы путем изменения некоторого бинарного файла, который жертва будет использовать для чего-то, что делает то, что вы хотите. – rackandboneman 30 November 2017 в 19:00
  • 2
    Я игнорирую этот ответ, поскольку зашифрованный домашний каталог помогает только в том случае, если вы не вошли в систему. Как только вы регистрируетесь, ваши данные дешифруются и доступны для другого пользователя с доступом sudo. – Panther 30 November 2017 в 19:32
  • 3
    Но почему они должны быть? Даже если одновременные логины никогда не выполняются удаленно (например, SSH) или с виртуальными консолями, не могут ли два пользователя регистрироваться в графическом режиме одновременно и переключаться между ними? Я использую Lubuntu (который имеет LXDE), и я никогда не вошел в систему графически с несколькими пользователями в то же самое, но у меня сложилось впечатление, что более функциональные среды рабочего стола поддерживали это в течение нескольких лет и включите его по умолчанию. Я что-то ошибаюсь? В качестве альтернативы, файлы больше не расшифровываются и читаются root, когда экран заблокирован? – Eliah Kagan 30 November 2017 в 20:01
  • 4
    IRRC ключи пользовательского шифрования хранятся открыто на машине для обеспечения шифрования и дешифрования, поэтому sudo su - <username>, который не нуждается в другом пароле пользователя, обычно успешно расшифровывает каталог других пользователей. Но я могу ошибаться здесь, нужно проверить его на виртуальной машине и сделать это позже. В любом случае, это происходит в 99% случаев до этого: «Если у меня есть физический доступ к вашей машине, вы будете hosed!». – Videonauth 30 November 2017 в 23:26
  • 5
    Супер пользователь может изменить процедуру входа в систему, чтобы регистрировать имена пользователей и пароли, которые он видит. Подождите, пока другой пользователь не войдет в систему, и проблема будет решена. – Stig Hemmer 1 December 2017 в 13:40

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

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

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

-1
ответ дан 18 July 2018 в 02:18

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

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

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

В целом безопасность очень сложная, и один

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

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

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

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

sudo su

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

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

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

Таким образом, это эффективно

sudo su root

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

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

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

sudo su <yourusername>

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

5
ответ дан 18 July 2018 в 02:18

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

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

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

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

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

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

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

sudo exec su - bar

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

2
ответ дан 18 July 2018 в 02:18

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

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

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

-1
ответ дан 24 July 2018 в 17:31
  • 1
    Это не исключает права root пользователя от "СУ -" или подобный маневр, как только "жертва" вошел в систему и зашифрованный диск, установленный.... там также может быть скрипт cron или другой триггер ожидаем, что это произойдет. Кроме того, корневой пользователь может легко заменить двоичной обработки ввода пароля для разблокирования зашифрованного домашнего каталога с версией, которая хранит пароль в открытом виде, и ждать. Каких-либо механизмов безопасности остановить такие атаки все еще могут быть открыты путем изменения некоторых бинарных жертва будет использовать для чего-то, что делает, как вы хотите. – rackandboneman 30 November 2017 в 19:00
  • 2
    Я игнорирую этот ответ, поскольку зашифрованный домашний каталог помогает только в том случае, если вы не вошли в систему. Как только вы регистрируетесь, ваши данные дешифруются и доступны для другого пользователя с доступом sudo. – Panther 30 November 2017 в 19:32
  • 3
    Но почему они должны быть? Даже если одновременные логины никогда не выполняются удаленно (например, SSH) или с виртуальными консолями, не могут ли два пользователя регистрироваться в графическом режиме одновременно и переключаться между ними? Я использую Lubuntu (который имеет LXDE), и я никогда не вошел в систему графически с несколькими пользователями в то же самое, но у меня сложилось впечатление, что более функциональные среды рабочего стола поддерживали это в течение нескольких лет и включите его по умолчанию. Я что-то ошибаюсь? В качестве альтернативы, файлы больше не расшифровываются и читаются root, когда экран заблокирован? – Eliah Kagan 30 November 2017 в 20:01
  • 4
    IRRC ключи пользовательского шифрования хранятся открыто на машине для обеспечения шифрования и дешифрования, поэтому sudo su - <username>, который не нуждается в другом пароле пользователя, обычно успешно расшифровывает каталог других пользователей. Но я могу ошибаться здесь, нужно проверить его на виртуальной машине и сделать это позже. В любом случае, это происходит в 99% случаев до этого: «Если у меня есть физический доступ к вашей машине, вы будете hosed!». – Videonauth 30 November 2017 в 23:26
  • 5
    Супер пользователь может изменить процедуру входа в систему, чтобы регистрировать имена пользователей и пароли, которые он видит. Подождите, пока другой пользователь не войдет в систему, и проблема будет решена. – Stig Hemmer 1 December 2017 в 13:40

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

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

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

В целом безопасность очень сложная, и один

Не хранить конфиденциальные личные данные на общем компьютере Не хранить личные данные на компьютере, принадлежащем вашему работодателю.
20
ответ дан 24 July 2018 в 17:31
  • 1
    Контейнер dm-crypt / LUKS не должен беспокоиться о перезаписывании файлов открытого текста (за исключением временных файлов любых приложений и подкачки) или одного зашифрованного каталога ~ / .Private с ecryptfs-mount-private – Xen2050 30 November 2017 в 23:04
  • 2
    Это даже не защищает вас от злодеев: другой пользователь sudo может изменить систему, чтобы обмануть вас, давая им вашу кодовую фразу. Такой вопрос следует читать как «Я подозреваю, что мой коллега был русским шпионом. Должен ли я дать ему права sudo на моем компьютере? & Quot; – sleblanc 1 December 2017 в 00:05
  • 3
    Как насчет виртуальной машины с зашифрованным изображением диска? [D0] blogs.oracle.com/scoter/&hellip – leftaroundabout 1 December 2017 в 02:28
  • 4
    Если вам нужна конфиденциальность, вам нужна однопользовательская система , другими словами, нет другого пользователя, определенно нет другого пользователя sudo. Ubuntu LVM с системой шифрования уязвим для злодеев. Тем не менее, я думаю, что это лучше, чем другие простые альтернативы, включая зашифрованный дом. Конечно, если вы хотите, вы можете зашифровать диск и зашифрованный дом и систему с одним пользователем, чтобы усложнить работу злоумышленника, например, согласно этой ссылке, iso.qa.ubuntu.com/ qatracker / вехи / 363 / сборки / 126342 / & hellip; – sudodus 1 December 2017 в 11:06
  • 5
    Все, что требуется новому пользователю root, - это установить руткит ядра как диаморфин. Даже не нужно беспокоиться о том, чтобы обманывать с помощью userland LD_PRELOAD хаков: просто сделайте простой регистратор нажатия клавиш и бросьте его на некоторые скрипты python, чтобы выполнить некоторую нечеткую сегментацию K-средних, основанную на времени / группировке ввода, и некоторый текст разобрать и сделать. Теперь у вас есть ключевая фраза для пользователя и, скорее всего, получите их личные данные. – DevNull 3 December 2017 в 07:51

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

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

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

sudo su

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

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

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

Таким образом, это эффективно

sudo su root

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

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

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

sudo su <yourusername>

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

5
ответ дан 24 July 2018 в 17:31
  • 1
    +1; Да, я не упоминал об этом, потому что не вызывал путаницы, поле защиты машины должным образом обширно и наполнено камнями, которые вы можете преодолеть. Еще хорошее дополнение к тому, что уже было дано в качестве ответов. – Videonauth 30 November 2017 в 23:29
  • 2
    Не уверен, но doesnt sudo su всегда по умолчанию UID 0 и GUID 0? Если да, не имеет значения, как вы назвали «root». – Videonauth 30 November 2017 в 23:37
  • 3
    @Videonauth Вы правы со вторым предложением во втором комментарии. Это, однако, именно поэтому я включил предложение, которое вы критикуете. Если вы переименовали root в john, sudo su теперь эквивалентно sudo su john и больше не sudo su root. – UTF-8 1 December 2017 в 01:12

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

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

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

Если ваш вопрос «я могу легко и безопасно сделать это сейчас?» ответ - нет. Если вы ответите: «Я готов узнать о SELinux, спуститься и загрязнить свой дистрибутив и смириться с множеством вещей, которые не работают», ответ заключается в том, что можно ограничить корень намного больше, чем средняя установка. Тем не менее, это никоим образом не делает вас неуязвимыми для эксплойтов - это не делает невозможным для пользователя обходить этот дополнительный контроль доступа либо в программном обеспечении, либо физически.
9
ответ дан 24 July 2018 в 17:31
  • 1
    Вы можете ограничить root с помощью apparmor и selinux, однако, кто-то с полным доступом к корню или доступом через оболочку восстановления или Live CD, либо с помощью системы (apparmor, либо selinux) может изменить ее. – Panther 30 November 2017 в 19:39
  • 2
    Даже если вы используете SELinux или такой, чтобы ограничить то, что может сделать root, они могут по-прежнему иметь возможность изменять утилиты, которыми управляют пользователи. И если они должны иметь возможность запускать какие-либо обновления, им потребуется доступ для изменения бинарных файлов в системе ... – ilkkachu 3 December 2017 в 01:16

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

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

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

sudo exec su - bar

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

2
ответ дан 24 July 2018 в 17:31
  • 1
    Обратите внимание, что конкретные строки sudoers, показанные в slm и mtak's , на не работают , чтобы дать возможность выполнять некоторые действия, а не другие, так как тривиально легко использовать их для выполнения любой команды . (См. Комментарии к каждому из этих ответов для подробного объяснения причин.) [D4] Этот ответ не может быть строго неправильным в том, что иногда позволяет разрешить пользователям использовать sudo для запуска определенных команд как root без эффективного создания их администраторов. Но это очень сложно , чтобы понять это правильно. – Eliah Kagan 30 November 2017 в 19:47
  • 2
    @ EliahKagan Правильно. Необходимо будет тщательно убедиться, что вы не позволяете им достичь механизма, который позволил бы им выполнять любую команду. Конечно, это зависит от уровня доверия, который вы ставите в другом человеке. – Mark Yisri 30 November 2017 в 19:53
  • 3
    @EliahKagan Следовательно, увещевание как прочитать страницу руководства, так и протестировать любую реализацию. Ограничение пользователя привилегией sudo является выполнимым. Однако, как вы отмечаете, это не полностью безопасное решение, и некоторый уровень доверия должен возлагаться на пользователей, которым предоставляются права sudo. Интересно видеть downvotes для ответа, который рекомендует использовать механизм (записи файла sudoers), который специально разработан с целью ограничения объема команды sudo. – charmer 30 November 2017 в 20:16
  • 4
    Я думаю, что речь идет не о рекомендации использовать механизм сборки, поэтому позвольте мне понять, какую конструктивную критику я мог бы дать вам за ваш ответ. 1) Он содержит некоторые опечатки и плохо сформирован и выглядит странно, когда вы его читаете, что само по себе можно легко фиксировать. 2) вы указываете на другие ответы, заданные вне Ask Ubuntu , здесь вы должны взять основные части в виде блок-кавычек и опубликовать их здесь, сделав ваши ссылки частью цитат, чтобы указать на источники, которые вы взяли их. Надеюсь, это поможет улучшить ваш ответ. – Videonauth 30 November 2017 в 23:12
  • 5
    И так как у меня закончились символы в моем предыдущем комментарии: 3) Вы могли бы пойти немного глубже в объяснении, указать на оговорки @EliahKagan. – Videonauth 30 November 2017 в 23:22

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

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