from small one page howto to huge articles all in one place
 

search text in:




Other .linuxhowtos.org sites: www.linuxhowtos.org
toolsntoys.linuxhowtos.org



Last additions:
How to make X listen on port 6000

How to make X listen on port 6000

words:

34

views:

82143

userrating:

average rating: 1.2 (52 votes) (1=very good 6=terrible)


May, 25th 2007:
April, 26th 2007:
Apr, 10th. 2007:
Druckversion . pdf icon
You are here: Tutorials per portage category->net-misc->openssh

Create a chrooted ssh user

This tutorial explains how to install and configure a chroot enviroment for an ssh user. This setup enables you to give out ssh accounts without having to fear that this user can see all files on the system.

Installing ssh

First you need to have a patched version of the sshd server. Luckily these patches can be enabled with the use flag "chroot" in the sshd use flags.
#echo "net-misc/openssh chroot" >> /etc/portage/package.use
#emerge openssh

creating the chroot enviroment

We will create our chroot enviroment in /home/chroot.
To make the chroot work, run the following commands to make the needed directories and devices for the chrooted user.
mkdir /home/chroot/
mkdir /home/chroot/home/
cd /home/chroot
mkdir etc
mkdir bin
mkdir lib
mkdir usr
mkdir usr/bin
mkdir dev
mknod dev/null c 1 3
mknod dev/zero c 1 5

Now we need to populate the directories with some binaries.
copy the following script into a file. If you need more apps, add them
to the APPS line.

APPS="/bin/bash /bin/ls /bin/mkdir /bin/mv /bin/pwd /bin/rm /usr/bin/id /usr/bin/ssh /bin/ping /usr/bin/dircolors"
for prog in $APPS; do
cp $prog ./$prog

# obtain a list of related libraries
ldd $prog > /dev/null
if [ "$?" = 0 ] ; then
LIBS=`ldd $prog | awk '{ print $3 }'`
for l in $LIBS; do
mkdir ./`dirname $l` > /dev/null 2>&1
cp $l ./$l
done
fi
done

After you have run the script, your chroot enviroment is almost done.
run

cp /lib/libnss_compat.so.2 /lib/libnsl.so.1 /lib/libnss_files.so.2 ./lib/
echo '#!/bin/bash' > usr/bin/groups
echo "id -Gn" >> usr/bin/groups
touch etc/passwd
grep /etc/passwd -e "^root" > etc/passwd
to copy some libraries and user information into the chroot.
You should also copy the line of the group in which you will create new users from /etc/group to /home/chroot/etc/group. In this tutorial we will create users in the group users, so we do this:
grep /etc/group -e "^root" -e "^users" > etc/group

and restart SSH:
/etc/init.d/ssh restart

Creating chrooted users

ssh decides which user should be chrooted and which not by the "home directory" entry in the /etc/passwd.
Example for a non-chrooted user:
user_a:x:2002:100:User A:/home/user_a:/bin/bash
This user will be chrooted:
user_b:x:2003:100:User B:/home/chroot/./home/user_b:/bin/bash
Now lets add a testuser to the chrooted user list:
useradd -s /bin/bash -m -d /home/chroot/./home/testuser -c "testuser" -g users testuser

Then we give testuser a password:
passwd testuser

Finally, we have to copy the line for testuser in /etc/passwd to /home/chroot/etc/passwd:
grep /etc/passwd -e "^testuser" >> /home/chroot/etc/passwd


Now log in as testuser and see if everything worked.

Have fun
rate this article:
current rating: average rating: 1.3 (71 votes) (1=very good 6=terrible)
Your rating:
Very good (1) Good (2) ok (3) average (4) bad (5) terrible (6)

back



Support us on Content Nation

New Packages

- as rdf newsfeed
- as rss newsfeed
- as Atom newsfeed
2025-11-25
bash - 5.4_alpha_pre20251124
Ebuild name:

app-shells/bash-5.4_alpha_pre20251124

Description

The standard GNU Bourne again shell

Added to portage

2025-11-25

dist-kernel - 6.12.59
Ebuild name:

virtual/dist-kernel-6.12.59

Description

Virtual to depend on any Distribution Kernel

Added to portage

2025-11-25

