procfs разрешает произвольное file_operations
, sysfs более ограничено
Записи procfs получают структуру file_operations
, которая содержит указатели на функции, которые определяют, что происходит с каждым системным вызовом на основе файла -, например. open
, read
, mmap
и т.д., и из них можно совершать произвольные действия.
Минимальные примеры:
sysfs более ограничен в следующих смыслах:
show
и store
, которые Linux использует для реализации open
, close
, read
, write
и lseek
. См. также:Как прикрепить файловые операции к атрибуту sysfs в драйвере платформы? | Переполнение стекаkobject
Минимальный пример:Как создать простой атрибут класса sysfs в ядре Linux v3.2 | Переполнение стека
Вы можете попробовать следующее (Я не могу проверить, работает ли оно сейчас, но должно):
[Anonymous]
path = /samba/anon
browsable =yes
writable = yes
guest ok = yes
read only = no
force user = nobody
create mask = 0644
force create mode = 0644
directory mask = 3775
force directory mode = 3775
inherit owner = yes
Затем установите права доступа к основному каталогу общего ресурса (, где sambaadm — это какой-то пользователь Linux, отличный от других):
chown -R sambaadm:nogroup /samba/anon
find /samba/anon -type d | xargs chmod 3775
find /samba/anon -not -type d | xargs chmod 0644
В каталогах используется бит закрепления, чтобы сделать файлы доступными для удаления только их владельцу. С «наследовать владельца» вы заставляете пользователя всегда быть sambaadm, поэтому удаление невозможно для пользователя «никто». Также запись в файлы разрешена только для sambaadm, в то время как пользователи Nobody могут записывать в каталоги со своим членством в группе nogroup.