Назад | Перейти на главную страницу

Разные разрешения для разных групп в одной папке в OpenBSD?

Возможно ли иметь ACL для доступа к файловой системе (или аналогичные) в OpenBSD? Я пытаюсь создать папку, в которой одна группа имеет доступ для чтения и записи, а другая группа имеет доступ только для чтения. Я не хочу предоставлять миру доступ для чтения и не хочу ограничивать доступ на запись для одного пользователя, поэтому оба должны управляться разрешениями группы.

Изменить: было высказано предположение, что OpenBSD может вообще не иметь ACL. Что нормально. Остается вопрос: как я могу, или это вообще возможно, установить права доступа к папкам в OpenBSD так, чтобы одна группа имела доступ на запись, другая группа имела доступ только для чтения, а мир не имел доступа?

Вы не можете.

Вот пример того, как это можно понять с помощью Перекрестная ссылка BSD суперпользователя.

Вы можете начать с open() функция, которая является системным вызовом, поэтому она определяется с помощью sys_ префикс в ядре. Ищи sys_open. Вы найдете это на http://bxr.su/OpenBSD/sys/kern/vfs_syscalls.c#sys_open.

Если вы последуете sys_open() достаточно долго, вы обнаружите, что есть http://bxr.su/OpenBSD/sys/kern/vfs_vops.c#VOP_ACCESS.

В VOP_ACCESS(), вы увидите, что каждая файловая система имеет свою *_access функция для проверки разрешений, которая представляет собой указатель, хранящийся в v_op->vop_access.

В поисках vop_access ссылки, вы можете найти все отдельные функции доступа к файловым системам. Для UFS это http://bxr.su/OpenBSD/sys/ufs/ufs/ufs_vnops.c#ufs_access.

В ufs_access(), вы можете видеть, что он обращается к общему не зависящему от файловой системе коду для проверки прав доступа - http://bxr.su/OpenBSD/sys/kern/vfs_subr.c#vaccess.

С участием vaccess(), вы можете сами увидеть, как проверяются разрешения.

То, что вы хотите сделать, невозможно в OpenBSD, потому что в нем нет ACL.

В качестве обходного пути вы можете предоставить общий доступ к пользователю / группе и реализовать свою политику ACL через судо и несколько нестандартных скриптов.