Execute and lock a user into a program upon login

Polytropon freebsd at edvax.de
Fri Mar 13 18:18:40 PDT 2009

On Fri, 13 Mar 2009 21:12:07 -0400, Steve Bertrand <steve at ibctech.ca> wrote:
> Steve Bertrand wrote:
> > Hi everyone,
> > 
> > Although the application of my question focuses on network operation, I
> > believe that the objective fits this list.
> > 
> > Mostly irrelevant, I have been working on securing my network perimeter.
> > I have a FreeBSD box that acts as a host-based BGP peer to all edge
> > connected routers.
> > 
> > I use this host-based Quagga FBSD router to distribute routes that are
> > to be blackholed by the edge devices.
> > 
> > What I want is to set up an environment so that when a specific user
> > logs in to the box via SSH, a command is run, and they immediately get
> > dropped into the environment that the command produces.
> > 
> > When they exit this 'command', the login session is dropped.
> > 
> > Essentially, I want to 'lock' a user into a program upon SSH login, and
> > drop them from the SSH session when the program terminates.
> > 
> > In essence:
> > 
> > - user 'router' connects via SSH
> > - user is dropped into the application 'vtysh'
> > - user performs operations
> > - user exits from program
> > - shell drops (ie. user does not have to exit the csh shell to drop the
> > SSH connection)
> I probably should have explicitly stated that I'd like help as to how I
> would go about doing what I want to do, instead of simply stating my
> goals ;)

If the user's shell is csh (FreeBSD's standard dialog shell), you
could achieve the goal:


Only problem: I don't know how the shell will act when the user
terminates the vtysh application (^C)...

Idea: When the application vtysh is terminated, the next command
in the .login file will be executed, which is the logout command
that will cause the login shell to exit. This will close the SSH
connection as well.

(I haven't checked this, sorry.)

>From Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list