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:

82140

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-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

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

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

gtk - 4.20.3
Ebuild name:

gui-libs/gtk-4.20.3

Description

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

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

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

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

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

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

2025-11-23
breeze - 6.5.3-r1
Ebuild name:

kde-plasma/breeze-6.5.3-r1

Description

Breeze visual style for the Plasma desktop

Added to portage

2025-11-23

cpptrace - 1.0.4
Ebuild name:

dev-cpp/cpptrace-1.0.4

Description

Simple, portable, and self-contained stacktrace library for C++11 and newer

Added to portage

2025-11-23

ffmpeg - 6.1.4
Ebuild name:

media-video/ffmpeg-6.1.4

Description

Complete solution to record/convert/stream audio and video

Added to portage

2025-11-23

ffmpeg-compat - 6.1.4
Ebuild name:

media-video/ffmpeg-compat-6.1.4

Description

Complete solution to record/convert/stream audio and video

Added to portage

2025-11-23

gcc - 13.4.1_p20251120
Ebuild name:

sys-devel/gcc-13.4.1_p20251120

Description

The GNU Compiler Collection

Added to portage

2025-11-23

gcc - 14.3.1_p20251121
Ebuild name:

sys-devel/gcc-14.3.1_p20251121

Description

The GNU Compiler Collection

Added to portage

2025-11-23

gcc - 15.2.1_p20251122
Ebuild name:

sys-devel/gcc-15.2.1_p20251122

Description

The GNU Compiler Collection

Added to portage

2025-11-23

huggingface_hub - 1.1.5
Ebuild name:

sci-ml/huggingface_hub-1.1.5

Description

a client library to interact with the Hugging Face Hub

Added to portage

2025-11-23

odamex - 11.2.0
Ebuild name:

games-engines/odamex-11.2.0

Description

Online multiplayer free software engine for DOOM

Added to portage

2025-11-23

protontricks - 1.13.1
Ebuild name:

app-emulation/protontricks-1.13.1

Description

app-emulation/winetricks wrapper for Proton (Steam Play) games

Added to portage

2025-11-23

qtile - 0.34.0
Ebuild name:

x11-wm/qtile-0.34.0

Description

A full-featured, hackable tiling window manager written in Python

Added to portage

2025-11-23

rq - 2.6.1
Ebuild name:

dev-python/rq-2.6.1

Description

Simple, lightweight library for creating and processing background jobs

Added to portage

2025-11-23

stormlib - 9.31
Ebuild name:

app-arch/stormlib-9.31

Description

Library to read and write MPQ archives (Diablo, StarCraft)

Added to portage

2025-11-23

tg_owt - 0_pre20251117
Ebuild name:

media-libs/tg_owt-0_pre20251117

Description

WebRTC build for Telegram

Added to portage

2025-11-23

tpm-tools - 1.3.9.2-r1
Ebuild name:

app-crypt/tpm-tools-1.3.9.2-r1

Description

TrouSerS' support tools for the Trusted Platform Modules

Added to portage

2025-11-23

tpm2-abrmd - 3.0.0-r2
Ebuild name:

app-crypt/tpm2-abrmd-3.0.0-r2

Description

TPM2 Access Broker & Resource Manager

Added to portage

2025-11-23

tpm2-openssl - 1.3.0
Ebuild name:

app-crypt/tpm2-openssl-1.3.0

Description

OpenSSL Provider for TPM2 integration

Added to portage

2025-11-23

tpm2-pkcs11 - 1.9.1
Ebuild name:

app-crypt/tpm2-pkcs11-1.9.1

Description

A PKCS11 interface for TPM2 hardware

Added to portage

2025-11-23

uri - 4.4.0-r1
Ebuild name:

dev-ml/uri-4.4.0-r1

Description

An RFC3986 URI/URL parsing library

Added to portage

2025-11-23

vivaldi-snapshot - 7.8.3872.3
Ebuild name:

www-client/vivaldi-snapshot-7.8.3872.3

Description

A browser for our friends

Added to portage

2025-11-23

weechat - 4.7.2
Ebuild name:

net-irc/weechat-4.7.2

Description

Portable and multi-interface IRC client

Added to portage

2025-11-23

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: 45.3 ms