У меня есть исполняемый файл (созданный из кода Python), который мне нужен для доступа к файлу, созданному мной, а также к файлу, созданному человеком, который запускает исполняемый файл.
Я не разрешено изменять разрешения файлов.
Вот пример:
user1 является владельцем исполняемого файла и user1_file
user2 является владельцем user2_file
ожидается, что пользователь2 запустит исполняемый файл
>>> лс -ал
drwxr-xr-x 12 user1 group1 4096 2 января 13:48 исполняемый файл
-rw------- 1 user1 group1 272 14 фев 14:32 user1_file
-rw------- 1 user2 group2 272 14 фев 14:32 user2_file
Вот что я пробовал
- напрямую запускать как user2:
это не удается, потому что у него нет прав на чтение файла user1_file
- установите suid для исполняемого файла, а затем запустите как user2:
он успешно прочитал user1_file, но не может прочитать user2_file
- обновление кода Python для выполнения
os.system('исполняемый файл chmod u-s')
перед доступом к user2_file:
эта операция не разрешена.Даже если это разрешено, я буду обеспокоен тем, как повторно добавить suid, пока программа теперь работает с разрешениями user2.
Может ли быть какой-то способ разрешить права доступа пользователя 1 и пользователя 2 для исполняемого файла?
или, может быть, способ временно остановить права пользователя 1?