Я написал программу Python с некоторым пользовательским интерфейсом и заморозил ее с помощью PyInstaller. Программа записывает в документ xml в том же каталоге, но не все пользователи в сети имеют права на запись в этот файл. Вместо того чтобы давать всем разрешения на запись в этот файл, есть ли способ установить разрешения программы, чтобы он мог там писать? Таким образом, независимо от того, кто его запускает, программа будет записывать в xml, но любой пользователь, у которого изначально не были разрешения на запись, не сможет вручную изменить какие-либо данные в файле.Предоставление разрешения на запись для программы
0
A
ответ
1
A, указанный в комментарии @c_str в комментариях, вы можете запустить процесс как другой пользователь в окнах.
В Linux вы также можете использовать setuid и setguid, чтобы позволить процессу иметь разрешение своего владельца, а не разрешения пользователей.
Несмотря на то, что это работает, оба метода сомнительны, как указано в @c_str в комментариях выше.
По крайней мере, в Windows вы можете изменить разрешения на выполнение процессов, чтобы они могли запускаться как System, Admin, User, Unknown и т. Д., Но это примеры вирусных тестов. Вы можете найти несколько примеров в vxheaven или даже здесь, в StackOverflow. На мой взгляд, программы должны оставаться в процессе их работы и предоставлять процессу разрешения, предоставляемые учетной записью, и предоставить пользователям права доступа к сетевой папке. Предоставление процессу определенной власти, чтобы завладеть, чтобы работать как определенный «Пользователь», когда он не «Пользователь», не должен быть хорошей практикой –