Можно ли создать пользователя со всеми правами администратора *кроме* возможности прерывать определенный процесс и получать доступ к определенной папке?

В Windows это практически невозможно. Можно на линуксе с обязательным контролем доступа (например). Таким образом, вы можете запустить веб-фильтр, но sudoer не сможет вмешиваться в него (по крайней мере, не без больших усилий, потенциально приводящих к неработоспособности системы). В то же время sudoer может изменить практически все остальное.

Какие варианты у меня были бы в OS X для этого?

Этот пост может быть полезен: apple.stackexchange.com/questions/313373/…
Я отредактировал часть, где у вас даже нет Mac - это затруднит вам оценку того, какой ответ работает, а также сделает этот вопрос скорее теоретическим, чем чем-то практическим, но это отличный вопрос и, возможно, некоторые день вы получите macOS для игры и сможете ответить даже лучше, чем мы. Это довольно широко, но обзорный ответ может помочь многим людям.

Ответы (1)

Я не вижу способа сделать это, не переписывая ОС и модели безопасности.

  • Доступ к определенной папке будет тривиально обработан, если вы зашифруете содержимое папки или файла и не поделитесь ключом для разблокировки данных в APFS. Поскольку вы не можете запретить пользователю root читать файл или папку, а пользователь-администратор может стать пользователем root (это определение пользователя-администратора в macOS), поэтому все, что может установить один пользователь-администратор, другой может отменить.
  • Предотвращение возможности любого пользователя-администратора отправлять SIGKILL (или любые другие интересные команды IPC) любому запущенному процессу будет технически проблематичным без модификации самой ОС.

Лучшее, что вы можете сделать, это попытаться положиться на гейткипера и предотвратить sudoот вашего пользователя-администратора этот очень хороший вопрос:

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