Я делюсь своим персональным компьютером с Ubuntu с одним из моих коллег.
Я создал другого пользователя с другим паролем (он, конечно, знает) и добавил его в sudoer
список.
Учитывая, что sudo
в одной системе Ubuntu есть два пользователя:
Являются ли личные файлы (указанные владельцами и разрешениями) любого из этих пользователей по-прежнему закрытыми?
Могу ли я изменить файлы моего коллеги по
sudo
командеsudo su
или даже наоборот?
permissions
sudo
Цзичжоу Хуан
источник
источник
Ответы:
Если ваш коллега находится в списке sudoers, он является пользователем root, если вы этого хотите (и он может выдать себя за вас), и тогда он сможет увидеть все.
Это худшая настройка, которую вы можете использовать, если вы хотите конфиденциальности пользователя. Вы должны окончательно прочитать, как работает управление пользователями в Linux. Вот несколько статей, с которых вы можете начать:
И даже тогда, если у кого-то есть физический доступ к рассматриваемой машине, конфиденциальность отсутствует, он может заскочить при загрузке в корневую оболочку и посмотреть все, несмотря ни на что, и если это будет защищено паролем, он все равно сможет использовать USB-накопитель и идти по этому пути.
Так что в этом случае лучше всего - правильное управление пользователями, пароль для root, а также зашифрованный диск и / или зашифрованные домашние каталоги.
источник
sudo -i
это не работает :)Простая альтернатива - хранить ваши личные данные в зашифрованном файле (это может быть файл архива tar, который вы шифруете, например, с помощью gpg). Вы должны помнить, чтобы переписать и удалить текстовые файлы после просмотра их.
Еще одна альтернатива для всех, кто имеет общий доступ к компьютеру и sudo (root), - это использовать зашифрованный домашний и зашифрованный обмен.
Но это не поможет, если вы вошли в систему одновременно. На самом деле вы должны перезагрузить компьютер, чтобы избавиться от ваших файлов в текстовом формате даже с зашифрованным дома.
В целом безопасность очень сложна, и однопользовательская система с зашифрованным диском (LVM с шифрованием) будет самым простым способом обеспечения безопасности.
источник
ecryptfs-mount-private
LD_PRELOAD
хакерскими атаками пользователей : просто создайте простой регистратор нажатий клавиш и добавьте его в некоторые сценарии Python, чтобы выполнить нечеткую сегментацию K-средних, основанную на времени / группировке ввода, некотором разборе текста и сделанный. Теперь у вас есть ключевая фраза для пользователя, и вы, вероятно, можете получить его личные данные.Как только вы сможете получить
root
разрешения (например, используяsudo
,su
и т. Д.).У вас есть полный доступ к каждому файлу в системе.
Таким образом, оба пользователя, которые имеют
sudo
разрешение и могутroot
использовать его,sudo bash
будут иметь полный доступ к каждому файлу в системе.В соответствии с этими вопросами и ответами в
SE-Security
: Вы можете изменитьSELinux
(не Ubuntu) для ограниченияroot
доступа:источник
Чтобы сделать то, что уже было сказано в других ответах, совершенно ясно: этот другой пользователь не только «root столько, сколько вы» (ответ Videonauth), он также может стать вами (переключиться на вашу учетную запись пользователя) .
Это потому, что с привилегиями суперпользователя можно переключиться на любую учетную запись.
Вы наверное знаете
что является одним из вариантов открытия оболочки root, если root не имеет установленного пароля (поэтому вы не можете просто войти в систему как root напрямую).
su
является сокращением от «переключить пользователя». На какого пользователя он переключается? Ни один не указан, верно? Но из справочной страницы мы можем узнать, что:Так что это эффективно
если вы не переименовали
root
что-то еще.Если вы просто запустите
su <someuser>
, вам будет предложено ввести пароль. Поэтому, если вы запуститеsu root
, вам будет предложено ввести пароль root (который не существует в Ubuntu по умолчанию, поэтому вы не можете войти в систему (обратите внимание, что пароль не установлен, что означает, что нет средств для входа через пароль, который отличается от пароля тем, что является пустой строкой)). Но если вы запуститеsudo su root
, вам будет предложено ввести собственный пароль. И вас только об этом попросятsudo
. Получивsudo
ваш пароль, он запускает полученную команду в качестве параметров с привилегиями суперпользователя. Так как при наличии привилегий суперпользователя можно переключиться на любую учетную запись, запрос пароля не требуется.Таким образом, выполняя
другой sudoer может войти как вы.
источник
sudo su
всегда по умолчанию UID 0 и GUID 0? Если да, то не имеет значения, как вы назвали «root».root
вjohn
,sudo su
теперь эквивалентноsudo su john
и больше неsudo su root
.Можно ограничить программы, которые можно запускать с помощью повышения привилегий sudo, отредактировав файл sudoers (
/etc/sudoers
).См. Принятый ответ на этот вопрос в Super User для получения дополнительной информации, а также здесь, в Unix и Linux . Смотрите ответ по slm для предложения по ограничению привилегий в
/etc/sudoers
.Также проверьте
man
страницу sudoers , набравman sudoers
и не забудьте проверить ее. Помните, что при неограниченном доступе sudo пользователь может полностью выдать себя за любого другого пользователя. например, если пользователь долженfoo
был запустить командутогда они смогут действовать как пользователь
bar
со всеми привилегиями этого пользователя.источник
sudoers
линии , показанные в ОДС в и mtak в ответах не работают , чтобы дать возможность выполнить какие - либо действия , а не другие, так как это тривиально просто использовать их , чтобы выполнить любую команду. (Подробные объяснения причин см. В комментариях к каждому из этих ответов.) Этот ответ может быть не совсем неправильным, поскольку иногда можно разрешить пользователямsudo
запускать определенные команды от имени пользователя root, не назначая их администраторами. Но очень трудно понять это правильно.Предыдущие ответы не применяются полностью, если вы отметили это
encrypt home folder
при установке Ubuntu. Это гарантирует зашифрованные домашние папки для каждого пользователя, даже если root не может читать данные без правильного пароля пользователя / владельца этой домашней папки. Ваша коллега должна будет изменить свой пароль, чтобы прочитать файлы, которые будут замечены.И, конечно, люди правы, что совместное использование компьютеров с ценными или конфиденциальными данными, а также root-доступ с коллегами не является хорошей идеей.
В зависимости от значения этих данных, я бы посоветовал запросить у вас собственную машину.
источник
sudo su - <username>
которого не требуется пароль других пользователей, обычно успешно расшифровывается каталог других пользователей. Но я могу ошибаться, нужно проверить это на виртуальной машине и сделаю это позже. В любом случае, в 99% случаев все сводится к следующему: «Если у меня есть физический доступ к вашей машине, вы прокляты!».