Любой системный вызов в C, чтобы изменить разрешение файла в HP-UX в режиме без полномочий пользователя? - PullRequest
1 голос
/ 06 апреля 2011

Любой системный вызов в C, чтобы изменить разрешение файла в HP-UX в режиме пользователя без полномочий root ?. Я использовал системный вызов Chmod, он работал для меня в режиме пользователя root, но не в режиме пользователя без полномочий root. Я чувствую, что системный вызов setuid поможет мне здесь, но я не знаю, как его использовать ?. Итак, любые новые предложения по моей проблеме или как использовать setuid.

1 Ответ

0 голосов
/ 06 апреля 2011

chmod () - правильный системный вызов, но если у вас нет прав доступа для изменения прав доступа к файлу, вам не повезло.

Как вы, конечно, можете себе представить, изменение прав доступа к файлам, на которые у вас нет прав, может создать дыру в безопасности.

Wrt setuid (), который имеет тенденцию быть ограниченным суперпользователями или программами с установленным битом setuid. Опять же, по очевидным причинам безопасности, случайный пользователь не может изменить себя на другого случайного пользователя в общем случае.

Поэтому, если вы хотите, чтобы chmod () работал без каких-либо привилегий суперпользователя, решение состоит в том, что UID процесса должен совпадать с владельцем файла, для которого вы пытаетесь изменить разрешения.

...