Bash: отказано в доступе на запись в файл

Bash: отказано в доступе на запись в файл

Я следил за этимучебное руководствона тему «Как создать файлы Linux Proc в программе C с использованием LKM».

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

Я пытался:

$ echo "hello" > /proc/procEntry123       # But it says permission is denied!
$ sudo echo "hello" > /proc/procEntry123  # Same error message.

Как мне повысить привилегии для echo к этому файлу? Я единственный пользователь и администратор в этой системе.

решение1

Но там написано, что в разрешении отказано!

Вероятно, так написано, потому что вы установили ограничительные разрешения при вызове create_proc_entry(). (0644 переводится как «u=rw,go=r», что дает права на запись только владельцу, который по умолчанию является root.)

Я поставил перед ним «sudo» — то же самое сообщение.

Перенаправления, такие как >или |выполняются запущенной оболочкой,доон вызывает sudo.

Вам придется либо использовать sudo sh -c "echo blah > /proc/blah", либо запустить оболочку root с sudo -s.

Я единственный пользователь - это моя личная машина!

В Linux это не имеет значения. Разрешения на доступ к файлам будут применяться независимо от того, кто использует компьютер.

Если вы этого не хотите, войдите в систему как пользователь root или используйте , pam_capчтобы предоставить себе такую cap_dac_override​​возможность – но любой методволярано или поздно приведут к проблемам.

Связанный контент