parameters to shell script
Tom Goren
motnerog at gmail.com
Tue Dec 8 12:45:34 IST 2009
awesome, thanks for the info.
2009/12/8 Amos Shapira <amos.shapira at gmail.com>
> 2009/12/8 Tom Goren <motnerog at gmail.com>
>
> does it work with *su* (as opposed to over ssh)?
>>
>> i.e. *su - bybass -c "/Path/To/bypass.sh** param1 param2"
>>
>> *also, more information is definitely required, especially why you are
>> trying to use this script as the default user shell, which does not sound
>> like best practices...
>>
>> a shell is a shell, and a script is a script. if you want to run something
>> by default whenever the user logs in, then just use /bin/bash as the default
>> shell, and then set up whatever you need in the user's respective *
>> .bashrc*
>>
>> please someone correct me if i am mistaken.
>>
>
> I beg to differ.
>
> It's legitimate to assign a special script as a login shell when you want
> to limit the user to just executing that command when logging in.
> e.g. "/bin/nologin" or "/bin/halt".
>
> The script should probably be pretty secure to prevent leaks (e.g. allow
> injection of code via unquoted input).
>
> I just created a user "testuser" on my desktop, assigned it a password,
> made sure it has a home directory and a file named .hushlogin under it and
> set its shell to the following script:
>
> #!/bin/bash
> echo Arguments: "$*"
>
> And when I ssh to it I get:
>
> # ssh testuser at localhost arg1
> testuser at localhost's password:
> Arguments: -c arg1
>
> Seems to work fine. The OP will have to give more info to get help.
>
> --Amos
>
>
>> tom.
>>
>>
>>
>> 2009/12/6 Shay Ohayon <shay at shayohayon.net>
>>
>> Try running the command its parameters inside quotes (")
>>>
>>> for example: ssh user at host "command param1 paramN"
>>>
>>> I must say that it is quite difficult to provide you with a solution
>>> because I don't really know what the script does and how does it handles
>>> each parameter, it would be better if you can provide it to me.
>>>
>>> good luck
>>>
>>> shay
>>>
>>>
>>> On Sun, Dec 6, 2009 at 5:31 PM, eliyahu cohen <eliyahu.cohen1 at yahoo.com>wrote:
>>>
>>>> I have a user called bypass whose defined shell in /etc/passwd is
>>>> /Path/To/bypass.sh
>>>>
>>>> that script takes three parameters. When I run the script from the
>>>> command line the script identifies the parameters. However, when the script
>>>> is run via an ssh command (i.e. ssh bypass at 10.1.1.1 Parm1 Parm2 Parm2)
>>>> the script does not see all three parameters. I've also tried calling the
>>>> script via ssh bypass at 10.1.1.1 /Path/To/bypass.sh Parm1 Parm2 Parm3,
>>>> but no joy. How can I have a script run as the users shell and execute
>>>> multiple receieved parameters?
>>>>
>>>> Thanks,
>>>>
>>>> Eliyahu
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Linux-il mailing list
>>>> Linux-il at cs.huji.ac.il
>>>> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>>>>
>>>
>>>
>>> _______________________________________________
>>> Linux-il mailing list
>>> Linux-il at cs.huji.ac.il
>>> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>>>
>>>
>>
>> _______________________________________________
>> Linux-il mailing list
>> Linux-il at cs.huji.ac.il
>> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cs.huji.ac.il/pipermail/linux-il/attachments/20091208/1a902cc2/attachment.html>
More information about the Linux-il
mailing list