Murga-Projects Forums

Full Version: Praise for murgalua
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I've only been using lua/murgalua a very short time. I've found it to be very easy to learn and there are great features other languages don't have.

The flexible way of expressing string literals is fantastic with single or double quotes and the bracket notation. The string functions and builtin pattern matching is both simple and extremely powerful. Pattern matching is just there for me, I don't have to deal with pain-in-the-ass stuff like creating a regular expression object and I don't have a completely different set of commands for regular expressions and simple character matching and I don't need external libraries. Sockets is builtin to murgalua and fits in perfectly and doesn't seem like a clunky add-on like so many things in python do.

My main gripe is that on some linux systems, murgalua just isn't available to me and I don't have authority to install it. I miss it dearly. I hope someday murgalua will be like grep as a standard part of linux.

The Lua doc is also very good. I have the hardcopy of both the Lua Reference and the Programming in Lua books. I can usually find exactly what I need in there quickly.

Quote:
on some linux systems, murgalua just isn't available to me and I don't have authority to install it

Sorry, but that's not true. Regardless of what permissions you have in the file system, as long as you have a writable home directory you can install whatever software you want. You can create a $HOME/bin directory and add that to your PATH variable. You can put executables here. You can modify your LD_LIBRARY_PATH variable to include $HOME/lib for libraries that can't be installed into /lib, /usr/lib, or /usr/local/lib.

When installing from source with the typical "configure/make/make install" techique you can configure --prefix=$HOME or edit the config script to have the application built to install entirely within your home directory.

I should rephrase that. I have authority to install things into my own directory. I don't have authority to execute a compiled module that is not in the standard /usr/bin or /usr/lib/bin. So, in other words, I can install it, but not execute it.

This type of situation is common with the limited shell access offered by many web hosting companies.
oh....I see your situation.
I'd really hate to be using a system like that...too much of my computing depends on custom scripts.

asafp Wrote:
I should rephrase that. I have authority to install things into my own directory. I don't have authority to execute a compiled module that is not in the standard /usr/bin or /usr/lib/bin. So, in other words, I can install it, but not execute it.

This type of situation is common with the limited shell access offered by many web hosting companies.


Normally, such an account doesn't make sense. If it is that limited, ftp only access would make more sense (from an administrator point of view).

If a (stupid) administrator thinks he can limit access to the system with a normal restricted shell, he is totally wrong. Normally it is nearly impossible to completely lock a system with a r-shell. There are so many possibilities to circumvent it, so that most admins (those who try are normally not the brightest/experienced) don't even bother to try (except they want to adress novice users). The only way to lock a system completely is to use SELinux and co. (which is a pain to set up).

Have you tried to put the binary in your homedir, set the permissions and use "env ~/murgaLua" for example?

I guess there are also perl,python,awk, ..... interpreters in /usr/bin? This way there should be no problem to call murgaLua or a more useful shell.

Juergen

P.S.: It is of course a completely different question if it is a good idea to circumvent such restrictions (The owner/administrator of the system could be offended).

Quote:
Have you tried to put the binary in your homedir, set the permissions and use "env ~/murgaLua" for example?


I tried that and get "permission denied". I also tried putting murgalua into /tmp directory which has execute permission and same message.

asafp Wrote:

Quote:
Have you tried to put the binary in your homedir, set the permissions and use "env ~/murgaLua" for example?


I tried that and get "permission denied". I also tried putting murgalua into /tmp directory which has execute permission and same message.


The standard UNIX/POSIX file permission don't allow to restrict execution permissions to directories. The x you see in the directory permissions has a different meaning. It means that you can list the directory contents. If someone wants to limit execution then this could be done with a mount option.

What are the permissions of the binary? (Did you do chmod 700 murgaLua ?)
Where does the permission denied come from? (What was the exact error message?)

If env doesn't work, then there might be find, xargs, awk, gawk, perl, python, tclsh, wish, rx, rz, ed, vi, defective shell scripts, ....

Juergen

Tried

awk '{system("./murgaLua")}'

and I get the simple message

./murgaLua: permission denied

The same message no matter how I try to invoke any binary executable file.
Permission for murgaLua is 755, btw. I checked that.
When executing with env command, the error message is a little different. It refers to the directory.

env ~ ./murgaLua

env: /mnt/b02add6f/www: Permission denied
Pages: 1 2
Reference URL's