Am un executabil (creat din codul python) de care am nevoie pentru a accesa un fișier creat de mine, precum și un fișier creat de persoana care rulează executabilul.
eu sunt nu este permis să schimbi permisiunile a dosarelor.
Iată un exemplu:
user1 este proprietarul executabilului și user1_file
user2 este proprietarul user2_file
user2 este de așteptat să ruleze executabilul
>>> ls -al
drwxr-xr-x 12 utilizator1 grup1 4096 2 ianuarie 13:48 executabil
-rw------- 1 utilizator1 grup1 272 14 februarie 14:32 utilizator1_file
-rw------- 1 user2 group2 272 14 februarie 14:32 user2_file
Iată ce am încercat
- rulează direct ca user2:
eșuează deoarece nu are permisiuni de citire pentru user1_file
- setați suid pentru executabil și apoi rulați ca user2:
a citit cu succes user1_file, dar nu poate citi user2_file
- actualizarea codului python pentru a se executa
os.system('chmod u-s executabil')
înainte de a accesa user2_file:
această operațiune nu este permisă.Chiar dacă este permis, voi fi îngrijorat de cum să re-adăugați suid în timp ce programul rulează acum cu permisiunile user2.
Poate exista vreo metodă care să permită atât permisiunile user1 cât și user2 pentru executabil?
sau poate o modalitate de a opri temporar permisiunile user1?