I used to access this Ubuntu 8.04 server that had a very limited Shell. For instance you couldn't key up,down shell history, you couldn't tab guess commands, etc.

I would like to customized the Ssell inv for my users that ssh into my server, but how?

link|improve this question
Your question seems unrelated to the first paragraph. In addition, you don't provide any details on your server or its setup. Unless your server is the Ubuntu 8.04 machine, but the way it's worded this doesn't sound like the case. – karategeek6 Sep 20 '11 at 18:25
use chsh(1) to change the login shell of user's accounts – knittl Sep 20 '11 at 18:26
Also, probably better suited for unix.stackexchange.com/faq – karategeek6 Sep 20 '11 at 18:27
Do you want to set up fully functional shell for all your users who login by ssh? Set their shell to /bin/bash then. So they will get auto-completion, command history, etc. What's their current shell? You can see it in /etc/passwd file. – Dmitry Alexeyev Sep 20 '11 at 19:08
feedback

migrated from stackoverflow.com Sep 20 '11 at 18:55

This question came from our site for professional and enthusiast programmers.

2 Answers

The terminology you are looking for is Restricted Shell. There are a number of ways to implement restrictions, depending on what you need. One easy approach is to run Bash in restricted mode.

link|improve this answer
feedback

The shell started by ssh is the users' login shell. It is set via the login shell entry of the passwd file/database (when you don't do anything fancy, it's in /etc/passwd and can be modified by chsh). The shell you describe sounds very much like the basic /bin/sh that is also used in script execution.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown