3

Давайте предположим следующий сценарий. У нас есть два доверенных и недоверенных пользователя. Ненадежный пользователь используется для доступа к Интернету и загрузки данных, которые затем необходимо просмотреть и передать доверенным пользователям. Пока что я делаю загрузку данных через ненадежную учетную запись, войдите в систему как пользователь root и просмотрите данные, а затем переместите проверенные данные в доверенные и задайте права доступа к файлам данных для trusted:users . Однако это довольно трудоемкий процесс, и я хочу ускорить его. Поэтому я создал общую папку как root с помощью следующих команд:

mkdir /srv/shared
chgrp users /srv/shared
chmod g+w,o-rx /srv/shared
setfacl -m d:g:users:rwx /srv/shared

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

К сожалению, я заметил, что если ненадежный создает файл в этой папке и использует доверенные

mv -i /srv/shared/created.by.untrusted ~

Доверенный пользователь заканчивает с файлом created.by.untrusted в своем домашнем каталоге , который до сих пор принадлежит ненадежным. Доверенный пользователь может редактировать и удалять этот файл, но он не может сменить владельца на trusted:users . Это потенциальная угроза безопасности? Есть ли способ изменить владельца на trusted:users без использования учетной записи root ? Я думал о создании нового раздела с файловой системой NTFS и монтировании его в /srv /shared, чтобы обойти эту проблему. Созданные там файлы не должны иметь постоянного владельца. Но проблема этого подхода заключается в том, что размер раздела должен быть ограничен фиксированной суммой. В любом случае такой подход кажется мне "излишним". Есть ли другой способ?

1 ответ1

0

На мой взгляд, политика доступа Linux не позволяет непривилегированным пользователям менять владельца файлов без смены i-узла. Эти операции перемещения, переименования и редактирования. При копировании вы меняете i-узел так, как будто создаете новый файл с владельцем по умолчанию. Поэтому просто скопируйте файл created.by.untrusted в домашний каталог trusted пользователя и удалите исходный файл :).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .