На этот вопрос уже есть ответ:
Я являюсь пользователем sudo нашего сервер (Ubuntu). На нашем сервере также есть еще один пользователь sudo, поэтому мы оба имеем доступ к другим каталогам как root. У меня есть личные файлы, которыми я не хочу делиться с другим пользователем sudo. Есть ли способ сделать это?
У меня есть несколько личных файлов, которыми я не хочу делиться с другим пользователем sudo. Есть ли способ сделать это?
blockquote>Есть только один способ: не хранить эти файлы в этой системе.
Если это ваш сервер, и вы не доверяете другому пользователю, лишите его доступа к sudo. В противном случае личные данные не должны храниться на этом компьютере. Если вы находитесь в Европейском Союзе: новый закон о конфиденциальности не позволяет вам хранить личные данные на машине, которой вы не владеете, без уведомления и получения письменного согласия от владельца этой машины.
- Пользователь sudo без ограничений может делать и отменять все, что вы можете отменить и сделать.
- Шифрование файлов или каталога с файлами даст вам только ложное чувство безопасности.
- То же самое касается доступа к нему из удаленной системы, где вам нужен пароль (например, USB-накопитель с шифрованием или пароль для монтирования, gdrive или ssh-соединения).
Довольно просто активировать сторожевой таймер , который копирует файлы в другое место. И вы сами никогда этого не заметите. И еще проще установить регистратор ключей, чтобы перехватить любой введенный вами пароль.
Вы не можете скрыть файлы от другого пользователя sudo, но вы можете зашифровать свои личные файлы перед (!) Загрузкой их на сервер. Чтобы работать с вашими личными файлами (т.е. редактировать), вам необходимо скачать, а затем расшифровать. После того, как вы закончили свою работу, вы должны зашифровать и загрузить снова.
Последовательность имеет значение, и, вероятно, это не самый удобный способ, но он работает: вы можете хранить свои личные (зашифрованные) файлы на своем сервере и запретить другому пользователю sudo читать ваш личный контент.
Важно: каждый процесс шифрования / дешифрования должен выполняться только в автономном режиме (если быть точным: не на вашем сервере). Если вы сделаете это на своем сервере, другой пользователь sudo может записать процесс и в итоге получить доступ к вашим файлам.
Разные методы шифрования имеют разные плюсы и минусы, и чтобы кратко изложить свой ответ, я хотел бы предложить только два инструмента:
GPG предлагает шифрование файлов с симметричным шифром с использованием ключевая фраза (и многое другое) и довольно просто.
cryptsetup позволяет создавать защищенный паролем контейнер LUKS и использовать его как обычное петлевое устройство. Имейте в виду: вы никогда не хотите разблокировать контейнер LUKS онлайн (точнее: на вашем сервере), иначе другой пользователь sudo может извлечь мастер-ключ LUKS и использовать его для добавления нового ключа (благодаря @Rinzwind для URL).
Излишне говорить, что всегда хорошо выбирать надежные пароли, и, конечно, другой пользователь sudo может загрузить ваш зашифрованный файл и попытаться расшифровать его с помощью грубой силы.