ghantoos / lshell

lshell is a shell coded in Python, that lets you restrict a user's environment to limited sets of commands, choose to enable/disable any command over SSH (e.g. SCP, SFTP, rsync, etc.), log user's commands, implement timing restriction, and more.
GNU General Public License v3.0
434 stars 113 forks source link

How to run the script with the correct permissions #187

Open niyang110 opened 6 years ago

niyang110 commented 6 years ago

1.Unable to execute shell script,, I got an error:

work:~$ bash test.sh hello test.sh: line 3: /usr/bin/ls: Permission denied test.sh: line 4: /usr/bin/ps: Permission denied

work:~$ cat test.sh

!/usr/bin/bash

echo "hello" ls /home/work ps

[work] allowed : ['ls','ll','echo','ps','bash'] path : ['/var', '/usr'] - ['/usr/local'] home_path : '/home/work' aliases : {'ll':'ls -l'} forbidden : [';', '&', '|','`','>','<', '$(', '${']

2.Permission is out of control

Command is not in the "allowed list". but it still can be executed if i added it into a script. I am wondering if it is expected. When I delete the "#! / Usr / bin / bash" shell script header. work:~$ ./test.sh hello a b pp test.sh uploads PID TTY TIME CMD 12686 pts/0 00:00:00 lshell 12803 pts/0 00:00:00 sh 12805 pts/0 00:00:00 ps

[work] allowed : ['ls','ll','echo','bash','cat','./test.sh'] path : ['/var', '/usr'] - ['/usr/local'] home_path : '/home/work' aliases : {'ll':'ls -l'} forbidden : [';', '&', '|','`','>','<', '$(', '${']