Команда chmod
напрямую вызывает систему одноименный призыв; man-страница для системного вызова chmod(2)
(в Linux 4.10) говорит:
Эффективный UID вызывающего процесса должен совпадать с владельцем файла, или процесс должен быть привилегированным (Linux : он должен иметь возможность
CAP_FOWNER
).Если вызывающий процесс не является привилегированным (Linux: не имеет возможности
CAP_FSETID
), и группа файла не соответствует действующему идентификатору группы процесса или одному из его дополнительных идентификаторов группы. , БитS_ISGID
будет отключен, но это не приведет к возврату ошибки.
Так что да, процесс, работающий от имени root, может изменить права доступа к любому файлу, если он не сбросил возможность CAP_FOWNER
.
Также представляет интерес chown
; man-страница для chown(2)
говорит:
Только привилегированный процесс (Linux: процесс с возможностью
CAP_CHOWN
) может изменить владельца файла. Владелец файла может изменить группу файла на любую группу, членом которой является этот владелец.привилегированный процесс (Linux: сCAP_CHOWN
) может произвольно изменить группу.
Решение было:
Во-первых, встроенная поддержка клавиатуры в VirtualBox (и любом другом диспетчере виртуальных машин )не перенаправляет сигналы USB HID с клавиатуры, а интерпретирует скан-коды, предоставленные ОС, и генерирует эмулированные скан-коды в виртуальной машине (. и это, вероятно, клавиатура PS/2 в виртуальной машине, а не USB ). То же самое относится к мыши и любому другому устройству ввода.
Во-вторых, в разделе 3.10 руководства VirtualBox (, где вы должны искать подобные вещи в первую очередь ), очень четко объясняется, как подключать USB-устройства к виртуальной машине.