Editor With NO Shell Access?
jrisom at gmail.com
Tue Mar 13 16:20:44 UTC 2012
On 3/13/2012 10:43 AM, Tim Daneliuk wrote:
> On 03/13/2012 01:39 AM, Joshua Isom wrote:
>> On 3/12/2012 5:23 PM, Polytropon wrote:
>>> On Mon, 12 Mar 2012 15:19:51 -0700, Edward M. wrote:
>>>> On 03/12/2012 03:10 PM, Polytropon wrote:
>>>>> /etc/shells to work, but a passwd entry like
>>>> I think this would not let the user to login,etc
>>> I'm not sure... I assume logging in is handled by /usr/bin/login,
>>> and control is then (i. e. after successful login) transferred
>>> to the login shell, which is the program specified in the
>>> "shell" field (see "man 5 passwd") of /etc/passwd. How is
>>> login supposed to know if the program specified in this
>>> field is actually a dialog shell?
>>>> From "man 1 login" I read that many shells have a built-in
>>> login command, but /usr/bin/login is the system's default
>>> binary for this purpose if the "shell" (quotes deserved if
>>> it is an editor as shown in my assumption) has no capability
>>> of performing a login.
>> Are they logging in from the console or from ssh? If it's from a
>> console, I'd send them directly into a jail with limited file system
>> access, so that excecutables don't matter. If it's from ssh, I'd do
>> the same thing.
>> Assume they can break out of the editor or that something will happen.
>> Make it minimalist about what they can do. Use the /rescue/vi in an
>> empty jail with the files available. Don't think about changing
>> editors, change the system.
> That's a really good idea, but we're talking about almost 1000 systems
> here. That's a whole bunch of configuration...
Here's the simplified form.
mkdir -p /edit_jail/usr/share/misc
mkdir -p /edit_jail/var/tmp
cp /usr/share/misc/termcap* /edit_jail/usr/share/misc/
cp /rescue/vi /edit_jail
mount_nullfs /allowable_files /edit_jail/files
jail -c path=/edit_jail command=/vi
Only the last command would need to be done at login. If you want a
different editor, you'll have to deal with libraries, etc. Most only
need libc and libncurses so it's not that big a deal.
More information about the freebsd-questions