dist-kernel - 6.17.9
Ebuild name:

virtual/dist-kernel-6.17.9

Description

Virtual to depend on any Distribution Kernel

Added to portage

2025-11-25

dist-kernel - 6.6.117
Ebuild name:

virtual/dist-kernel-6.6.117

Description

Virtual to depend on any Distribution Kernel

Added to portage

2025-11-25

gentoo-kernel - 6.12.59
Ebuild name:

sys-kernel/gentoo-kernel-6.12.59

Description

Linux kernel built with Gentoo patches

Added to portage

2025-11-25

gentoo-kernel - 6.17.9
Ebuild name:

sys-kernel/gentoo-kernel-6.17.9

Description

Linux kernel built with Gentoo patches

Added to portage

2025-11-25

gentoo-kernel - 6.6.117
Ebuild name:

sys-kernel/gentoo-kernel-6.6.117

Description

Linux kernel built with Gentoo patches

Added to portage

2025-11-25

gentoo-kernel-bin - 6.12.59
Ebuild name:

sys-kernel/gentoo-kernel-bin-6.12.59

Description

Pre-built Linux kernel with Gentoo patches

Added to portage

2025-11-25

gentoo-kernel-bin - 6.17.9
Ebuild name:

sys-kernel/gentoo-kernel-bin-6.17.9

Description

Pre-built Linux kernel with Gentoo patches

Added to portage

2025-11-25

gentoo-kernel-bin - 6.6.117
Ebuild name:

sys-kernel/gentoo-kernel-bin-6.6.117

Description

Pre-built Linux kernel with Gentoo patches

Added to portage

2025-11-25

gtk - 4.20.3-r1
Ebuild name:

gui-libs/gtk-4.20.3-r1

Description

GTK is a multi-platform toolkit for creating graphical user interfaces

Added to portage

2025-11-25

ktextaddons - 1.8.0
Ebuild name:

dev-libs/ktextaddons-1.8.0

Description

Various text handling addons

Added to portage

2025-11-25

mlt - 7.34.1-r1
Ebuild name:

media-libs/mlt-7.34.1-r1

Description

Open source multimedia framework for television broadcasting

Added to portage

2025-11-25

mpvqt - 1.1.1-r1
Ebuild name:

media-libs/mpvqt-1.1.1-r1

Description

libmpv wrapper for QtQuick2 and QML

Added to portage

2025-11-25

nghttp3 - 1.13.1
Ebuild name:

net-libs/nghttp3-1.13.1

Description

HTTP/3 library written in C

Added to portage

2025-11-25

ngtcp2 - 1.18.0
Ebuild name:

net-libs/ngtcp2-1.18.0

Description

Implementation of the IETF QUIC Protocol

Added to portage

2025-11-25

qtcurve - 1.9.0_p20250314-r2
Ebuild name:

x11-themes/qtcurve-1.9.0_p20250314-r2

Description

Widget styles for Qt and GTK2

Added to portage

2025-11-25

vanilla-kernel - 6.12.59
Ebuild name:

sys-kernel/vanilla-kernel-6.12.59

Description

Linux kernel built from vanilla upstream sources

Added to portage

2025-11-25

vanilla-kernel - 6.17.9
Ebuild name:

sys-kernel/vanilla-kernel-6.17.9

Description

Linux kernel built from vanilla upstream sources

Added to portage

2025-11-25

vanilla-kernel - 6.6.117
Ebuild name:

sys-kernel/vanilla-kernel-6.6.117

Description

Linux kernel built from vanilla upstream sources

Added to portage

2025-11-25

2025-11-24
algol68g - 3.10.7
Ebuild name:

dev-lang/algol68g-3.10.7

Description

Algol 68 Genie compiler-interpreter

Added to portage

2025-11-24

bandit - 1.9.2
Ebuild name:

dev-python/bandit-1.9.2

Description

A security linter from OpenStack Security

Added to portage

2025-11-24

bash - 5.4_alpha_pre20251119
Ebuild name:

app-shells/bash-5.4_alpha_pre20251119

Description

The standard GNU Bourne again shell

Added to portage

2025-11-24

cantera - 3.2.0
Ebuild name:

sci-libs/cantera-3.2.0

Description

