chmod - разрешение файла на исполняемый файл - PullRequest
0 голосов
/ 12 ноября 2011

Мне нужно изменить права доступа к исполняемому файлу, используя os.chmod.
У меня есть этот исполняемый файл, и я хочу изменить его разрешения, чтобы он мог писать в никуда, только чтение и выполнение.
Как я могу это сделать?

Спасибо
рубик

Ответы [ 3 ]

2 голосов
/ 12 ноября 2011

Разрешения, которые вы можете установить для файла с chmod, влияют на то, кто может читать / записывать / выполнять этот файл, а не какие привилегии имеет процесс, созданный при запуске этого файла.

В Unix вы могли быполучить некоторую форму защиты, поиграв с владельцем файла и битом, и имея соответствующие разрешения в вашей файловой системе, но это нелегко получить и не работает в Windows (нет, бит там).

1 голос
/ 12 ноября 2011

Обходной путь, используемый некоторыми Linux или Unixes для запрета выполнения чего-либо исполняемым файлом, состоит в том, чтобы сделать этот исполняемый набор setuid для пользователя, у которого нет разрешения (которого почти «не существует»), такого как пользователь nobody (например, в Debian или Ubuntu).Будьте внимательны и читайте больше о seteuid & setreuid & возможностях & учетных данных (и я точно не знаю, имеют ли все эти системные вызовыпитонический интерфейс).

1 голос
/ 12 ноября 2011

У меня есть этот исполняемый файл, и я хочу изменить его разрешения, чтобы он мог писать в никуда, только чтение и выполнение

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

...