Re: Interactive vs non-interactive shell for users

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 04, 2003 at 08:01:14PM -0500, Dan G wrote:
> I understand that a shel like /bin/bash is interactive since it provides
> login and command execution for the user. What happens if you set a user's
> login shell to a non-interactive shell like /bin/sh. Does this allow script
> execution and login but no command execution?
> 
Hi Dan,
Slight misconception here. All the many shells are interactive, bash,
sh, tcsh, ksh, zsh ... etc. They are non-interactive when used to run
canned scripts either by directly using the shell command name to run
the script or writing a script with the very first line conatining the
special construct "#!name_of_shell.

/bin/sh harks back to the Bourne shell, the original Unix shell and as
such is rarely used interactively, since it lacks many of the features
which people are now used to, command recall, history mechanism, extra
language features etc. The tcsh is also very popular in the BSD world
because of it's history, although it does not work in quie the same way.

Bash is an eclectic mixture of these many shells, and despite it's
hugeness is of course very popular. The manual page complains that it is
too slow, but I don't think anyone really notices that too much. It *is*
big however.

/bin/sh is used in scripts because it is de-facto a standard shell,
although I suppose one day Posix conformance will take over. So it is
prudent to write shell scripts using /bin/sh for portability etc. 
No sane-person uses tcsh to write scripts in, it is obscure and arcane
and riddled with problems..but is also an excellent interactive shell.

Bash can be made to work in sh/posix compatible mode using a suitable
flag.

Then there is the zsh, which really is the bees-knees of all
shells...but hardly known about.

If you want to restrict users in some way to what they can do, examine
the use of the "restricted" shell options, or the use of chroot
environments. Or write a shell script that locks them inside it somehow
and disallows certain commands.

-- 
Regards
   Cliff Sarginson 
   The Netherlands

[ This mail has been checked as virus-free ]



-- 
Psyche-list mailing list
Psyche-list@redhat.com
https://listman.redhat.com/mailman/listinfo/psyche-list

[Index of Archives]     [Fedora General Discussion]     [Red Hat General Discussion]     [Centos]     [Kernel]     [Red Hat Install]     [Red Hat Watch]     [Red Hat Development]     [Red Hat 9]     [Gimp]     [Yosemite News]

  Powered by Linux