28 lines
534 B
Plaintext
28 lines
534 B
Plaintext
|
#!/usr/bin/env python3
|
||
|
#
|
||
|
# Wrapper around 'chown' that redirects to root in all cases
|
||
|
|
||
|
import os
|
||
|
import shutil
|
||
|
import sys
|
||
|
|
||
|
# calculate path to the real 'chown'
|
||
|
path = os.environ['PATH']
|
||
|
path = path.replace(os.path.dirname(sys.argv[0]), '')
|
||
|
real_chown = shutil.which('chown', path=path)
|
||
|
|
||
|
args = list()
|
||
|
|
||
|
found = False
|
||
|
for i in sys.argv:
|
||
|
if i.startswith("-"):
|
||
|
args.append(i)
|
||
|
continue
|
||
|
if not found:
|
||
|
args.append("root:root")
|
||
|
found = True
|
||
|
else:
|
||
|
args.append(i)
|
||
|
|
||
|
os.execv(real_chown, args)
|