Newsgroup: it.comp.os.linux.sys
Titolo: creazione utenti  in ambiente chroot

Ciao ragazzi sto provando a creare un utente in chroot per poi loggarmi da
telnet o anche da locale con funzioni limitate...ma dopo la procedura
sottoelencata il risultato è questo quando mi loggo da remoto od anche in
locale (slack 9.1):
Pluto login: fakedani
Password:
Linux 2.4.22.
No mail.
Sorry.
Connessione all'host perduta.
C:\Documents and Settings\pippo>
Requirements
sudo
su
chroot
bash (other /bin/sh's have been reported to work)
Overview
When a login is attempted, this is the course of events:
login -> sudo(root) -> chroot $HOME su $USER
Step-By-Step Process
Make a faux shell, I call it /bin/chroot-shell. Here is the shell script I
use:
#!/bin/bash
if [ "$1" = "-c" ]; then
        i=0;
        PARAMS="";
        for param in $*; do
                if [ $i -gt 0 ]; then
                        PARAMS="$PARAMS $param";
                fi
                let i++;
        done;
        sudo /usr/sbin/chroot /home/$USER /bin/su - $USER -c "$PARAMS"
else
        sudo /usr/sbin/chroot /home/$USER /bin/su - $USER
fi;
Add a user. Example:
useradd -d /tmp -s /bin/chroot-shell peon
This makes an entry in the /etc/passwd file like this:
peon:x:1004:1004::/tmp:/bin/chroot-shell
You should also set the password for the new account at this time:
passwd peon
Create a home directory.
mkdir /home/peon
mkdir /home/peon/etc
mkdir /home/peon/dev
mkdir /home/peon/bin
mkdir /home/peon/lib
mkdir /home/peon/usr
mkdir /home/peon/usr/bin
mkdir /home/peon/home
chown peon:peon /home/peon/home
Create a chroot passwd and group file
/home/peon/etc/passwd
root:x:0:0::/:/bin/bash
peon:x:1004:1004::/home:/bin/bash
/home/peon/etc/group
root:x:0:
peon:x:1004:
Install bash.
cp /bin/bash /home/peon/bin/
Unless you have a statically linked version of bash (which is doubtful),
you'll have to copy the required libraries to /home/peon/lib. To find out
what libraries are required, use ldd:
ldd /bin/bash
Install su.
cp /bin/su /home/peon/bin/
Unless you have a statically linked version of su (which is doubtful),
you'll have to copy the required libraries to /home/peon/lib. To find out
what libraries are required, use ldd:
ldd /bin/su
NOTE: at least with Slackware, for some reason the library
/lib/libnss_compat.so.2 is not listed as a required lib for su, but it IS
needed!
Grant sudo access to the new account
Add a line like the following:
peon ALL= NOPASSWD: /usr/sbin/chroot /home/peon /bin/su - peon*
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 locale (slack 9.1):
mmhh ... mumble mumble ....
la butto qui ...
in teoria potresti inserire come come comando al login un chroot su 
qualcos altro ... ricordo che facevo il boot con un CD, dopo facevo 
chroot sull'hard disk e mi ritrovato sull'altro linux nell'hard disk.
solo che non mi ricordo cosa succedeva dopo, ovvero se si poteva uscire 
dal chroot e restare ancora loggati.
--
Massimiliano.

 locale (slack 9.1):
non e' che per caso alle volte e' possibile "chrootare" SSH ??
--
Massimiliano.

> non e' che per caso alle volte e' possibile "chrootare" SSH ??
Bestemmiando non poco direi di si. Non ho links da darti. 
Chrootare ssh significa chrootare un'altra marea di roba ... librerie, file
di config, librerie di autenticazione ettc etccc e imho non serve ad una
beata cippa. Basta che tu non aggiorni il kernel e se esce una vuln e il
relativo exploit sei punto e a capo. Io preferisco non dare accesso ssh.
Se devi dare accesso solo con sftp o scp, allora cerca scponly.
Dai post che fai mi sa che stai cercando di fare un hardening di un sistema
senza sapere i modi con cui si possono scalare i privilegi.
Rivolgerei la mia attenzione a cose diverse...
Avere una macchina sicura non vuol dire chrootare tutto!
Salumi,
Max