Script started on Fri Jan 12 12:27:10 2018 $ python exec_test.py ('environ = ', {'SSH_CLIENT': '192.168.0.62 60230 22', 'LOGNAME': 'db', 'USER': 'db', 'PATH': '/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/local/kde4/bin:/home/db//bin', 'HOME': '/home/db/', 'DISPLAY': 'localhost:10.0', 'TERM': 'screen', 'SHELL': '/bin/sh', 'SCRIPT': 'showbug.txt', 'SHLVL': '2', 'BLOCKSIZE': 'K', 'EDITOR': 'vi', 'TMUX': '/tmp/tmux-1000/default,922,0', 'ENV': '/home/db//.shrc', '_': '/usr/bin/script', 'SSH_TTY': '/dev/pts/0', 'OLDPWD': '/usr/local/lib/python3.6/site-packages/numpy/distutils', 'PWD': '/home/db/python', 'MAIL': '/var/mail/db', 'SSH_CONNECTION': '192.168.0.62 60230 192.168.0.240 22', 'PAGER': 'more', 'TMUX_PANE': '%0'}) ('getuid = ', 1000) ('geteuid = ', 1000) ('ZZZ exec_command called command = ', 'ls -lta') ('ZZZ use_shell ', None) ('ZZZ use_tee ', None) ('ZZZ os.name = ', 'posix') ('ZZZ get SHELL= ', '/bin/sh') ('ZZZ get SHELL /bin/sh= ', '/bin/sh') ('ZZZ now command = ', ['/bin/sh', '-c', 'ls -lta']) ('ZZZ exec_command() env= ', None) ('proc= ', '') total 93 -rw-r--r-- 1 db wheel 43 Jan 12 12:27 showbug.txt drwxr-xr-x 2 db wheel 6 Jan 12 12:27 . -rw-r--r-- 1 db wheel 2087 Jan 12 12:10 exec_test.py drwxr-xr-x 94 db wheel 691 Jan 12 09:52 .. -rw-r--r-- 1 db wheel 62 Jan 11 19:23 test.c -rw-r--r-- 1 db wheel 512 Jan 9 18:27 test.py ('t = ', 0) ('err = ', 'total 93\n-rw-r--r-- 1 db wheel 43 Jan 12 12:27 showbug.txt\ndrwxr-xr-x 2 db wheel 6 Jan 12 12:27 .\n-rw-r--r-- 1 db wheel 2087 Jan 12 12:10 exec_test.py\ndrwxr-xr-x 94 db wheel 691 Jan 12 09:52 ..\n-rw-r--r-- 1 db wheel 62 Jan 11 19:23 test.c\n-rw-r--r-- 1 db wheel 512 Jan 9 18:27 test.py') $ sudo -u db python exec_test python: can't open file 'exec_test': [Errno 2] No such file or directory $ sudo -u db python exec_test.py ('environ = ', {'USERNAME': 'db', 'SUDO_COMMAND': '/usr/local/bin/python exec_test.py', 'TERM': 'screen', 'SHELL': '/bin/sh', 'SUDO_UID': '1000', 'SUDO_GID': '1000', 'LOGNAME': 'db', 'USER': 'db', 'MAIL': '/var/mail/db', 'PATH': '/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/local/kde4/bin:/home/db//bin', 'SUDO_USER': 'db', 'HOME': '/home/db/', 'DISPLAY': 'localhost:10.0'}) ('getuid = ', 1000) ('geteuid = ', 1000) ('ZZZ exec_command called command = ', 'ls -lta') ('ZZZ use_shell ', None) ('ZZZ use_tee ', None) ('ZZZ os.name = ', 'posix') ('ZZZ get SHELL= ', '/bin/sh') ('ZZZ get SHELL /bin/sh= ', '/bin/sh') ('ZZZ now command = ', ['/bin/sh', '-c', 'ls -lta']) ('ZZZ exec_command() env= ', None) ('proc= ', '') total 185 -rw-r--r-- 1 db wheel 43 Jan 12 12:27 showbug.txt drwxr-xr-x 2 db wheel 6 Jan 12 12:27 . -rw-r--r-- 1 db wheel 2087 Jan 12 12:10 exec_test.py drwxr-xr-x 94 db wheel 691 Jan 12 09:52 .. -rw-r--r-- 1 db wheel 62 Jan 11 19:23 test.c -rw-r--r-- 1 db wheel 512 Jan 9 18:27 test.py ('t = ', 0) ('err = ', 'total 185\n-rw-r--r-- 1 db wheel 43 Jan 12 12:27 showbug.txt\ndrwxr-xr-x 2 db wheel 6 Jan 12 12:27 .\n-rw-r--r-- 1 db wheel 2087 Jan 12 12:10 exec_test.py\ndrwxr-xr-x 94 db wheel 691 Jan 12 09:52 ..\n-rw-r--r-- 1 db wheel 62 Jan 11 19:23 test.c\n-rw-r--r-- 1 db wheel 512 Jan 9 18:27 test.py') $ sudo -u db python exec_test.pysudo -u b [1@n [1@o [1@b [1@o [1@d [1@y  ('environ = ', {'USERNAME': 'nobody', 'SUDO_COMMAND': '/usr/local/bin/python exec_test.py', 'TERM': 'screen', 'SHELL': '/usr/sbin/nologin', 'SUDO_UID': '1000', 'SUDO_GID': '1000', 'LOGNAME': 'nobody', 'USER': 'nobody', 'MAIL': '/var/mail/nobody', 'PATH': '/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/local/kde4/bin:/home/db//bin', 'SUDO_USER': 'db', 'HOME': '/nonexistent', 'DISPLAY': 'localhost:10.0'}) ('getuid = ', 65534) ('geteuid = ', 65534) ('ZZZ exec_command called command = ', 'ls -lta') ('ZZZ use_shell ', None) ('ZZZ use_tee ', None) ('ZZZ os.name = ', 'posix') ('ZZZ get SHELL= ', '/usr/sbin/nologin') ('ZZZ get SHELL /bin/sh= ', '/usr/sbin/nologin') ('ZZZ now command = ', ['/usr/sbin/nologin', '-c', 'ls -lta']) ('ZZZ exec_command() env= ', None) ('proc= ', '') This account is currently not available. ('t = ', 1) ('err = ', 'This account is currently not available.') $ exit Script done on Fri Jan 12 12:27:42 2018