Давайте предположим следующий сценарий. У нас есть два доверенных и недоверенных пользователя. Ненадежный пользователь используется для доступа к Интернету и загрузки данных, которые затем необходимо просмотреть и передать доверенным пользователям. Пока что я делаю загрузку данных через ненадежную учетную запись, войдите в систему как пользователь 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, чтобы обойти эту проблему. Созданные там файлы не должны иметь постоянного владельца. Но проблема этого подхода заключается в том, что размер раздела должен быть ограничен фиксированной суммой. В любом случае такой подход кажется мне "излишним". Есть ли другой способ?