1*4882a593Smuzhiyun#!/usr/bin/env python3 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Wrapper around 'chown' that redirects to root in all cases 4*4882a593Smuzhiyun 5*4882a593Smuzhiyunimport os 6*4882a593Smuzhiyunimport shutil 7*4882a593Smuzhiyunimport sys 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun# calculate path to the real 'chown' 10*4882a593Smuzhiyunpath = os.environ['PATH'] 11*4882a593Smuzhiyunpath = path.replace(os.path.dirname(sys.argv[0]), '') 12*4882a593Smuzhiyunreal_chown = shutil.which('chown', path=path) 13*4882a593Smuzhiyun 14*4882a593Smuzhiyunargs = list() 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunfound = False 17*4882a593Smuzhiyunfor i in sys.argv: 18*4882a593Smuzhiyun if i.startswith("-"): 19*4882a593Smuzhiyun args.append(i) 20*4882a593Smuzhiyun continue 21*4882a593Smuzhiyun if not found: 22*4882a593Smuzhiyun args.append("root:root") 23*4882a593Smuzhiyun found = True 24*4882a593Smuzhiyun else: 25*4882a593Smuzhiyun args.append(i) 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunos.execv(real_chown, args) 28