1
0
mirror of /repos/baseimage-docker.git synced 2026-02-27 17:41:59 +01:00

Move scripts into bin directory

This commit is contained in:
Hongli Lai (Phusion)
2014-07-13 00:14:52 +02:00
parent 73d900dece
commit 75902437c9
5 changed files with 3 additions and 3 deletions

26
image/bin/setuser Executable file
View File

@@ -0,0 +1,26 @@
#!/usr/bin/python3
import sys, os, pwd
if len(sys.argv) < 3:
sys.stderr.write("Usage: /sbin/setuser USERNAME COMMAND [args..]\n")
sys.exit(1)
def abort(message):
sys.stderr.write("setuser: %s\n" % message)
sys.exit(1)
username = sys.argv[1]
try:
user = pwd.getpwnam(username)
except KeyError:
abort("user %s not found" % username)
os.initgroups(username, user.pw_gid)
os.setgid(user.pw_gid)
os.setuid(user.pw_uid)
os.environ['USER'] = username
os.environ['HOME'] = user.pw_dir
os.environ['UID'] = str(user.pw_uid)
try:
os.execvp(sys.argv[2], sys.argv[2:])
except OSError as e:
abort("cannot execute %s: %s" % (sys.argv[2], str(e)))