Object-oriented tool suite for chemical kinetics, thermodynamics, and transp

Added to portage

2025-11-24

commandergenius - 3.6.1
Ebuild name:

games-arcade/commandergenius-3.6.1

Description

Open Source Commander Keen clone (needs original game files)

Added to portage

2025-11-24

discord - 0.0.115-r1
Ebuild name:

net-im/discord-0.0.115-r1

Description

All-in-one voice and text chat for gamers

Added to portage

2025-11-24

elogind - 255.22
Ebuild name:

sys-auth/elogind-255.22

Description

The systemd project's logind, extracted to a standalone package

Added to portage

2025-11-24

enscript - 1.6.6-r2
Ebuild name:

app-text/enscript-1.6.6-r2

Description

Powerful text-to-postscript converter

Added to portage

2025-11-24

gcc - 16.0.0_p20251123
Ebuild name:

sys-devel/gcc-16.0.0_p20251123

Description

The GNU Compiler Collection

Added to portage

2025-11-24

git-sources - 6.18_rc7
Ebuild name:

sys-kernel/git-sources-6.18_rc7

Description

The very latest -git version of the Linux kernel

Added to portage

2025-11-24

highfive - 2.10.1-r1
Ebuild name:

sci-libs/highfive-2.10.1-r1

Description

Header-only C++ interface for libhdf5

Added to portage

2025-11-24

highfive - 2.8.0-r1
Ebuild name:

sci-libs/highfive-2.8.0-r1

Description

Header-only C++ interface for libhdf5

Added to portage

2025-11-24

highfive - 3.2.0
Ebuild name:

sci-libs/highfive-3.2.0

Description

Header-only C++ interface for libhdf5

Added to portage

2025-11-24

mesa-amber - 21.3.9-r3
Ebuild name:

media-libs/mesa-amber-21.3.9-r3

Description

OpenGL-like graphic library for Linux

Added to portage

2025-11-24

mkdocs-gen-files - 0.6.0
Ebuild name:

dev-python/mkdocs-gen-files-0.6.0

Description

MkDocs plugin to programmatically generate documentation pages du

Added to portage

2025-11-24

mutt - 2.2.16
Ebuild name:

mail-client/mutt-2.2.16

Description

A small but very powerful text-based mail client

Added to portage

2025-11-24

nginx-unit - 1.35.0-r1
Ebuild name:

www-servers/nginx-unit-1.35.0-r1

Description

Dynamic web and application server

Added to portage

2025-11-24

plz - 0.7.2
Ebuild name:

app-emacs/plz-0.7.2

Description

HTTP library with curl backend for GNU Emacs

Added to portage

2025-11-24

postfix - 3.11_pre20251122
Ebuild name:

mail-mta/postfix-3.11_pre20251122

Description

A fast and secure drop-in replacement for sendmail

Added to portage

2025-11-24

pqiv - 2.13.3
Ebuild name:

media-gfx/pqiv-2.13.3

Description

A powerful GTK 3 based command-line image viewer with a minimal UI

Added to portage

2025-11-24

pv - 1.10.2
Ebuild name:

sys-apps/pv-1.10.2

Description

Pipe Viewer a tool for monitoring the progress of data through a pipe

Added to portage

2025-11-24

pylast - 7.0.0
Ebuild name:

dev-python/pylast-7.0.0

Description

Python interface to last.fm and other api-compatible websites

Added to portage

2025-11-24

pypdf - 6.4.0
Ebuild name:

dev-python/pypdf-6.4.0

Description

Python library to work with PDF files

Added to portage

2025-11-24

pytest-golden - 1.0.0
Ebuild name:

dev-python/pytest-golden-1.0.0

Description

Plugin for pytest that offloads expected outputs to data files

Added to portage

2025-11-24

pytest-reserial - 0.5.1
Ebuild name:

dev-python/pytest-reserial-0.5.1

Description

Pytest plugin for recording and replaying serial port traffic duri

Added to portage

2025-11-24

racket - 9.0
Ebuild name:

dev-scheme/racket-9.0

Description

General purpose, multi-paradigm Lisp-Scheme programming language

Added to portage

2025-11-24

rclone - 1.72.0
Ebuild name:

net-misc/rclone-1.72.0

