Как препятствовать тому, чтобы пользователь изменил файлы с помощью разрешения Linux

На Ubuntu 10.04 можно управлять некоторыми программами запуска от GUI.

Приложения System→Preferences→Startup

Startup Applications Preferences

8
30.06.2011, 01:04
4 ответа

Вы не можете сделать этого: если пользователь может создать файлы, они будут принадлежать ему, и он сможет изменить их и стереть их.

Я собирался предложить простой план иметь каталог подготовки (где пользователь может сделать то, что он хочет), и входящий каталог (не доступный для пользователя), с маленькой привилегированной программой для перемещения файлов от каталога подготовки до входящего каталога. Но это на самом деле хитро, чтобы сделать правильно: среди других вещей необходимо заботиться, который не переместит привилегированная программа, файлы в других каталогах (остерегайтесь условий состязания, символьных ссылок, ../), не перезапишет существующие файлы (rename(3) является атомарным, но может стереть место назначения), не позволит пользователю сохранить дескриптор файла, открывают и изменяют файл после того, как он переместился (таким образом, необходимо скопировать, чем переместиться). Вместо этого я рекомендую взять существующее, надежное решение:

  • Сделайте, чтобы пользователь загрузил файл по HTTP.
  • Сделайте, чтобы пользователь согласился на систему управления версиями. Он сможет фиксировать новые версии, также.
2
27.01.2020, 20:13

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

НЕТ

Но у Вас есть другие опции, как предложено @Fredrik в комментарии к Вашему вопросу. Посмотрите здесь.

1
27.01.2020, 20:13

вот подход, который должен, теоретически, работа. Для меня слишком много усилий для развития даже доказательства концепции; Вы можете отклонить его по той же причине. И, строго говоря, это не «Использование схемы разрешений в Linux».

  • Получите файловый сервер с открытым исходным кодом.
  • Измените его для обеспечения применения правил, которые вы хотите (i.e., пользователи могут создавать файлы в каталогах, которые у них есть доступ для записи, и может написать в файл сразу после его создания, Но, после этого, никто, кроме root, не может открыть файл для написания или беззмены).
  • Установите хост сервера, запустив свой модифицированный серверное программное обеспечение. Теоретически это может быть вашим местным хозяином; Просто убедитесь, что каталог работает, не является публично доступным.
  • NFS Установите ваш / MNT / Доставка и сообщите пользователям, чтобы пользователю поместить там свои файлы.
0
27.01.2020, 20:13

Простой ответ состоит в том, чтобы запускать сценарий с заданным интервалом, который вы выбираете, (скажем, каждые 15 минут, )который повторно -назначает право собственности на все файлы в каталоге «загрузка» заранее определенному «администратору». пользователя и устанавливает разрешения на «644». Это позволит всем пользователям -иметь доступ только для чтения ко всем файлам в каталоге загрузки, включая те, которые они загрузили сами. Конечно, вы можете оптимизировать сценарий после первого запуска, чтобы искать только те файлы с датами создания после предыдущего запуска сценария (, скажем, за последние 17 минут ).

0
27.01.2020, 20:13

Теги

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