Description

A program to sync files to and from various cloud storage providers

Added to portage

2025-11-24

restructuredtext-lint - 2.0.2
Ebuild name:

dev-python/restructuredtext-lint-2.0.2

Description

Checks PyPI validity of reStructuredText

Added to portage

2025-11-24

rpm - 4.20.1-r2
Ebuild name:

app-arch/rpm-4.20.1-r2

Description

The RPM Package Manager

Added to portage

2025-11-24

rpm - 6.0.0-r1
Ebuild name:

app-arch/rpm-6.0.0-r1

Description

The RPM Package Manager

Added to portage

2025-11-24

scream - 4.0-r2
Ebuild name:

media-sound/scream-4.0-r2

Description

Plays sound received from network or from a QEMU Windows VM

Added to portage

2025-11-24

scribus - 1.7.1_pre20251119
Ebuild name:

app-office/scribus-1.7.1_pre20251119

Description

Desktop publishing (DTP) and layout program

Added to portage

2025-11-24

secretstorage - 3.5.0
Ebuild name:

dev-python/secretstorage-3.5.0

Description

Python bindings to FreeDesktop.org Secret Service API

Added to portage

2025-11-24

sourcegit - 2025.38
Ebuild name:

dev-vcs/sourcegit-2025.38

Description

Open Source Git GUI client using .NET AvaloniaUI

Added to portage

2025-11-24

sphinxcontrib-mermaid - 1.2.2
Ebuild name:

dev-python/sphinxcontrib-mermaid-1.2.2

Description

Sphinx spelling extension

Added to portage

2025-11-24

stellarium - 25.3-r1
Ebuild name:

sci-astronomy/stellarium-25.3-r1

Description

3D photo-realistic skies in real time

Added to portage

2025-11-24

sundials - 7.5.0
Ebuild name:

sci-libs/sundials-7.5.0

Description

Suite of nonlinear solvers

Added to portage

2025-11-24

syd - 3.45.1
Ebuild name:

sys-apps/syd-3.45.1

Description

seccomp and landlock based application sandbox with support for namespaces

Added to portage

2025-11-24

thin-provisioning-tools - 1.3.1
Ebuild name:

sys-block/thin-provisioning-tools-1.3.1

Description

A suite of tools for thin provisioning on Linux

Added to portage

2025-11-24

timescaledb - 2.23.1
Ebuild name:

dev-db/timescaledb-2.23.1

Description

Open-source time-series SQL database

Added to portage

2025-11-24

tinycss2 - 1.5.1
Ebuild name:

dev-python/tinycss2-1.5.1

Description

A complete yet simple CSS parser for Python

Added to portage

2025-11-24

wayland-protocols - 1.46
Ebuild name:

dev-libs/wayland-protocols-1.46

Description

Wayland protocol files

Added to portage

2025-11-24

xapian - 1.4.30
Ebuild name:

dev-libs/xapian-1.4.30

Description

Xapian Probabilistic Information Retrieval library

Added to portage

2025-11-24

xapian-bindings - 1.4.30
Ebuild name:

dev-libs/xapian-bindings-1.4.30

Description

SWIG and JNI bindings for Xapian

Added to portage

2025-11-24

xapian-omega - 1.4.30
Ebuild name:

app-text/xapian-omega-1.4.30

Description

An application built on Xapian, consisting of indexers and a CGI searc

Added to portage

2025-11-24

zfs - 2.2.9
Ebuild name:

sys-fs/zfs-2.2.9

Description

Userland utilities for ZFS Linux kernel module

Added to portage

2025-11-24

zfs-kmod - 2.2.9
Ebuild name:

sys-fs/zfs-kmod-2.2.9

Description

Linux ZFS kernel module for sys-fs/zfs

Added to portage

2025-11-24

rdf newsfeed | rss newsfeed | Atom newsfeed
- Powered by LeopardCMS - Running on Gentoo -
Copyright 2004-2020 Sascha Nitsch Unternehmensberatung GmbH
Valid XHTML1.1 : Valid CSS : buttonmaker
- Level Triple-A Conformance to Web Content Accessibility Guidelines 1.0 -
- Copyright and legal notices -
Time to create this page: 55.0 ms